telefonoToView static method

Map<String, dynamic> telefonoToView(
  1. String telefono
)

Esta funcion recibe un numero de telefono y lo descompone para ser visualizado parametros requiere el numero del telefono Se debe pasar numero completo con codigo del pais

Implementation

static Map<String, dynamic> telefonoToView(String telefono) {
  String newTelefono = telefono.replaceAll(RegExp(r'[+ ]{1}'), '').trim();
  if (!RegExpUtilsView.validaNumero(newTelefono) && newTelefono.isNotEmpty) {
    return {'CodigoPais': '', 'numero': newTelefono};
  }
  String codigoPais = '';
  EnvironmentView.lstCodigoPais.forEach((key, value) {
    if (newTelefono.startsWith(key)) {
      codigoPais = key;
      newTelefono = newTelefono.substring(key.length);
    }
  });

  if (newTelefono.length > 6) {
    String prefijoWhatsApp = '';
    if (newTelefono.startsWith('9')) {
      prefijoWhatsApp = '9';
      newTelefono = newTelefono.substring(1);
    }

    if (newTelefono.startsWith('11')) {
      newTelefono =
          '${newTelefono.substring(0, 2)} ${newTelefono.substring(2, 6)} ${newTelefono.substring(6)}';
    } else {
      newTelefono =
          '${newTelefono.substring(0, 4)} ${newTelefono.substring(4, 6)} ${newTelefono.substring(6)}';
    }
    newTelefono = '$prefijoWhatsApp $newTelefono'.trim();
  }

  return {'CodigoPais': codigoPais, 'numero': newTelefono};
}