New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

cnj-validate

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cnj-validate

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

latest
Source
npmnpm
Version
1.0.4
Version published
Maintainers
1
Created
Source

🏛️ cnj-validate

npm version License: MIT TypeScript Node.js

Biblioteca TypeScript para validação e análise de números de processos CNJ (Conselho Nacional de Justiça) do Brasil

⚡ Quick Start

npm install cnj-validate
import { validateCNJ, analyzeCNJ } from 'cnj-validate'

// Validação simples
const isValid = validateCNJ('0001327-64.2018.8.26.0158').isValid // true

// Análise completa
const analysis = analyzeCNJ('0001327-64.2018.8.26.0158')
console.log(analysis.segmentName) // "Justiça dos Estados..."
console.log(analysis.detailed.district) // "São Paulo"

🔧 CLI Tool

# Instalar globalmente
npm install -g cnj-validate

# Processar arquivo CSV
cnj-process input.csv output.csv

# Ou usar npx (sem instalar)
npx cnj-validate@latest input.csv

✨ Características

  • 🎯 Validação precisa segundo regras oficiais do CNJ
  • 📊 Análise detalhada com informações jurisdicionais completas
  • Alto desempenho - 58.000+ CNJs/segundo
  • 💾 Zero dependências - biblioteca leve (117kB)
  • 🛡️ Type-safe - TypeScript nativo
  • 🧪 Confiável - 387 testes automatizados
  • 🌐 Universal - Node.js, browsers, qualquer framework
  • 📦 Moderno - CommonJS + ESM exports

💻 Uso Básico

Validação Simples

import { validateCNJ, isValidCNJ } from 'cnj-validate'

// Validação completa
const result = validateCNJ('0001327-64.2018.8.26.0158')
console.log(result.isValid) // true

// Validação rápida (apenas boolean)
const isValid = isValidCNJ('0001327-64.2018.8.26.0158')
console.log(isValid) // true

Análise Completa

import { analyzeCNJ } from 'cnj-validate'

const analysis = analyzeCNJ('0001327-64.2018.8.26.0158')

console.log(analysis.segmentName) // "Justiça dos Estados e do Distrito Federal e Territórios"
console.log(analysis.detailed.district) // "São Paulo"
console.log(analysis.detailed.uf) // "SP"

Formatação

import { formatCNJ, normalizeCNJ } from 'cnj-validate'

// Formatar CNJ não formatado
const formatted = formatCNJ('00013276420188260158')
console.log(formatted) // "0001327-64.2018.8.26.0158"

// Remover formatação
const normalized = normalizeCNJ('0001327-64.2018.8.26.0158')
console.log(normalized) // "00013276420188260158"

Processamento CSV

import { processCSV, generateCSV } from 'cnj-validate'

// Processar arquivo CSV
const csvContent = `0001327-64.2018.8.26.0158
0001328-49.2018.8.26.0158`

const result = processCSV(csvContent)
console.log(result.validCount) // Número de CNJs válidos
console.log(result.invalidCount) // Número de CNJs inválidos

// Gerar CSV de análises
const analyses = [
  /* suas análises */
]
const csvOutput = generateCSV(analyses, true) // com cabeçalho

🔧 API Completa

Funções Principais

FunçãoDescriçãoRetorno
validateCNJ(cnj)Valida um número CNJValidationResult
analyzeCNJ(cnj)Análise completa do CNJAnalysisCNJ
isValidCNJ(cnj)Validação rápidaboolean
formatCNJ(cnj)Formatar CNJstring
decomposeCNJ(cnj)Decompor componentesDecomposedCNJ

Processamento CSV

FunçãoDescriçãoRetorno
processCSV(content, options)Processar arquivo CSVCSVProcessingResult
generateCSV(analyses, header)Gerar CSVstring
processCNJBatch(cnjs)Processar loteCSVProcessingResult

Utilitários

FunçãoDescriçãoRetorno
getSegment(code)Obter info do segmentoSegment
getDistrictInfo(key)Obter info do distritoDistrictInfo
formatCNJWithMask(cnj)Aplicar máscarastring

