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
64 lines • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSourceUnit = getSourceUnit;
exports.isValidSourceUnit = isValidSourceUnit;
exports.getSourceUnitTypeBySegment = getSourceUnitTypeBySegment;
const source_unit_1 = require("../types/source-unit");
/**
* Analisa e retorna informações sobre unidade de origem
* @param sourceUnit Código da unidade de origem (4 dígitos)
* @param segment Informações do segmento
* @returns Informações da unidade de origem
*/
function getSourceUnit(sourceUnit, segment) {
// Casos especiais: competência originária
if (isZeroSequence(sourceUnit)) {
return {
sourceUnitType: source_unit_1.SourceUnitType.COURT_UNIT_SINGLE,
sourceUnitNumber: sourceUnit,
};
}
if (isFirstDigit9(sourceUnit)) {
return {
sourceUnitType: source_unit_1.SourceUnitType.COURT_UNIT,
sourceUnitNumber: sourceUnit,
};
}
// Determina tipo baseado no segmento
const unitType = source_unit_1.SOURCE_UNIT_CONFIG[segment.number] || source_unit_1.SourceUnitType.CIVIL_UNIT;
return {
sourceUnitType: unitType,
sourceUnitNumber: sourceUnit,
};
}
/**
* Verifica se o primeiro dígito da unidade de origem é 9
* Indica competência originária da Turma Recursal
*/
function isFirstDigit9(sourceUnit) {
return sourceUnit[0] === '9';
}
/**
* Verifica se a unidade de origem é uma sequência de zeros
* Indica competência originária do Tribunal
*/
function isZeroSequence(sourceUnit) {
return sourceUnit === '0000';
}
/**
* Valida código de unidade de origem
* @param sourceUnit Código a ser validado
* @returns true se válido
*/
function isValidSourceUnit(sourceUnit) {
return /^\d{4}$/.test(sourceUnit);
}
/**
* Obtém descrição do tipo de unidade por segmento
* @param segmentNumber Número do segmento
* @returns Descrição do tipo de unidade
*/
function getSourceUnitTypeBySegment(segmentNumber) {
return source_unit_1.SOURCE_UNIT_CONFIG[segmentNumber] || source_unit_1.SourceUnitType.CIVIL_UNIT;
}
//# sourceMappingURL=source-unit-analyzer.js.map