validateDocumentListConsistency static method

int validateDocumentListConsistency(
  1. List<String> documentos
)

Valida uma lista de documentos para garantir que todos sejam do mesmo tipo Retorna o tipo comum (1 para CPF, 2 para CNPJ) ou lança exceção se houver inconsistência

Implementation

static int validateDocumentListConsistency(List<String> documentos) {
  if (documentos.isEmpty) {
    throw ArgumentError('Lista de documentos não pode estar vazia');
  }

  int? tipoComum;

  for (int i = 0; i < documentos.length; i++) {
    final documento = documentos[i];
    final tipoAtual = detectDocumentType(documento);

    if (tipoComum == null) {
      tipoComum = tipoAtual;
    } else if (tipoComum != tipoAtual) {
      throw ArgumentError(
        'Lista de documentos inconsistente: todos os documentos devem ser do mesmo tipo (CPF ou CNPJ). '
        'Documento na posição $i ($documento) é diferente do tipo esperado.',
      );
    }
  }

  return tipoComum!; // Garantido que não será null devido à validação acima
}