cnj-validate
Version:
Biblioteca TypeScript para validação e análise de números de processos em conformidade com o CNJ (Conselho Nacional de Justiça) do Brasil
68 lines • 3.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CNJValidationError = exports.CNJErrorType = void 0;
/**
* Tipos de erros específicos para validação CNJ
*/
var CNJErrorType;
(function (CNJErrorType) {
CNJErrorType["INVALID_FORMAT"] = "INVALID_FORMAT";
CNJErrorType["INVALID_LENGTH"] = "INVALID_LENGTH";
CNJErrorType["INVALID_VERIFYING_DIGIT"] = "INVALID_VERIFYING_DIGIT";
CNJErrorType["INVALID_SEGMENT"] = "INVALID_SEGMENT";
CNJErrorType["INVALID_COURT"] = "INVALID_COURT";
CNJErrorType["INVALID_SOURCE_UNIT"] = "INVALID_SOURCE_UNIT";
CNJErrorType["INVALID_YEAR"] = "INVALID_YEAR";
CNJErrorType["DISTRICT_NOT_FOUND"] = "DISTRICT_NOT_FOUND";
CNJErrorType["CALCULATION_ERROR"] = "CALCULATION_ERROR";
})(CNJErrorType || (exports.CNJErrorType = CNJErrorType = {}));
/**
* Classe de erro específica para validação CNJ
*/
class CNJValidationError extends Error {
constructor(type, message, code, details) {
super(message);
this.name = 'CNJValidationError';
this.type = type;
this.code = code || type;
this.details = details;
}
/**
* Cria erro para formato inválido
*/
static invalidFormat(received) {
return new CNJValidationError(CNJErrorType.INVALID_FORMAT, `Formato CNJ inválido: ${received}. Esperado: NNNNNNN-DD.AAAA.J.CT.0000 ou NNNNNNNDDAAAAJCT0000`, 'INVALID_FORMAT', { received });
}
/**
* Cria erro para tamanho inválido
*/
static invalidLength(received, expectedLength) {
return new CNJValidationError(CNJErrorType.INVALID_LENGTH, `Tamanho CNJ inválido: ${received.length}. Esperado: ${expectedLength} caracteres`, 'INVALID_LENGTH', { received, receivedLength: received.length, expectedLength });
}
/**
* Cria erro para dígito verificador inválido
*/
static invalidVerifyingDigit(received, expected) {
return new CNJValidationError(CNJErrorType.INVALID_VERIFYING_DIGIT, `Dígito verificador inválido. Recebido: ${received}, Esperado: ${expected}`, 'INVALID_VERIFYING_DIGIT', { received, expected });
}
/**
* Cria erro para segmento inválido
*/
static invalidSegment(segment) {
return new CNJValidationError(CNJErrorType.INVALID_SEGMENT, `Código de segmento inválido: ${segment}. Deve ser entre 1 e 9`, 'INVALID_SEGMENT', { segment });
}
/**
* Cria erro para tribunal inválido
*/
static invalidCourt(court, segment) {
return new CNJValidationError(CNJErrorType.INVALID_COURT, `Código de tribunal inválido: ${court} para segmento ${segment}`, 'INVALID_COURT', { court, segment });
}
/**
* Cria erro para distrito não encontrado
*/
static districtNotFound(key) {
return new CNJValidationError(CNJErrorType.DISTRICT_NOT_FOUND, `Distrito não encontrado para chave: ${key}`, 'DISTRICT_NOT_FOUND', { key });
}
}
exports.CNJValidationError = CNJValidationError;
//# sourceMappingURL=errors.js.map