{"_id":"@casilhero/brazilian-validators","_rev":"2-3235b7aedd4cf39b1ba5684b26e9850e","name":"@casilhero/brazilian-validators","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@casilhero/brazilian-validators","version":"1.0.0","keywords":["brasil","brazil","cpf","cnpj","validators","validação","typescript"],"license":"MIT","_id":"@casilhero/brazilian-validators@1.0.0","maintainers":[{"name":"andrenunes01","email":"andre_nunes01@hotmail.com"}],"homepage":"https://github.com/casilhero/brazilian-validators#readme","bugs":{"url":"https://github.com/casilhero/brazilian-validators/issues"},"dist":{"shasum":"db1359ff7033491ddfefeb3b63293ea9a8da39c0","tarball":"https://registry.npmjs.org/@casilhero/brazilian-validators/-/brazilian-validators-1.0.0.tgz","fileCount":9,"integrity":"sha512-nPFIcK6USVNRbqut0SaqKTGG6at+f6KVaFCTfrmxGyuw6BBZV3aUnxYkL6lhKkyTqCuNXIBjyLvtS35krTfZ4g==","signatures":[{"sig":"MEUCID+uy4gSMYV7TW/9hLfuLlFCfma4k63GxQK7SzYjO0SIAiEAre4hvbYuQBN1yTCjlHE0GxWGttLMAv4HV/0NV6V5ZcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476270},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3831b9441efb75cf21d6c75971ca96658f8841c0","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"andrenunes01","email":"andre_nunes01@hotmail.com"},"repository":{"url":"git+https://github.com/casilhero/brazilian-validators.git","type":"git"},"_npmVersion":"10.9.0","description":"Biblioteca TypeScript para validação de documentos e identificadores brasileiros","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/brazilian-validators_1.0.0_1776455168412_0.5198363324851067","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@casilhero/brazilian-validators","version":"1.1.0","description":"Biblioteca TypeScript para validação de documentos e identificadores brasileiros","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^9.0.0","tsup":"^8.0.0","typescript":"^5.5.0","vitest":"^2.0.0"},"keywords":["brasil","brazil","cpf","cnpj","validators","validação","typescript"],"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/casilhero/brazilian-validators.git"},"_id":"@casilhero/brazilian-validators@1.1.0","gitHead":"4cf47838fae92c13d2302a96eb20e426f23eace7","bugs":{"url":"https://github.com/casilhero/brazilian-validators/issues"},"homepage":"https://github.com/casilhero/brazilian-validators#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-W+a5L6l0z9jbKb/Twy5TpaNojAorIL1d0W7DAdtAc89MCaYSm05MVCdFZGxRvRo7pHChBmvh5RZE4xh/uoiiTQ==","shasum":"af9ca783939e5594bc949b08748a9aa45f4e4829","tarball":"https://registry.npmjs.org/@casilhero/brazilian-validators/-/brazilian-validators-1.1.0.tgz","fileCount":9,"unpackedSize":497888,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD2PDxesNp0MmhdGkBLavjrS28VFFZJgAnHvzUsGzONkAIhAK6Wn0Z2ygF1N7WCgA/73EAA7iLuBFolBSnz7zLsm2hM"}]},"_npmUser":{"name":"andrenunes01","email":"andre_nunes01@hotmail.com"},"directories":{},"maintainers":[{"name":"andrenunes01","email":"andre_nunes01@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brazilian-validators_1.1.0_1785945676125_0.1817066954258728"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T19:46:08.292Z","modified":"2026-08-05T16:01:16.511Z","1.0.0":"2026-04-17T19:46:08.649Z","1.1.0":"2026-08-05T16:01:16.337Z"},"bugs":{"url":"https://github.com/casilhero/brazilian-validators/issues"},"license":"MIT","homepage":"https://github.com/casilhero/brazilian-validators#readme","keywords":["brasil","brazil","cpf","cnpj","validators","validação","typescript"],"repository":{"type":"git","url":"git+https://github.com/casilhero/brazilian-validators.git"},"description":"Biblioteca TypeScript para validação de documentos e identificadores brasileiros","maintainers":[{"name":"andrenunes01","email":"andre_nunes01@hotmail.com"}],"readme":"# @casilhero/brazilian-validators\n\nBiblioteca TypeScript para validação, geração e formatação de documentos e identificadores brasileiros.\n\n[![npm](https://img.shields.io/npm/v/@casilhero/brazilian-validators)](https://www.npmjs.com/package/@casilhero/brazilian-validators)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n> Veja também as versões para outros ambientes:\n> [PHP puro](https://github.com/Casilhero/brazilian-validators) · [Laravel](https://github.com/Casilhero/brazilian-validators-laravel)\n\n## Instalação\n\n```bash\nnpm install @casilhero/brazilian-validators\n```\n\n## Compatibilidade\n\n- Node.js ≥ 18\n- Navegadores modernos (ESM nativo)\n- TypeScript 5.x\n- Funciona tanto com ESM quanto com CommonJS\n\n---\n\n## Uso\n\n### Facade unificada\n\n```typescript\nimport { BrazilianValidator } from '@casilhero/brazilian-validators';\n\n// CPF\nBrazilianValidator.isValidCpf('529.982.247-25'); // true\nBrazilianValidator.validateCpf('11111111111'); // ValidationResult (inválido)\nBrazilianValidator.generateCpf(); // '52998224725'\nBrazilianValidator.maskCpf('52998224725'); // '529.982.247-25'\n\n// Boleto\nBrazilianValidator.isValidBoleto(\n  '34191.79001 01043.510047 91020.150008 2 85480000000000',\n); // true\nBrazilianValidator.generateBoleto(); // string de 47 dígitos\nBrazilianValidator.maskBoleto(\n  '34191790010104351004791020150008285480000000000',\n); // '34191.79001 01043.510047 91020.150008 2 85480000000000'\nBrazilianValidator.parseBoleto(\n  '00190000090114971860168524522114675860000102656',\n); // BoletoInfo | null\n\n// Inscrição Estadual\nBrazilianValidator.isValidInscricaoEstadual('0100482300112', 'AC'); // true\n```\n\n### Validators individuais\n\n```typescript\nimport {\n  isValidCpf,\n  validateCpf,\n  generateCpf,\n  maskCpf,\n  isValidCnpj,\n  generateCnpj,\n  maskCnpj,\n  isValidCpfCnpj,\n  generateCnh,\n  generateCns,\n  generateNisPis,\n  maskNisPis,\n  isValidPhone,\n  generatePhone,\n  maskPhone,\n  isValidPhoneDdi,\n  generatePhoneDdi,\n  isValidSuframa,\n  isValidRenavam,\n  generateRenavam,\n  generateTituloEleitor,\n  generateChassi,\n  isValidPassaporte,\n  generatePassaporte,\n  isValidCertidao,\n  generateCertidao,\n  parseCertidao,\n  generateCaepf,\n  isValidProcessoJudicial,\n  generateProcessoJudicial,\n  maskProcessoJudicial,\n  isValidBoleto,\n  generateBoleto,\n  maskBoleto,\n  parseBoleto,\n  isValidInscricaoEstadual,\n  validateInscricaoEstadual,\n} from '@casilhero/brazilian-validators';\n\n// CPF\nisValidCpf('529.982.247-25'); // true\nvalidateCpf('11111111111'); // ValidationResult\ngenerateCpf(); // string com 11 dígitos válidos\nmaskCpf('52998224725'); // '529.982.247-25'\n\n// CNPJ (suporta formato alfanumérico 2026)\nisValidCnpj('11.222.333/0001-81'); // true\ngenerateCnpj(); // CNPJ numérico com 14 chars\nmaskCnpj('11222333000181'); // '11.222.333/0001-81'\n\n// CPF ou CNPJ (detecta automaticamente)\nisValidCpfCnpj('529.982.247-25');\nisValidCpfCnpj('11.222.333/0001-81');\n\n// CNH\ngenerateCnh(); // CNH com 11 dígitos\n\n// CNS (Cartão Nacional de Saúde)\ngenerateCns(); // 15 dígitos\n\n// NIS / PIS / PASEP\ngenerateNisPis(); // 11 dígitos\nmaskNisPis('12345678901'); // '123.45678.90-1'\n\n// Telefone (com DDD)\nisValidPhone('(11) 91234-5678'); // true\ngeneratePhone(); // ex: '11912345678'\nmaskPhone('11912345678'); // '(11) 91234-5678'\n\n// Telefone com DDI (Brasil = +55)\nisValidPhoneDdi('+55 (11) 91234-5678'); // true\ngeneratePhoneDdi();\n\n// SUFRAMA\nisValidSuframa('200123456'); // true\n\n// RENAVAM\nisValidRenavam('94581703293'); // true\ngenerateRenavam(); // 11 dígitos\n\n// Título de Eleitor\ngenerateTituloEleitor(); // 12 ou 13 dígitos\n\n// Chassi (VIN)\ngenerateChassi(); // VIN com 17 caracteres e DV correto\n\n// Passaporte brasileiro\nisValidPassaporte('AA123456'); // true\ngeneratePassaporte(); // ex: 'AB123456'\n\n// Certidão de Registro Civil\nconst certidao = generateCertidao();\nisValidCertidao(certidao); // true\nparseCertidao(certidao); // CertidaoInfo | null\n\n// CAEPF\ngenerateCaepf(); // 14 dígitos com DV\n\n// Processo Judicial (CNJ)\nconst processo = generateProcessoJudicial();\nisValidProcessoJudicial(processo); // true\nmaskProcessoJudicial(processo); // '0001234-12.2024.1.02.0001'\n\n// Boleto bancário / arrecadação\nconst boleto = generateBoleto();\nisValidBoleto(boleto); // true\nmaskBoleto(boleto); // '34191.79001 01043.510047 91020.150008 2 85480000000000'\nparseBoleto(boleto); // BoletoInfo | null\n\n// Inscrição Estadual\nisValidInscricaoEstadual('0100482300112', 'AC'); // true\nvalidateInscricaoEstadual('123', 'SP'); // ValidationResult\n```\n\n---\n\n## ValidationResult\n\nTodos os métodos `validate()` retornam um `ValidationResult`:\n\n```typescript\nimport { ValidationResult, ErrorCode } from '@casilhero/brazilian-validators';\n\nconst result = Cpf.validate('11111111111');\nresult.isValid(); // false\nresult.code(); // 'invalid_format'\nresult.context(); // {}\n```\n\n### Códigos de erro (`ErrorCode`)\n\n| Código             | Descrição                                        |\n| ------------------ | ------------------------------------------------ |\n| `invalid_length`   | Comprimento incorreto                            |\n| `invalid_format`   | Formato inválido (ex.: dígitos repetidos, regex) |\n| `invalid_checksum` | Dígito verificador incorreto                     |\n| `invalid_region`   | UF desconhecida (Inscrição Estadual)             |\n| `invalid_prefix`   | Prefixo inválido                                 |\n\n---\n\n## Inscrição Estadual\n\nSuporta todas as 27 UFs. Aceita a UF como string (maiúscula ou minúscula):\n\n```typescript\nInscricaoEstadual.isValid('123.456.789', 'SP');\nInscricaoEstadual.isValid('123.456.789', 'sp');\n```\n\n### UFs suportadas\n\nAC · AL · AM · AP · BA · CE · DF · ES · GO · MA · MG · MS · MT ·\nPA · PB · PE · PI · PR · RJ · RN · RO · RR · RS · SC · SE · SP · TO\n\n---\n\n## CertidaoInfo\n\nO método `Certidao.parse()` retorna um objeto `CertidaoInfo` com as informações da certidão decodificadas:\n\n```typescript\nconst info = parseCertidao('21002008552014105030414345600003')!;\ninfo.codigoServentia; // '210020'\ninfo.codigoAcervo; // '08'\ninfo.ano; // 2014\ninfo.tipoLivro; // 1\ninfo.descricaoLivro(); // 'Livro A (Nascimento)'\ninfo.descricaoAcervo(); // 'Acervo próprio'\ninfo.toObject(); // objeto plano com todos os campos\n```\n\n---\n\n## BoletoInfo\n\nO método `parseBoleto()` retorna um objeto `BoletoInfo` com as informações do boleto decodificadas:\n\n```typescript\nimport { parseBoleto } from '@casilhero/brazilian-validators';\n\nconst info = parseBoleto('00190000090114971860168524522114675860000102656')!;\ninfo.type; // 'bancario'\ninfo.bankCode; // '001'\ninfo.currency; // '9'\ninfo.freeField; // campo livre (25 dígitos para bancário)\ninfo.amount; // 102656 (em centavos)\ninfo.expirationDate; // Date | null\n```\n\n---\n\n## Suporte a Tipos\n\nO pacote exporta os tipos TypeScript necessários:\n\n```typescript\nimport type {\n  Uf,\n  ValidationResult,\n  ErrorCodeValue,\n  CertidaoInfo,\n  BoletoInfo,\n} from '@casilhero/brazilian-validators';\n```\n\n---\n\n## Desenvolvimento\n\n```bash\n# Instalar dependências\nnpm install\n\n# Compilar\nnpm run build\n\n# Testes\nnpm test\n\n# Verificação de tipos\nnpm run typecheck\n```\n\n---\n\n## Licença\n\nMIT — veja [LICENSE](LICENSE)\n","readmeFilename":"README.md"}