{"_id":"@dmalbuquerque/cpf-cnpj-validator","_rev":"4-fb2941eee5254c637d8312b6e48518d8","name":"@dmalbuquerque/cpf-cnpj-validator","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@dmalbuquerque/cpf-cnpj-validator","version":"1.0.0","keywords":["node","joi","cpf","cnpj","cnpj alfanumerico","validator","brasil"],"author":{"name":"Daniel Albuquerque"},"license":"MIT","_id":"@dmalbuquerque/cpf-cnpj-validator@1.0.0","maintainers":[{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"}],"homepage":"https://github.com/dmAlbuquerque/cpf-cnpj-validator#readme","bugs":{"url":"https://github.com/dmAlbuquerque/cpf-cnpj-validator/issues"},"dist":{"shasum":"dbe3753a5b09460074fcf5330cd18d241ba6cee9","tarball":"https://registry.npmjs.org/@dmalbuquerque/cpf-cnpj-validator/-/cpf-cnpj-validator-1.0.0.tgz","fileCount":13,"integrity":"sha512-CKM7VS4n3RHKqmqM69SDbRk61m4EleJgBq3a+JVLlZ6Bvu6LgoefFI+bbZ9tN+iDbj4XtGjvtyMx1q5VSgzSkw==","signatures":[{"sig":"MEYCIQDW8EIBsIEpYXnLtl/6iyVzXEOwIYO+MoZgbk20FXtl0wIhAJLHmUDYRy6hZmSiUOMPeksAkA2hj0QRX74uIXx2q+U/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37661},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","gitHead":"41da3a675a2fba3ff77bc475aa2dd68fb28f8908","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"},"repository":{"url":"git+https://github.com/dmAlbuquerque/cpf-cnpj-validator.git","type":"git"},"_npmVersion":"10.9.2","description":"Biblioteca para gerar, validar e formatar CPF, CNPJ e CNPJ alfanumérico com suporte para integração com Joi.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"joi":"^17.13.3","tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/cpf-cnpj-validator_1.0.0_1741548306487_0.48585163894919914","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dmalbuquerque/cpf-cnpj-validator","version":"1.0.1","keywords":["node","joi","cpf","cnpj","cnpj alfanumerico","validator","brasil"],"author":{"name":"Daniel Albuquerque"},"license":"MIT","_id":"@dmalbuquerque/cpf-cnpj-validator@1.0.1","maintainers":[{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"}],"homepage":"https://github.com/dmAlbuquerque/cpf-cnpj-validator#readme","bugs":{"url":"https://github.com/dmAlbuquerque/cpf-cnpj-validator/issues"},"dist":{"shasum":"212772c406be7807e24403c365ef4e67eb27cb20","tarball":"https://registry.npmjs.org/@dmalbuquerque/cpf-cnpj-validator/-/cpf-cnpj-validator-1.0.1.tgz","fileCount":28,"integrity":"sha512-9B2eaIyhN7ZamSemmqi7fdkyEj/EsBnEXyNlqW9iX3BZL2NLnSvfRtwAouvYvxJHsSkKgn9ebclDUygePihSEw==","signatures":[{"sig":"MEUCIQCyvz2a2suwD3XdEMYMh/07DPM7m4JDDlU5Wwnp9OS3rwIgTvlH1/3D5/O26KnMynKG10PfMTULJl2faMC0pp+eCXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84308},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","gitHead":"5ac57ad6c2caca895781dc188feeb0fbeeea53b1","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"},"repository":{"url":"git+https://github.com/dmAlbuquerque/cpf-cnpj-validator.git","type":"git"},"_npmVersion":"10.9.2","description":"Biblioteca para gerar, validar e formatar CPF, CNPJ e CNPJ alfanumérico com suporte para integração com Joi.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"joi":"^17.13.3","tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/cpf-cnpj-validator_1.0.1_1741548985467_0.12165236928925283","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dmalbuquerque/cpf-cnpj-validator","version":"1.0.2","keywords":["node","joi","cpf","cnpj","cnpj alfanumerico","validator","brasil"],"author":{"name":"Daniel Albuquerque"},"license":"MIT","_id":"@dmalbuquerque/cpf-cnpj-validator@1.0.2","maintainers":[{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"}],"homepage":"https://github.com/dmAlbuquerque/cpf-cnpj-validator#readme","bugs":{"url":"https://github.com/dmAlbuquerque/cpf-cnpj-validator/issues"},"dist":{"shasum":"718e39f72c2c78e30d9233ffbe3a8d46639a1bfe","tarball":"https://registry.npmjs.org/@dmalbuquerque/cpf-cnpj-validator/-/cpf-cnpj-validator-1.0.2.tgz","fileCount":28,"integrity":"sha512-ebn+K60kqhXsSQOqsOikjrnMlRYoFi3sqwRAM+CzBlUjc16ZPYcTovBx5+mS/70eZhXUoPls5eundGOesGH+fQ==","signatures":[{"sig":"MEUCIAzB/tfYa5kFUf9DsMzI+Be160Ji/Z5MPww/f+isfqRvAiEA0ubz4iCEm+/b7V5dumfPKVwD68hVKbZckX7/f+Vd4no=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84300},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"f68ed0ab6f9fec03c58a47e6ac10ab3310a9fdad","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"},"repository":{"url":"git+https://github.com/dmAlbuquerque/cpf-cnpj-validator.git","type":"git"},"_npmVersion":"10.9.2","description":"Biblioteca para gerar, validar e formatar CPF, CNPJ e CNPJ alfanumérico com suporte para integração com Joi.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"joi":"^17.13.3","tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/cpf-cnpj-validator_1.0.2_1741549288182_0.8058083837144323","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dmalbuquerque/cpf-cnpj-validator","version":"1.0.3","description":"Biblioteca para gerar, validar e formatar CPF, CNPJ e CNPJ alfanumérico com suporte para integração com Joi.","keywords":["node","joi","cpf","cnpj","cnpj alfanumerico","validator","brasil"],"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/dmAlbuquerque/cpf-cnpj-validator.git"},"homepage":"https://github.com/dmAlbuquerque/cpf-cnpj-validator#readme","bugs":{"url":"https://github.com/dmAlbuquerque/cpf-cnpj-validator/issues"},"scripts":{"build":"tsc","dev":"tsc --watch","prepare":"npm run build","test":"jest"},"author":{"name":"Daniel Albuquerque"},"license":"MIT","devDependencies":{"@types/jest":"^29.5.14","@types/node":"^22.13.10","jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.8.2"},"dependencies":{"joi":"^17.13.3","tslib":"^2.8.1"},"_id":"@dmalbuquerque/cpf-cnpj-validator@1.0.3","gitHead":"cf7bb9c272cdee654e60022cb5010bbfcf03be4f","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-zWgZbzJy52QgixqkH4pXOpPWD7xfIp851g5fnJZPj08JGkkmYAhFR+iFWNAfbvH38y3HNekfKM/sGH7r0boE5w==","shasum":"77f5e7b08b3933f03da2c6cf41e079c69bbbbf40","tarball":"https://registry.npmjs.org/@dmalbuquerque/cpf-cnpj-validator/-/cpf-cnpj-validator-1.0.3.tgz","fileCount":28,"unpackedSize":84384,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCLVvO8xSWMkPeziEaKisntPW4Bmq0254UrPKcPwUTAJgIgRBMHhIZQBO+f3JUCZZFok7F/aB5AuUMaWo1LbLbgh/I="}]},"_npmUser":{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"},"directories":{},"maintainers":[{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cpf-cnpj-validator_1.0.3_1741549616818_0.6833879572305726"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-09T19:25:06.381Z","modified":"2025-03-09T19:46:57.317Z","1.0.0":"2025-03-09T19:25:06.675Z","1.0.1":"2025-03-09T19:36:25.644Z","1.0.2":"2025-03-09T19:41:28.360Z","1.0.3":"2025-03-09T19:46:57.015Z"},"bugs":{"url":"https://github.com/dmAlbuquerque/cpf-cnpj-validator/issues"},"author":{"name":"Daniel Albuquerque"},"license":"MIT","homepage":"https://github.com/dmAlbuquerque/cpf-cnpj-validator#readme","keywords":["node","joi","cpf","cnpj","cnpj alfanumerico","validator","brasil"],"repository":{"type":"git","url":"git+https://github.com/dmAlbuquerque/cpf-cnpj-validator.git"},"description":"Biblioteca para gerar, validar e formatar CPF, CNPJ e CNPJ alfanumérico com suporte para integração com Joi.","maintainers":[{"name":"dmalbuquerque","email":"daniel.moura.developer@gmail.com"}],"readme":"![License](https://img.shields.io/npm/l/cpf-cnpj-validator)\n![Version](https://img.shields.io/npm/v/cpf-cnpj-validator)\n\n\n# Documentação da Biblioteca de CPF e CNPJ\n\nO objetivo do projeto é facilitar a validação e geração de CPF, CNPJ e CNPJ alfanumérico. Também é possível validar CPF e CNPJ utilizando a biblioteca Joi.\n\n## Instalação\n```sh\nnpm install @dmalbuquerque/cpf-cnpj-validator\n```\n\n## Como importar a biblioteca\n\n### Para projetos com Typescript\n```ts\nimport { cpf, cnpj, documentValidator} from '@dmalbuquerque/cpf-cnpj-validator';\n\nconsole.log(cpf.isValid('21156032300'));\nconsole.log(cnpj.isValid('20245526000149'));\n```\n---\n\n### Para projetos com Javascript\n```js\nconst { cpf, cnpj, documentValidator} = require('@dmalbuquerque/cpf-cnpj-validator');\n\nconsole.log(cpf.isValid('21156032300'));\nconsole.log(cnpj.isValid('20245526000149'));\n```\nou\n\n```js\nconst documents = require('@dmalbuquerque/cpf-cnpj-validator');\n\nconsole.log(documents.cpf.isValid('21156032300'));\nconsole.log(documents.cnpj.isValid('20245526000149'));\n```\n\n\n## Como usar\n\n### CPF\n\n#### Gerar um CPF\n\n- **CPF numérico sem formatação**:\n  ```js\n  cpf.generate(); // Exemplo de retorno: \"07208766053\"\n  ```\n- **CPF formatado**:\n  ```js\n  cpf.generate({ formatted: true }); // Exemplo de retorno: \"072.087.660-53\"\n  ```\n\n#### Validar um CPF\n\n- **CPF válido**:\n  ```js\n  cpf.isValid(\"07208766053\"); // Retorna: true\n  cpf.isValid(\"072.087.660-53\"); // Retorna: true\n  ```\n- **CPF inválido**:\n  ```js\n  cpf.isValid(\"07208766050\"); // Retorna: false\n  cpf.isValid(\"072.087.660-50\"); // Retorna: false\n  ```\n\n#### Formatar um CPF\n\n- **Converter um CPF numérico para o formato padrão**:\n  ```js\n  cpf.format(\"07208766053\"); // Retorna: \"072.087.660-53\"\n  ```\n\n---\n\n### CNPJ\n\n#### Gerar um CNPJ\n\n- **CNPJ clássico sem formatação**:\n  ```js\n  cnpj.generate({ type: \"numeric\" }); // Exemplo de retorno: \"25143815000150\"\n  ```\n  ou \n\n  ```js\n  cnpj.generate();\n  ```\n- **CNPJ clássico formatado**:\n  ```js\n  cnpj.generate({ type: \"numeric\", formatted: true }); // Exemplo de retorno: \"25.143.815/0001-50\"\n  ```\n- **CNPJ alfanumérico sem formatação**:\n  ```js\n  cnpj.generate({ type: \"alfanumeric\" }); // Exemplo de retorno: \"OGZP0N77444Y42\"\n  ```\n- **CNPJ alfanumérico formatado**:\n  ```js\n  cnpj.generate({ type: \"alfanumeric\", formatted: true }); // Exemplo de retorno: \"OG.ZP0.N77/444Y-42\"\n  ```\n\n#### Validar um CNPJ\n\n- **CNPJ clássico válido**:\n  ```js\n  cnpj.isValid(\"25143815000150\"); // Retorna: true\n  cnpj.isValid(\"25.143.815/0001-50\"); // Retorna: true\n  ```\n- **CNPJ clássico inválido**:\n  ```js\n  cnpj.isValid(\"25143815000140\"); // Retorna: false\n  cnpj.isValid(\"25.143.815/0001-40\"); // Retorna: false\n  ```\n- **CNPJ alfanumérico válido**:\n  ```js\n  cnpj.isValid(\"OGZP0N77444Y42\"); // Retorna: true\n  cnpj.isValid(\"OG.ZP0.N77/444Y-42\"); // Retorna: true\n  ```\n- **CNPJ alfanumérico inválido**:\n  ```js\n  cnpj.isValid(\"OGZP0N77444Y40\"); // Retorna: false\n  cnpj.isValid(\"OG.ZP0.N77/444Y-40\"); // Retorna: false\n  ```\n\n#### Formatar um CNPJ\n\n- **Converter um CNPJ numérico para o formato padrão**:\n  ```js\n  cnpj.format(\"25143815000150\"); // Retorna: \"25.143.815/0001-50\"\n  ```\n- **Converter um CNPJ alfanumérico para o formato padrão**:\n  ```js\n  cnpj.format(\"OGZP0N77444Y42\"); // Retorna: \"OG.ZP0.N77/444Y-42\"\n  ```\n\n## Validação com Joi\n\nEsta biblioteca também permite a validação de CPF e CNPJ utilizando a biblioteca Joi. Veja um exemplo de implementação:\n\n```js\nimport Joi from \"joi\";\nimport documentValidator from \"@dmalbuquerque/cpf-cnpj-validator\";\n\nconst joi = Joi.extend(documentValidator);\n\nconst schema = Joi.object({\n  cpf: joi.document().cpf().optional().label(\"CPF\"),\n  cnpj: joi.document().cnpj().required().label(\"CNPJ\"),\n});\n\nconst resultado = schema.validate({ cpf: null, cnpj: \"25143815000150\" });\nconsole.log(resultado.error ? resultado.error.details : \"Dados válidos!\");\n```\n## 🔹 Regras de Validação\n\n| Cenário | CPF | CNPJ | Resultado |\n|----------|-----|------|-----------|\n| Valor `null` | ✅ Aceito | ✅ Aceito | **✅ Válido** |\n| String vazia (`\"\"`) | ❌ `CPF não pode ser vazio` | ❌ `CNPJ não pode ser vazio` | **❌ Erro** |\n| Campo obrigatório ausente | ❌ `CPF é obrigatório` | ❌ `CNPJ é obrigatório` | **❌ Erro** |\n---\n\n## Testes Automatizados\nEsta biblioteca possui testes automatizados para garantir a qualidade do código. Para rodá-los localmente, basta executar o seguinte comando:\n```sh \nnpm run test\n```\nIsso irá rodar todos os testes definidos usando o <b>Jest</b>. Certifique-se de ter o Jest instalado em seu ambiente de desenvolvimento.\n\n## Como Contribuir\nSe você deseja contribuir para este projeto, siga as etapas abaixo:\n1. Faça um fork deste repositório.\n2. Clone o repositório forkado para o seu ambiente local.\n3. Instale as dependências do projeto: `npm install`.\n4. Faça suas alterações e testes.\n5. Execute os testes localmente para garantir que tudo esteja funcionando corretamente: ```npm run test```\n5. Crie uma nova branch para suas alterações: `git checkout -b minha-feature`.\n6. Abra o PR com suas alterações.\n\n\n## ✔️ Licença\nDestribuido sob a licença MIT. © Daniel Albuquerque\n\n","readmeFilename":"README.md"}