formatarDocumento static method
- dynamic documento
Formata um documento de acordo com o seu tipo.
O parâmetro documento
pode ser de qualquer tipo. O método verifica o tipo do documento
e retorna uma string formatada de acordo com o tipo.
Tipos:
- date: Retorna a data formatada no padrão brasileiro.
ChaveNFe
: Retorna a chave da NFe formatada com traços.NFe
: Retorna o número da NFe.- Estado: Retorna a UF do estado.
- Cidade: Retorna o nome da cidade.
- Endereco: Retorna o endereço formatado.
- Iterable: Retorna uma string com todos os elementos formatados e separados por virgula.
- Map: Retorna uma string com todas as chaves e valores formatados e separados por quebra de linha.
- String: Verifica se o documento é um CPF, CNPJ, CEP, EAN, PIS, CNH, ChaveNFe, Email, IP ou Telefone e formata de acordo. Se o documento for nulo, uma string vazia é retornada.
Implementation
static String formatarDocumento(dynamic documento) {
if (documento == null) return "";
if (documento is date) return formatarData(documento);
if (documento is Estado) return documento.uf;
if (documento is Cidade) return documento.nome;
if (documento is Endereco) return documento.toString();
if (documento is Iterable) return documento.map((e) => formatarDocumento(e)).join(", ");
if (documento is Map) return documento.entries.map((e) => "${flatString(e.key).isBlank ? "" : e.key.toString().pascalSplitString}: ${formatarDocumento(e.value)}").join("\r\n");
if (validarCPF(documento)) return formatarCPF(documento);
if (validarCNPJ(documento)) return formatarCNPJ(documento);
if (validarCEP(documento)) return formatarCEP(documento);
if (validarEAN(documento)) return formatarEAN(documento);
if (validarPIS(documento)) return formatarPIS(documento);
if (validarCNH(documento)) return formatarCNH(documento);
if (documento.toString().isEmail) return documento.toString().toLowerCase();
if (validarTelefone(documento)) return formatarTelefone(documento);
return "$documento";
}