formatarDocumentoComRotulo static method

string formatarDocumentoComRotulo({
  1. dynamic documento,
  2. string rotuloPadrao = "",
})

Formata um documento com um rótulo opcional.

O parâmetro documento pode ser um valor único, uma lista ou um mapa. Se documento for uma lista, cada elemento será formatado individualmente e separado por uma quebra de linha. Se documento for um mapa, a chave é utilizada como rótulo e o valor será formatado individualmente e separado por uma quebra de linha. O parâmetro rotuloPadrao é opcional e define um rótulo padrão para ser usado caso a chave do mapa seja vazia.

Retorna o documento formatado como uma string.

Implementation

static string formatarDocumentoComRotulo({dynamic documento, string rotuloPadrao = ""}) {
  if (documento is Iterable) {
    return documento.map((e) => formatarDocumentoComRotulo(documento: e, rotuloPadrao: rotuloPadrao)).join("\r\n");
  }
  if (documento is Map) {
    return documento.entries.map((e) => "${flatString(e.key).isBlank ? rotuloPadrao : e.key.toString().pascalSplitString}: ${e.value}").join("\r\n");
  }

  var rotulo = pegarRotuloDocumento(documento: documento, rotuloPadrao: rotuloPadrao);

  if (rotulo.isNotBlank) {
    return "$rotulo: ${formatarDocumento(documento)}";
  }
  return formatarDocumento(documento);
}