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
84 lines • 3.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SEGMENTS = void 0;
exports.getSegment = getSegment;
exports.isValidSegmentCode = isValidSegmentCode;
exports.getAllSegments = getAllSegments;
const segment_1 = require("../types/segment");
/**
* Mapeamento completo de segmentos do Poder Judiciário
*/
exports.SEGMENTS = {
[segment_1.SegmentCode.STF]: {
number: segment_1.SegmentCode.STF,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.STF],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.STF],
},
[segment_1.SegmentCode.CNJ]: {
number: segment_1.SegmentCode.CNJ,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.CNJ],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.CNJ],
},
[segment_1.SegmentCode.STJ]: {
number: segment_1.SegmentCode.STJ,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.STJ],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.STJ],
},
[segment_1.SegmentCode.TRF]: {
number: segment_1.SegmentCode.TRF,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.TRF],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.TRF],
},
[segment_1.SegmentCode.TRT]: {
number: segment_1.SegmentCode.TRT,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.TRT],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.TRT],
},
[segment_1.SegmentCode.TRE]: {
number: segment_1.SegmentCode.TRE,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.TRE],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.TRE],
},
[segment_1.SegmentCode.STM]: {
number: segment_1.SegmentCode.STM,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.STM],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.STM],
},
[segment_1.SegmentCode.TJ]: {
number: segment_1.SegmentCode.TJ,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.TJ],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.TJ],
},
[segment_1.SegmentCode.TJM]: {
number: segment_1.SegmentCode.TJM,
name: segment_1.SEGMENT_NAMES[segment_1.SegmentCode.TJM],
short: segment_1.SEGMENT_SHORTS[segment_1.SegmentCode.TJM],
},
};
/**
* Obtém informações de um segmento pelo código
*/
function getSegment(segmentCode) {
const code = typeof segmentCode === 'string' ? parseInt(segmentCode, 10) : segmentCode;
if (isNaN(code) || code < 1 || code > 9) {
return null;
}
return exports.SEGMENTS[code] || null;
}
/**
* Valida se um código de segmento é válido
*/
function isValidSegmentCode(code) {
const numCode = typeof code === 'string' ? parseInt(code, 10) : code;
return (!isNaN(numCode) &&
numCode >= 1 &&
numCode <= 9 &&
exports.SEGMENTS[numCode] !== undefined);
}
/**
* Lista todos os segmentos disponíveis
*/
function getAllSegments() {
return Object.keys(exports.SEGMENTS).map((key) => exports.SEGMENTS[parseInt(key, 10)]);
}
//# sourceMappingURL=segments.js.map