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

64 lines 2.16 kB
"use strict"; 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