UNPKG

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
"use strict"; 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