📁 Estrutura de Dados

AnalysisCNJ

interface AnalysisCNJ {
  receivedCNJ: string
  validCNJ: boolean
  segmentName: string
  segmentShort: string
  sourceUnitType: string
  sourceUnitNumber: string
  courtType: string
  courtNumber: string
  detailed: DecomposedCNJ
}

ValidationResult

interface ValidationResult {
  isValid: boolean
  expectedDigit?: string
  receivedDigit?: string
  error?: string
}

🚀 Integração com Frameworks

Next.js Server Actions

'use server'

import { analyzeCNJ } from 'cnj-validate'

export async function validateCNJAction(cnj: string) {
  try {
    const analysis = analyzeCNJ(cnj)
    return { success: true, analysis }
  } catch (error) {
    return { success: false, error: error.message }
  }
}

Next.js API Routes

// app/api/validate/route.ts
import { NextRequest, NextResponse } from 'next/server'
import { validateCNJ } from 'cnj-validate'

export async function POST(request: NextRequest) {
  const { cnj } = await request.json()

  const result = validateCNJ(cnj)

  return NextResponse.json(result)
}

React Hooks (Opcional)

'use client'

import { useState } from 'react'
import { validateCNJ, AnalysisCNJ } from 'cnj-validate'

export function useCNJValidation() {
  const [result, setResult] = useState<AnalysisCNJ | null>(null)
  const [loading, setLoading] = useState(false)

  const validate = async (cnj: string) => {
    setLoading(true)
    try {
      const analysis = analyzeCNJ(cnj)
      setResult(analysis)
    } catch (error) {
      setResult(null)
    } finally {
      setLoading(false)
    }
  }

  return { result, loading, validate }
}

🧪 Testes

# Executar testes
npm test

# Executar com coverage
npm run test:coverage

# Executar em modo watch
npm run test:watch

📊 Performance

  • Validação simples: ~0.1ms
  • Análise completa: ~0.5ms
  • Processamento CSV (1000 linhas): ~500ms
  • Memory footprint: <1MB

🤝 Contribuição

  • Fork o projeto
  • Crie sua feature branch (git checkout -b feature/AmazingFeature)
  • Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  • Push para a branch (git push origin feature/AmazingFeature)
  • Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.

🛠️ CLI Usage

Após instalação global, use o comando cnj-process:

# Sintaxe básica
cnj-process <arquivo-entrada> [arquivo-saida]

# Exemplos
cnj-process processes.csv                    # Gera processes_processed.csv
cnj-process input.csv output.csv            # Arquivo customizado

# Resultado
✅ Processamento concluído!
📊 Total: 1000 CNJs
✅ Válidos: 987 (98.7%)
⚡ Velocidade: 58,432 CNJs/segundo
💾 Arquivo: output.csv

📚 Exemplos Práticos

Validação em Formulários

import { validateCNJ } from 'cnj-validate'

function validateProcessForm(cnj: string) {
  const result = validateCNJ(cnj)

  if (!result.isValid) {
    return `CNJ inválido: ${result.error}`
  }

  return 'CNJ válido!'
}

Processamento de Planilha

import { processFile } from 'cnj-validate'
import path from 'path'

async function processSpreadsheet() {
  try {
    const result = await processFile(
      path.join(__dirname, 'processes.csv'),
      path.join(__dirname, 'validated_processes.csv'),
    )

    console.log(`✅ ${result.statistics.validCNJs} CNJs válidos processados`)
    return result.outputFile
  } catch (error) {
    console.error('Erro no processamento:', error.message)
  }
}

🤝 Contributing

Contribuições são bem-vindas!

  • Fork o projeto
  • Crie sua feature branch (git checkout -b feature/amazing-feature)
  • Commit suas mudanças (git commit -m 'Add amazing feature')
  • Push para a branch (git push origin feature/amazing-feature)
  • Abra um Pull Request

📞 Support

📄 License

MIT © CNJ Validate Team

Desenvolvido com ❤️ para a comunidade jurídica brasileira

Keywords

cnj

FAQs

Package last updated on 28 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts