@br-validators/core 1.6.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -7
- package/dist/aeroportos.d.ts +1 -1
- package/dist/anp-combustiveis.d.ts +64 -0
- package/dist/anp-combustiveis.js +37816 -0
- package/dist/anp-combustiveis.js.map +1 -0
- package/dist/bancos.d.ts +1 -1
- package/dist/batch.d.ts +3 -3
- package/dist/batch.js +30 -28
- package/dist/boleto.d.ts +2 -2
- package/dist/boleto.js +5 -5
- package/dist/brcode.d.ts +2 -2
- package/dist/brcode.js +9 -9
- package/dist/cartao-credito.d.ts +2 -2
- package/dist/cartao-credito.js +3 -3
- package/dist/cbo.d.ts +1 -1
- package/dist/cbo.js +1 -1
- package/dist/cep.d.ts +3 -3
- package/dist/cep.js +5 -5
- package/dist/cest.d.ts +1 -1
- package/dist/cest.js +1 -1
- package/dist/cfop.d.ts +1 -1
- package/dist/cfop.js +1 -1
- package/dist/{chunk-FX6JEBWO.js → chunk-26HMLR4Y.js} +3 -3
- package/dist/{chunk-FX6JEBWO.js.map → chunk-26HMLR4Y.js.map} +1 -1
- package/dist/{chunk-LPGSPM53.js → chunk-2EYJMAE2.js} +3 -3
- package/dist/{chunk-LPGSPM53.js.map → chunk-2EYJMAE2.js.map} +1 -1
- package/dist/{chunk-L3IKYN3J.js → chunk-2FQOQMS6.js} +7 -7
- package/dist/{chunk-L3IKYN3J.js.map → chunk-2FQOQMS6.js.map} +1 -1
- package/dist/{chunk-QZNAGWZB.js → chunk-2HD6TA3O.js} +4 -4
- package/dist/{chunk-QZNAGWZB.js.map → chunk-2HD6TA3O.js.map} +1 -1
- package/dist/chunk-2NSBFMTP.js +125 -0
- package/dist/chunk-2NSBFMTP.js.map +1 -0
- package/dist/{chunk-VDCITFZG.js → chunk-2ZWBFVYY.js} +3 -3
- package/dist/{chunk-VDCITFZG.js.map → chunk-2ZWBFVYY.js.map} +1 -1
- package/dist/{chunk-EGDZGSHA.js → chunk-3EVLQVBC.js} +3 -3
- package/dist/{chunk-EGDZGSHA.js.map → chunk-3EVLQVBC.js.map} +1 -1
- package/dist/{chunk-BA4I3QL5.js → chunk-3ZIXLRXZ.js} +4 -3
- package/dist/chunk-3ZIXLRXZ.js.map +1 -0
- package/dist/{chunk-BUZTJ3KC.js → chunk-47PZ7WGA.js} +23 -19
- package/dist/chunk-47PZ7WGA.js.map +1 -0
- package/dist/{chunk-ISMIJ5DH.js → chunk-4T2ZBJFM.js} +3 -3
- package/dist/{chunk-ISMIJ5DH.js.map → chunk-4T2ZBJFM.js.map} +1 -1
- package/dist/chunk-5AQKUZ6R.js +35 -0
- package/dist/chunk-5AQKUZ6R.js.map +1 -0
- package/dist/{chunk-F5OHOWZU.js → chunk-5I6WYO5R.js} +3 -3
- package/dist/{chunk-F5OHOWZU.js.map → chunk-5I6WYO5R.js.map} +1 -1
- package/dist/{chunk-Q5IK2DV4.js → chunk-6PODNJTJ.js} +4 -4
- package/dist/{chunk-Q5IK2DV4.js.map → chunk-6PODNJTJ.js.map} +1 -1
- package/dist/{chunk-UTSZKJAL.js → chunk-7EMUKPPG.js} +8 -8
- package/dist/{chunk-UTSZKJAL.js.map → chunk-7EMUKPPG.js.map} +1 -1
- package/dist/{chunk-ULNZHOMA.js → chunk-AG3VELYX.js} +5 -14
- package/dist/chunk-AG3VELYX.js.map +1 -0
- package/dist/{chunk-BKF6CKUK.js → chunk-BBKNHH72.js} +7 -7
- package/dist/{chunk-BKF6CKUK.js.map → chunk-BBKNHH72.js.map} +1 -1
- package/dist/{chunk-OZ2VAF7L.js → chunk-BBYLFHZZ.js} +5 -5
- package/dist/{chunk-OZ2VAF7L.js.map → chunk-BBYLFHZZ.js.map} +1 -1
- package/dist/chunk-BG72VA7O.js +33 -0
- package/dist/chunk-BG72VA7O.js.map +1 -0
- package/dist/{chunk-XSYO3MVO.js → chunk-BMIYI2TC.js} +7 -7
- package/dist/{chunk-XSYO3MVO.js.map → chunk-BMIYI2TC.js.map} +1 -1
- package/dist/{chunk-D5POEOY7.js → chunk-BNM3RSDY.js} +24 -19
- package/dist/chunk-BNM3RSDY.js.map +1 -0
- package/dist/{chunk-6VJAOYIG.js → chunk-BSNVQQTV.js} +25 -20
- package/dist/chunk-BSNVQQTV.js.map +1 -0
- package/dist/chunk-BSSRVJ2C.js +14 -0
- package/dist/chunk-BSSRVJ2C.js.map +1 -0
- package/dist/{chunk-WJ6M5YKH.js → chunk-CQQDYYFS.js} +5 -5
- package/dist/{chunk-WJ6M5YKH.js.map → chunk-CQQDYYFS.js.map} +1 -1
- package/dist/{chunk-2AFEQOCJ.js → chunk-DAX5PVBJ.js} +10 -8
- package/dist/chunk-DAX5PVBJ.js.map +1 -0
- package/dist/{chunk-HHYQ3GXP.js → chunk-DFPIMLGD.js} +7 -7
- package/dist/{chunk-HHYQ3GXP.js.map → chunk-DFPIMLGD.js.map} +1 -1
- package/dist/{chunk-YN4M6XL2.js → chunk-DH7N2ZS6.js} +7 -7
- package/dist/{chunk-YN4M6XL2.js.map → chunk-DH7N2ZS6.js.map} +1 -1
- package/dist/{chunk-MDFK6L72.js → chunk-DMUWIPJR.js} +3 -3
- package/dist/{chunk-MDFK6L72.js.map → chunk-DMUWIPJR.js.map} +1 -1
- package/dist/{chunk-G557DGIX.js → chunk-E2BVDZKJ.js} +3 -3
- package/dist/{chunk-G557DGIX.js.map → chunk-E2BVDZKJ.js.map} +1 -1
- package/dist/{chunk-6WHDXMTW.js → chunk-EDJC6HIP.js} +3 -3
- package/dist/{chunk-6WHDXMTW.js.map → chunk-EDJC6HIP.js.map} +1 -1
- package/dist/{chunk-4NFEM2SU.js → chunk-EMZCVV5Y.js} +9 -3
- package/dist/chunk-EMZCVV5Y.js.map +1 -0
- package/dist/chunk-FI2JE6AS.js +15 -0
- package/dist/chunk-FI2JE6AS.js.map +1 -0
- package/dist/{chunk-A5UHVGRB.js → chunk-G4YT6X7N.js} +4 -4
- package/dist/{chunk-A5UHVGRB.js.map → chunk-G4YT6X7N.js.map} +1 -1
- package/dist/chunk-G65WTGYO.js +31 -0
- package/dist/chunk-G65WTGYO.js.map +1 -0
- package/dist/{chunk-ZJQ7DRH4.js → chunk-GFYWUMYH.js} +5 -5
- package/dist/{chunk-ZJQ7DRH4.js.map → chunk-GFYWUMYH.js.map} +1 -1
- package/dist/chunk-HIWHBRFG.js +30 -0
- package/dist/chunk-HIWHBRFG.js.map +1 -0
- package/dist/{chunk-U5SLA2ZP.js → chunk-HSLV626U.js} +7 -7
- package/dist/{chunk-U5SLA2ZP.js.map → chunk-HSLV626U.js.map} +1 -1
- package/dist/{chunk-BDHKGP3S.js → chunk-J3QGK6MX.js} +33 -33
- package/dist/{chunk-BDHKGP3S.js.map → chunk-J3QGK6MX.js.map} +1 -1
- package/dist/{chunk-IHSOANVC.js → chunk-KTP26VPJ.js} +7 -7
- package/dist/{chunk-IHSOANVC.js.map → chunk-KTP26VPJ.js.map} +1 -1
- package/dist/{chunk-P3EJRH4P.js → chunk-LXB5FIAQ.js} +4 -4
- package/dist/{chunk-P3EJRH4P.js.map → chunk-LXB5FIAQ.js.map} +1 -1
- package/dist/{chunk-PDGAMTBR.js → chunk-M3RBXFYG.js} +39 -20
- package/dist/chunk-M3RBXFYG.js.map +1 -0
- package/dist/{chunk-3DLNIUBY.js → chunk-M6VUQK73.js} +5 -5
- package/dist/{chunk-3DLNIUBY.js.map → chunk-M6VUQK73.js.map} +1 -1
- package/dist/{chunk-5423O35D.js → chunk-MAJPROT7.js} +7 -7
- package/dist/{chunk-5423O35D.js.map → chunk-MAJPROT7.js.map} +1 -1
- package/dist/{chunk-RSJK46ZE.js → chunk-MLUDCL3P.js} +4 -4
- package/dist/{chunk-RSJK46ZE.js.map → chunk-MLUDCL3P.js.map} +1 -1
- package/dist/{chunk-4COFDYBY.js → chunk-MZZNNXAB.js} +27 -21
- package/dist/chunk-MZZNNXAB.js.map +1 -0
- package/dist/{chunk-DVA6QQUF.js → chunk-O3HZW2GM.js} +3 -3
- package/dist/{chunk-DVA6QQUF.js.map → chunk-O3HZW2GM.js.map} +1 -1
- package/dist/{chunk-CNJ4DIYS.js → chunk-O7RJQUAJ.js} +3 -3
- package/dist/{chunk-CNJ4DIYS.js.map → chunk-O7RJQUAJ.js.map} +1 -1
- package/dist/{chunk-IJ2DAVSD.js → chunk-OM5ELPM6.js} +3 -3
- package/dist/{chunk-IJ2DAVSD.js.map → chunk-OM5ELPM6.js.map} +1 -1
- package/dist/chunk-OPFCKUFX.js +31 -0
- package/dist/chunk-OPFCKUFX.js.map +1 -0
- package/dist/{chunk-2JSOXG2M.js → chunk-P37C3MVF.js} +3 -3
- package/dist/{chunk-2JSOXG2M.js.map → chunk-P37C3MVF.js.map} +1 -1
- package/dist/chunk-P5BDKYBC.js +3 -0
- package/dist/chunk-P5BDKYBC.js.map +1 -0
- package/dist/{chunk-LBAWZ4EV.js → chunk-PUTVO6HG.js} +4 -4
- package/dist/{chunk-LBAWZ4EV.js.map → chunk-PUTVO6HG.js.map} +1 -1
- package/dist/{chunk-26MSDS43.js → chunk-Q2CFVQ2U.js} +4 -4
- package/dist/{chunk-26MSDS43.js.map → chunk-Q2CFVQ2U.js.map} +1 -1
- package/dist/{chunk-24JBIV3A.js → chunk-QKAXRXU5.js} +4 -4
- package/dist/{chunk-24JBIV3A.js.map → chunk-QKAXRXU5.js.map} +1 -1
- package/dist/{chunk-OWD47AWI.js → chunk-QZPKTG4A.js} +3 -3
- package/dist/{chunk-OWD47AWI.js.map → chunk-QZPKTG4A.js.map} +1 -1
- package/dist/{chunk-FLZGOGER.js → chunk-RNI5G42M.js} +4 -4
- package/dist/{chunk-FLZGOGER.js.map → chunk-RNI5G42M.js.map} +1 -1
- package/dist/{chunk-72EZ2VUO.js → chunk-ROU5ZHN7.js} +4 -4
- package/dist/{chunk-72EZ2VUO.js.map → chunk-ROU5ZHN7.js.map} +1 -1
- package/dist/{chunk-SH6K4PUU.js → chunk-RP5UWF2G.js} +3 -3
- package/dist/{chunk-SH6K4PUU.js.map → chunk-RP5UWF2G.js.map} +1 -1
- package/dist/{chunk-AED7KSBM.js → chunk-RRG2HJMY.js} +6 -6
- package/dist/{chunk-AED7KSBM.js.map → chunk-RRG2HJMY.js.map} +1 -1
- package/dist/{chunk-PR7NSNQG.js → chunk-RY2BSDOR.js} +4 -4
- package/dist/{chunk-PR7NSNQG.js.map → chunk-RY2BSDOR.js.map} +1 -1
- package/dist/{chunk-QSSKPIG5.js → chunk-SIMI5XYE.js} +3 -3
- package/dist/{chunk-QSSKPIG5.js.map → chunk-SIMI5XYE.js.map} +1 -1
- package/dist/{chunk-TTDHGQEC.js → chunk-SQO7BO3Y.js} +3 -3
- package/dist/{chunk-TTDHGQEC.js.map → chunk-SQO7BO3Y.js.map} +1 -1
- package/dist/{chunk-T5NFIPTU.js → chunk-SXPLYH4N.js} +3 -3
- package/dist/{chunk-T5NFIPTU.js.map → chunk-SXPLYH4N.js.map} +1 -1
- package/dist/{chunk-EEFQYVLF.js → chunk-UANHHEWY.js} +4 -4
- package/dist/{chunk-EEFQYVLF.js.map → chunk-UANHHEWY.js.map} +1 -1
- package/dist/{chunk-MF47DACR.js → chunk-UGSA7FSW.js} +7 -7
- package/dist/{chunk-MF47DACR.js.map → chunk-UGSA7FSW.js.map} +1 -1
- package/dist/{chunk-TAOFFAG3.js → chunk-UJXGDUKJ.js} +3 -3
- package/dist/{chunk-TAOFFAG3.js.map → chunk-UJXGDUKJ.js.map} +1 -1
- package/dist/chunk-VXHJLWMA.js +115 -0
- package/dist/chunk-VXHJLWMA.js.map +1 -0
- package/dist/chunk-W64OQYC4.js +13 -0
- package/dist/chunk-W64OQYC4.js.map +1 -0
- package/dist/{chunk-C7WXL7UR.js → chunk-WAVBQYPE.js} +4 -4
- package/dist/{chunk-C7WXL7UR.js.map → chunk-WAVBQYPE.js.map} +1 -1
- package/dist/{chunk-CYBWPBXJ.js → chunk-WE6RG6OC.js} +4 -4
- package/dist/{chunk-CYBWPBXJ.js.map → chunk-WE6RG6OC.js.map} +1 -1
- package/dist/{chunk-Z7KH65RZ.js → chunk-WKDCI3NI.js} +3 -3
- package/dist/{chunk-Z7KH65RZ.js.map → chunk-WKDCI3NI.js.map} +1 -1
- package/dist/chunk-XFKSJRWM.js +14 -0
- package/dist/chunk-XFKSJRWM.js.map +1 -0
- package/dist/chunk-XHHJTKSP.js +33 -0
- package/dist/chunk-XHHJTKSP.js.map +1 -0
- package/dist/chunk-XVT5QOAL.js +30 -0
- package/dist/chunk-XVT5QOAL.js.map +1 -0
- package/dist/{chunk-VE2XZSKP.js → chunk-YA7RWTAE.js} +3 -3
- package/dist/{chunk-VE2XZSKP.js.map → chunk-YA7RWTAE.js.map} +1 -1
- package/dist/chunk-YAHKWOSP.js +35 -0
- package/dist/chunk-YAHKWOSP.js.map +1 -0
- package/dist/{chunk-G4OYYXVP.js → chunk-YJBKWUCE.js} +4 -3
- package/dist/chunk-YJBKWUCE.js.map +1 -0
- package/dist/cnaes.d.ts +4 -2
- package/dist/cnaes.js +3 -2
- package/dist/cnaes.js.map +1 -1
- package/dist/cnh.d.ts +2 -2
- package/dist/cnh.js +5 -5
- package/dist/cnis.d.ts +50 -0
- package/dist/cnis.js +7 -0
- package/dist/cnis.js.map +1 -0
- package/dist/cnpj-motivos.d.ts +52 -0
- package/dist/cnpj-motivos.js +292 -0
- package/dist/cnpj-motivos.js.map +1 -0
- package/dist/cnpj.d.ts +2 -2
- package/dist/cnpj.js +5 -5
- package/dist/compare.d.ts +3 -3
- package/dist/compare.js +32 -30
- package/dist/cpf.d.ts +2 -2
- package/dist/cpf.js +5 -5
- package/dist/cst.d.ts +73 -0
- package/dist/cst.js +482 -0
- package/dist/cst.js.map +1 -0
- package/dist/data-catalog.d.ts +2 -2
- package/dist/data-catalog.js +45 -29
- package/dist/data-catalog.js.map +1 -1
- package/dist/detect.d.ts +2 -2
- package/dist/detect.js +28 -26
- package/dist/diff.d.ts +3 -3
- package/dist/diff.js +32 -30
- package/dist/ean.d.ts +43 -0
- package/dist/ean.js +6 -0
- package/dist/ean.js.map +1 -0
- package/dist/esocial.d.ts +45 -0
- package/dist/esocial.js +387 -0
- package/dist/esocial.js.map +1 -0
- package/dist/feriados.d.ts +1 -1
- package/dist/generate.d.ts +1 -1
- package/dist/generate.js +41 -39
- package/dist/ibge.d.ts +34 -2
- package/dist/ibge.js +109 -1
- package/dist/ibge.js.map +1 -1
- package/dist/ibpt.d.ts +74 -0
- package/dist/ibpt.js +166 -0
- package/dist/ibpt.js.map +1 -0
- package/dist/incoterms.d.ts +1 -1
- package/dist/incoterms.js +1 -1
- package/dist/{index-CJ5ACErT.d.ts → index-BmoilwS2.d.ts} +2 -2
- package/dist/index.d.ts +11 -9
- package/dist/index.js +77 -67
- package/dist/index.js.map +1 -1
- package/dist/{inscricao-estadual-produtor-rural-BNAyLQPY.d.ts → inscricao-estadual-produtor-rural-Hfq6jN1n.d.ts} +1 -1
- package/dist/inscricao-estadual-produtor-rural.d.ts +2 -2
- package/dist/inscricao-estadual-produtor-rural.js +3 -3
- package/dist/inscricao-estadual.d.ts +3 -3
- package/dist/inscricao-estadual.js +4 -4
- package/dist/lc116.d.ts +42 -0
- package/dist/lc116.js +866 -0
- package/dist/lc116.js.map +1 -0
- package/dist/mask.d.ts +3 -3
- package/dist/mask.js +44 -40
- package/dist/moedas.d.ts +1 -1
- package/dist/moedas.js +1 -1
- package/dist/natureza-juridica.d.ts +1 -1
- package/dist/natureza-juridica.js +1 -1
- package/dist/nbs.d.ts +1 -1
- package/dist/nbs.js +1 -1
- package/dist/ncm.d.ts +1 -1
- package/dist/ncm.js +1 -1
- package/dist/nfe-chave.d.ts +2 -2
- package/dist/nfe-chave.js +3 -3
- package/dist/paises-bacen.d.ts +1 -1
- package/dist/paises-bacen.js +1 -1
- package/dist/pis-pasep.d.ts +2 -2
- package/dist/pis-pasep.js +5 -3
- package/dist/{pix-QsM0lMas.d.ts → pix-BcPQzXRx.d.ts} +1 -1
- package/dist/pix.d.ts +2 -2
- package/dist/pix.js +9 -9
- package/dist/placa.d.ts +2 -2
- package/dist/placa.js +4 -4
- package/dist/pncp-reference.d.ts +1 -1
- package/dist/pncp-reference.js +1 -1
- package/dist/portos.d.ts +1 -1
- package/dist/portos.js +1 -1
- package/dist/processo-judicial.d.ts +2 -2
- package/dist/processo-judicial.js +3 -3
- package/dist/ptax.d.ts +53 -0
- package/dist/ptax.js +485 -0
- package/dist/ptax.js.map +1 -0
- package/dist/renavam.d.ts +2 -2
- package/dist/renavam.js +5 -5
- package/dist/rg.d.ts +2 -2
- package/dist/rg.js +2 -2
- package/dist/sanitize.d.ts +2 -2
- package/dist/sanitize.js +27 -25
- package/dist/simples-nacional.d.ts +67 -0
- package/dist/simples-nacional.js +178 -0
- package/dist/simples-nacional.js.map +1 -0
- package/dist/telefone.d.ts +3 -3
- package/dist/telefone.js +4 -4
- package/dist/titulo-eleitor.d.ts +2 -2
- package/dist/titulo-eleitor.js +5 -5
- package/dist/transparencia-snapshots.d.ts +1 -1
- package/dist/transparencia-snapshots.js +3 -3
- package/dist/transparencia-snapshots.js.map +1 -1
- package/dist/tse-municipios.d.ts +1 -1
- package/dist/{types-CCKLomYy.d.ts → types-CnePu8im.d.ts} +1 -1
- package/dist/{types-CQvCmvGu.d.ts → types-DTtrW1Km.d.ts} +2 -2
- package/dist/{validation-result-hfVg2-Mc.d.ts → validation-result-Rb7C0_xj.d.ts} +30 -2
- package/package.json +52 -2
- package/dist/chunk-2AFEQOCJ.js.map +0 -1
- package/dist/chunk-4COFDYBY.js.map +0 -1
- package/dist/chunk-4NFEM2SU.js.map +0 -1
- package/dist/chunk-6VJAOYIG.js.map +0 -1
- package/dist/chunk-BA4I3QL5.js.map +0 -1
- package/dist/chunk-BUZTJ3KC.js.map +0 -1
- package/dist/chunk-D5POEOY7.js.map +0 -1
- package/dist/chunk-G4OYYXVP.js.map +0 -1
- package/dist/chunk-PDGAMTBR.js.map +0 -1
- package/dist/chunk-ULNZHOMA.js.map +0 -1
- package/dist/chunk-WAYYRZ2L.js +0 -23
- package/dist/chunk-WAYYRZ2L.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/pix/cnpj.ts","../src/core/pix/cpf.ts","../src/core/pix/constants.ts","../src/core/pix/detect.ts","../src/core/pix/email.ts","../src/core/pix/evp.ts","../src/core/pix/phone.ts","../src/core/pix/mask.ts","../src/core/pix/index.ts"],"names":["failure"],"mappings":"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","file":"chunk-UTSZKJAL.js","sourcesContent":["import { validateCnpj } from '../cnpj/index.js';\nimport type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'cnpj' };\n}\n\nexport function validatePixCnpjKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX CNPJ key input is empty');\n }\n\n const result = validateCnpj(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message, keyType: 'cnpj' };\n }\n\n return {\n ok: true,\n value: brandPixKey(result.value),\n keyType: 'cnpj',\n format: result.format,\n };\n}\n","import { validateCpf } from '../cpf/index.js';\nimport type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'cpf' };\n}\n\nexport function validatePixCpfKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX CPF key input is empty');\n }\n\n const result = validateCpf(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message, keyType: 'cpf' };\n }\n\n return {\n ok: true,\n value: brandPixKey(result.value),\n keyType: 'cpf',\n format: result.format,\n };\n}\n","/**\n * PIX key constants — Bacen DICT API + Manual de Iniciação do Pix.\n * @see https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html\n * @see https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nexport const PIX_EMAIL_MAX_LENGTH = 77;\nexport const PIX_EMAIL_PATTERN =\n /^[a-z0-9.!#$'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/;\n\nexport const PIX_PHONE_E164_PATTERN = /^\\+[1-9]\\d{1,14}$/;\nexport const PIX_PHONE_BR_MOBILE_PATTERN = /^\\+55\\d{2}9\\d{8}$/;\n\nexport const PIX_EVP_PATTERN =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;\n\nexport const PIX_CPF_DIGITS_PATTERN = /^[0-9]{11}$/;\n\nexport const PIX_GOLDEN_CPF = '12345678909';\nexport const PIX_GOLDEN_CNPJ_NUMERIC = '11222333000181';\nexport const PIX_GOLDEN_CNPJ_ALPHANUMERIC = '12ABC34501DE35';\nexport const PIX_GOLDEN_EMAIL = 'pix@bcb.gov.br';\nexport const PIX_GOLDEN_PHONE = '+5510998765432';\nexport const PIX_GOLDEN_PHONE_SECONDARY = '+5561912345678';\nexport const PIX_GOLDEN_EVP = '123e4567-e89b-12d3-a456-426655440000';\nexport const PIX_GOLDEN_EMAIL_SECONDARY = 'fulano_da_silva.recebedor@example.com';\n\nexport const PIX_OFFICIAL_SOURCE_URL =\n 'https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf';\n\nexport const PIX_DICT_API_SOURCE_URL =\n 'https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html';\n","import { stripCnpj } from '../../strip/cnpj.js';\nimport { stripCpf } from '../../strip/cpf.js';\nimport type { PixKeyType } from '../../types/validation-result.js';\nimport { detectCnpjFormat } from '../cnpj/detect.js';\nimport {\n PIX_CPF_DIGITS_PATTERN,\n PIX_EVP_PATTERN,\n} from './constants.js';\n\nexport type DetectedPixKeyType = PixKeyType | 'unknown';\n\nfunction isCpfShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCpf(trimmed);\n if (!PIX_CPF_DIGITS_PATTERN.test(stripped)) {\n return false;\n }\n return /^[\\d.\\-\\s]+$/.test(trimmed);\n}\n\nfunction isCnpjShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCnpj(trimmed);\n if (detectCnpjFormat(stripped) === 'unknown') {\n return false;\n }\n return /^[A-Za-z0-9./\\-\\s]+$/.test(trimmed);\n}\n\nexport function detectPixKeyType(input: string): DetectedPixKeyType {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return 'unknown';\n }\n\n if (trimmed.includes('@')) {\n return 'email';\n }\n\n if (trimmed.startsWith('+')) {\n return 'phone';\n }\n\n if (PIX_EVP_PATTERN.test(trimmed)) {\n return 'evp';\n }\n\n if (isCpfShapedInput(trimmed)) {\n return 'cpf';\n }\n\n if (isCnpjShapedInput(trimmed)) {\n return 'cnpj';\n }\n\n return 'unknown';\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_EMAIL_MAX_LENGTH, PIX_EMAIL_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'email' };\n}\n\nexport function validatePixEmailKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX email key input is empty');\n }\n\n if (trimmed !== trimmed.toLowerCase()) {\n return failure('INVALID_CHARACTER', 'PIX email key must be lowercase');\n }\n\n if (trimmed.length > PIX_EMAIL_MAX_LENGTH) {\n return failure('INVALID_LENGTH', `PIX email key must have at most ${PIX_EMAIL_MAX_LENGTH} characters`);\n }\n\n if (!trimmed.includes('@') || !PIX_EMAIL_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX email key format is invalid');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'email',\n format: 'email',\n };\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_EVP_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'evp' };\n}\n\nexport function validatePixEvpKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX EVP key input is empty');\n }\n\n if (trimmed !== trimmed.toLowerCase()) {\n return failure('INVALID_CHARACTER', 'PIX EVP key must be lowercase');\n }\n\n if (!PIX_EVP_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX EVP key must be a lowercase UUID with hyphens');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'evp',\n format: 'evp',\n };\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_PHONE_BR_MOBILE_PATTERN, PIX_PHONE_E164_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'phone' };\n}\n\nexport function validatePixPhoneKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX phone key input is empty');\n }\n\n if (!trimmed.startsWith('+')) {\n return failure('INVALID_CHARACTER', 'PIX phone key must start with + (E.164)');\n }\n\n if (!PIX_PHONE_E164_PATTERN.test(trimmed)) {\n return failure('INVALID_CHARACTER', 'PIX phone key contains invalid characters');\n }\n\n if (!trimmed.startsWith('+55')) {\n return failure('UNSUPPORTED_FORMAT', 'PIX phone key must use Brazilian country code +55');\n }\n\n if (!PIX_PHONE_BR_MOBILE_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX phone key must match Brazilian mobile format +55DD9XXXXXXXX');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'phone',\n format: 'phone',\n };\n}\n","/**\n * PIX key display masks — delegates to parent validators where applicable (BR-PIX-001…005).\n * @see docs/use-cases/UC-003-format-document.md\n */\nimport { applyCnpjMask } from '../cnpj/mask.js';\nimport { applyCpfMask } from '../cpf/mask.js';\n\nexport function applyPixCpfKeyMask(canonical: string): string {\n return applyCpfMask(canonical);\n}\n\nexport function applyPixCnpjKeyMask(canonical: string): string {\n return applyCnpjMask(canonical);\n}\n\n/** Brazilian mobile E.164 → +55 (DD) 9XXXX-XXXX display. */\nexport function applyPixPhoneKeyMask(e164: string): string {\n const match = /^\\+55(\\d{2})(9\\d{4})(\\d{4})$/.exec(e164);\n if (!match) {\n throw new Error('PIX phone key must be a validated Brazilian mobile E.164 number');\n }\n return `+55 (${match[1]}) ${match[2]}-${match[3]}`;\n}\n\nexport function applyPixEmailKeyMask(email: string): string {\n return email.toLowerCase().trim();\n}\n\nexport function applyPixEvpKeyMask(uuid: string): string {\n return uuid.toLowerCase();\n}\n","/**\n * PIX key validation — five Bacen types (CPF, CNPJ, email, phone, EVP).\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nimport type { PixKeyType, PixValidationResult } from '../../types/validation-result.js';\nimport { validatePixCnpjKey } from './cnpj.js';\nimport { validatePixCpfKey } from './cpf.js';\nimport { detectPixKeyType } from './detect.js';\nimport { validatePixEmailKey } from './email.js';\nimport { validatePixEvpKey } from './evp.js';\nimport { validatePixPhoneKey } from './phone.js';\n\nexport {\n PIX_DICT_API_SOURCE_URL,\n PIX_GOLDEN_CNPJ_ALPHANUMERIC,\n PIX_GOLDEN_CNPJ_NUMERIC,\n PIX_GOLDEN_CPF,\n PIX_GOLDEN_EMAIL,\n PIX_GOLDEN_EMAIL_SECONDARY,\n PIX_GOLDEN_EVP,\n PIX_GOLDEN_PHONE,\n PIX_GOLDEN_PHONE_SECONDARY,\n PIX_OFFICIAL_SOURCE_URL,\n} from './constants.js';\nexport { detectPixKeyType, type DetectedPixKeyType } from './detect.js';\nexport { validatePixCpfKey } from './cpf.js';\nexport { validatePixCnpjKey } from './cnpj.js';\nexport { validatePixEmailKey } from './email.js';\nexport { validatePixPhoneKey } from './phone.js';\nexport { validatePixEvpKey } from './evp.js';\nexport {\n applyPixCnpjKeyMask,\n applyPixCpfKeyMask,\n applyPixEmailKeyMask,\n applyPixEvpKeyMask,\n applyPixPhoneKeyMask,\n} from './mask.js';\n\nexport type ValidatePixKeyOptions = {\n type?: PixKeyType;\n};\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string, keyType?: PixKeyType): FailedResult {\n return { ok: false, code, message, ...(keyType ? { keyType } : {}) };\n}\n\nfunction validateByType(input: string, keyType: PixKeyType): PixValidationResult {\n switch (keyType) {\n case 'cpf':\n return validatePixCpfKey(input);\n case 'cnpj':\n return validatePixCnpjKey(input);\n case 'email':\n return validatePixEmailKey(input);\n case 'phone':\n return validatePixPhoneKey(input);\n case 'evp':\n return validatePixEvpKey(input);\n default: {\n const _exhaustive: never = keyType;\n return failure('UNSUPPORTED_FORMAT', `Unknown PIX key type: ${_exhaustive}`);\n }\n }\n}\n\nexport function isValidPixKey(input: string, options?: ValidatePixKeyOptions): boolean {\n return validatePixKey(input, options).ok;\n}\n\nexport function validatePixKey(input: string, options?: ValidatePixKeyOptions): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX key input is empty');\n }\n\n const detected = detectPixKeyType(trimmed);\n\n if (options?.type !== undefined) {\n if (detected !== 'unknown' && detected !== options.type) {\n return failure(\n 'UNSUPPORTED_FORMAT',\n `PIX key detected as ${detected} but forced type is ${options.type}`,\n options.type,\n );\n }\n return validateByType(trimmed, options.type);\n }\n\n if (detected === 'unknown') {\n return failure('UNSUPPORTED_FORMAT', 'PIX key type could not be determined');\n }\n\n return validateByType(trimmed, detected);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/pix/cnpj.ts","../src/core/pix/cpf.ts","../src/core/pix/constants.ts","../src/core/pix/detect.ts","../src/core/pix/email.ts","../src/core/pix/evp.ts","../src/core/pix/phone.ts","../src/core/pix/mask.ts","../src/core/pix/index.ts"],"names":["failure"],"mappings":"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","file":"chunk-7EMUKPPG.js","sourcesContent":["import { validateCnpj } from '../cnpj/index.js';\nimport type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'cnpj' };\n}\n\nexport function validatePixCnpjKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX CNPJ key input is empty');\n }\n\n const result = validateCnpj(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message, keyType: 'cnpj' };\n }\n\n return {\n ok: true,\n value: brandPixKey(result.value),\n keyType: 'cnpj',\n format: result.format,\n };\n}\n","import { validateCpf } from '../cpf/index.js';\nimport type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'cpf' };\n}\n\nexport function validatePixCpfKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX CPF key input is empty');\n }\n\n const result = validateCpf(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message, keyType: 'cpf' };\n }\n\n return {\n ok: true,\n value: brandPixKey(result.value),\n keyType: 'cpf',\n format: result.format,\n };\n}\n","/**\n * PIX key constants — Bacen DICT API + Manual de Iniciação do Pix.\n * @see https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html\n * @see https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nexport const PIX_EMAIL_MAX_LENGTH = 77;\nexport const PIX_EMAIL_PATTERN =\n /^[a-z0-9.!#$'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/;\n\nexport const PIX_PHONE_E164_PATTERN = /^\\+[1-9]\\d{1,14}$/;\nexport const PIX_PHONE_BR_MOBILE_PATTERN = /^\\+55\\d{2}9\\d{8}$/;\n\nexport const PIX_EVP_PATTERN =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;\n\nexport const PIX_CPF_DIGITS_PATTERN = /^[0-9]{11}$/;\n\nexport const PIX_GOLDEN_CPF = '12345678909';\nexport const PIX_GOLDEN_CNPJ_NUMERIC = '11222333000181';\nexport const PIX_GOLDEN_CNPJ_ALPHANUMERIC = '12ABC34501DE35';\nexport const PIX_GOLDEN_EMAIL = 'pix@bcb.gov.br';\nexport const PIX_GOLDEN_PHONE = '+5510998765432';\nexport const PIX_GOLDEN_PHONE_SECONDARY = '+5561912345678';\nexport const PIX_GOLDEN_EVP = '123e4567-e89b-12d3-a456-426655440000';\nexport const PIX_GOLDEN_EMAIL_SECONDARY = 'fulano_da_silva.recebedor@example.com';\n\nexport const PIX_OFFICIAL_SOURCE_URL =\n 'https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf';\n\nexport const PIX_DICT_API_SOURCE_URL =\n 'https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html';\n","import { stripCnpj } from '../../strip/cnpj.js';\nimport { stripCpf } from '../../strip/cpf.js';\nimport type { PixKeyType } from '../../types/validation-result.js';\nimport { detectCnpjFormat } from '../cnpj/detect.js';\nimport {\n PIX_CPF_DIGITS_PATTERN,\n PIX_EVP_PATTERN,\n} from './constants.js';\n\nexport type DetectedPixKeyType = PixKeyType | 'unknown';\n\nfunction isCpfShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCpf(trimmed);\n if (!PIX_CPF_DIGITS_PATTERN.test(stripped)) {\n return false;\n }\n return /^[\\d.\\-\\s]+$/.test(trimmed);\n}\n\nfunction isCnpjShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCnpj(trimmed);\n if (detectCnpjFormat(stripped) === 'unknown') {\n return false;\n }\n return /^[A-Za-z0-9./\\-\\s]+$/.test(trimmed);\n}\n\nexport function detectPixKeyType(input: string): DetectedPixKeyType {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return 'unknown';\n }\n\n if (trimmed.includes('@')) {\n return 'email';\n }\n\n if (trimmed.startsWith('+')) {\n return 'phone';\n }\n\n if (PIX_EVP_PATTERN.test(trimmed)) {\n return 'evp';\n }\n\n if (isCpfShapedInput(trimmed)) {\n return 'cpf';\n }\n\n if (isCnpjShapedInput(trimmed)) {\n return 'cnpj';\n }\n\n return 'unknown';\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_EMAIL_MAX_LENGTH, PIX_EMAIL_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'email' };\n}\n\nexport function validatePixEmailKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX email key input is empty');\n }\n\n if (trimmed !== trimmed.toLowerCase()) {\n return failure('INVALID_CHARACTER', 'PIX email key must be lowercase');\n }\n\n if (trimmed.length > PIX_EMAIL_MAX_LENGTH) {\n return failure('INVALID_LENGTH', `PIX email key must have at most ${PIX_EMAIL_MAX_LENGTH} characters`);\n }\n\n if (!trimmed.includes('@') || !PIX_EMAIL_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX email key format is invalid');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'email',\n format: 'email',\n };\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_EVP_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'evp' };\n}\n\nexport function validatePixEvpKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX EVP key input is empty');\n }\n\n if (trimmed !== trimmed.toLowerCase()) {\n return failure('INVALID_CHARACTER', 'PIX EVP key must be lowercase');\n }\n\n if (!PIX_EVP_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX EVP key must be a lowercase UUID with hyphens');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'evp',\n format: 'evp',\n };\n}\n","import type { PixValidationResult } from '../../types/validation-result.js';\nimport { brandPixKey } from '../../types/validation-result.js';\nimport { PIX_PHONE_BR_MOBILE_PATTERN, PIX_PHONE_E164_PATTERN } from './constants.js';\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message, keyType: 'phone' };\n}\n\nexport function validatePixPhoneKey(input: string): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX phone key input is empty');\n }\n\n if (!trimmed.startsWith('+')) {\n return failure('INVALID_CHARACTER', 'PIX phone key must start with + (E.164)');\n }\n\n if (!PIX_PHONE_E164_PATTERN.test(trimmed)) {\n return failure('INVALID_CHARACTER', 'PIX phone key contains invalid characters');\n }\n\n if (!trimmed.startsWith('+55')) {\n return failure('UNSUPPORTED_FORMAT', 'PIX phone key must use Brazilian country code +55');\n }\n\n if (!PIX_PHONE_BR_MOBILE_PATTERN.test(trimmed)) {\n return failure('UNSUPPORTED_FORMAT', 'PIX phone key must match Brazilian mobile format +55DD9XXXXXXXX');\n }\n\n return {\n ok: true,\n value: brandPixKey(trimmed),\n keyType: 'phone',\n format: 'phone',\n };\n}\n","/**\n * PIX key display masks — delegates to parent validators where applicable (BR-PIX-001…005).\n * @see docs/use-cases/UC-003-format-document.md\n */\nimport { applyCnpjMask } from '../cnpj/mask.js';\nimport { applyCpfMask } from '../cpf/mask.js';\n\nexport function applyPixCpfKeyMask(canonical: string): string {\n return applyCpfMask(canonical);\n}\n\nexport function applyPixCnpjKeyMask(canonical: string): string {\n return applyCnpjMask(canonical);\n}\n\n/** Brazilian mobile E.164 → +55 (DD) 9XXXX-XXXX display. */\nexport function applyPixPhoneKeyMask(e164: string): string {\n const match = /^\\+55(\\d{2})(9\\d{4})(\\d{4})$/.exec(e164);\n if (!match) {\n throw new Error('PIX phone key must be a validated Brazilian mobile E.164 number');\n }\n return `+55 (${match[1]}) ${match[2]}-${match[3]}`;\n}\n\nexport function applyPixEmailKeyMask(email: string): string {\n return email.toLowerCase().trim();\n}\n\nexport function applyPixEvpKeyMask(uuid: string): string {\n return uuid.toLowerCase();\n}\n","/**\n * PIX key validation — five Bacen types (CPF, CNPJ, email, phone, EVP).\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nimport type { PixKeyType, PixValidationResult } from '../../types/validation-result.js';\nimport { validatePixCnpjKey } from './cnpj.js';\nimport { validatePixCpfKey } from './cpf.js';\nimport { detectPixKeyType } from './detect.js';\nimport { validatePixEmailKey } from './email.js';\nimport { validatePixEvpKey } from './evp.js';\nimport { validatePixPhoneKey } from './phone.js';\n\nexport {\n PIX_DICT_API_SOURCE_URL,\n PIX_GOLDEN_CNPJ_ALPHANUMERIC,\n PIX_GOLDEN_CNPJ_NUMERIC,\n PIX_GOLDEN_CPF,\n PIX_GOLDEN_EMAIL,\n PIX_GOLDEN_EMAIL_SECONDARY,\n PIX_GOLDEN_EVP,\n PIX_GOLDEN_PHONE,\n PIX_GOLDEN_PHONE_SECONDARY,\n PIX_OFFICIAL_SOURCE_URL,\n} from './constants.js';\nexport { detectPixKeyType, type DetectedPixKeyType } from './detect.js';\nexport { validatePixCpfKey } from './cpf.js';\nexport { validatePixCnpjKey } from './cnpj.js';\nexport { validatePixEmailKey } from './email.js';\nexport { validatePixPhoneKey } from './phone.js';\nexport { validatePixEvpKey } from './evp.js';\nexport {\n applyPixCnpjKeyMask,\n applyPixCpfKeyMask,\n applyPixEmailKeyMask,\n applyPixEvpKeyMask,\n applyPixPhoneKeyMask,\n} from './mask.js';\n\nexport type ValidatePixKeyOptions = {\n type?: PixKeyType;\n};\n\ntype FailedResult = Extract<PixValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string, keyType?: PixKeyType): FailedResult {\n return { ok: false, code, message, ...(keyType ? { keyType } : {}) };\n}\n\nfunction validateByType(input: string, keyType: PixKeyType): PixValidationResult {\n switch (keyType) {\n case 'cpf':\n return validatePixCpfKey(input);\n case 'cnpj':\n return validatePixCnpjKey(input);\n case 'email':\n return validatePixEmailKey(input);\n case 'phone':\n return validatePixPhoneKey(input);\n case 'evp':\n return validatePixEvpKey(input);\n default: {\n const _exhaustive: never = keyType;\n return failure('UNSUPPORTED_FORMAT', `Unknown PIX key type: ${_exhaustive}`);\n }\n }\n}\n\nexport function isValidPixKey(input: string, options?: ValidatePixKeyOptions): boolean {\n return validatePixKey(input, options).ok;\n}\n\nexport function validatePixKey(input: string, options?: ValidatePixKeyOptions): PixValidationResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return failure('EMPTY_INPUT', 'PIX key input is empty');\n }\n\n const detected = detectPixKeyType(trimmed);\n\n if (options?.type !== undefined) {\n if (detected !== 'unknown' && detected !== options.type) {\n return failure(\n 'UNSUPPORTED_FORMAT',\n `PIX key detected as ${detected} but forced type is ${options.type}`,\n options.type,\n );\n }\n return validateByType(trimmed, options.type);\n }\n\n if (detected === 'unknown') {\n return failure('UNSUPPORTED_FORMAT', 'PIX key type could not be determined');\n }\n\n return validateByType(trimmed, detected);\n}\n"]}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
+
import { PIS_PASEP_LENGTH, PIS_PASEP_BASE_LENGTH, PIS_PASEP_DV_WEIGHTS } from './chunk-W64OQYC4.js';
|
|
1
2
|
import { computeCheckDigit } from './chunk-OTZHMJYE.js';
|
|
2
|
-
import { brandPisPasep } from './chunk-
|
|
3
|
+
import { brandPisPasep } from './chunk-EMZCVV5Y.js';
|
|
3
4
|
|
|
4
5
|
// src/strip/pis-pasep.ts
|
|
5
6
|
function stripPisPasep(input) {
|
|
6
7
|
return input.replace(/\D/g, "");
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
// src/core/pis-pasep/constants.ts
|
|
10
|
-
var PIS_PASEP_DV_WEIGHTS = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
11
|
-
var PIS_PASEP_LENGTH = 11;
|
|
12
|
-
var PIS_PASEP_BASE_LENGTH = 10;
|
|
13
|
-
var PIS_PASEP_MASK_PATTERN = /^(\d{3})(\d{5})(\d{2})(\d{1})$/;
|
|
14
|
-
var PIS_PASEP_GOLDEN_PRIMARY = "10027230888";
|
|
15
|
-
var PIS_PASEP_GOLDEN_SECONDARY = "12056456402";
|
|
16
|
-
var PIS_PASEP_GOLDEN_PRIMARY_MASKED = "100.27230.88-8";
|
|
17
|
-
var PIS_PASEP_OFFICIAL_SOURCE_URL = "https://www.gov.br/previdencia/pt-br/outros/imagens/2015/07/rgrva_RegrasValidacao.pdf";
|
|
18
|
-
|
|
19
10
|
// src/core/pis-pasep/index.ts
|
|
20
11
|
function failure(code, message) {
|
|
21
12
|
return { ok: false, code, message };
|
|
@@ -68,6 +59,6 @@ function validatePisPasep(input) {
|
|
|
68
59
|
return failure("INVALID_CHECK_DIGIT", "PIS/PASEP check digit is invalid");
|
|
69
60
|
}
|
|
70
61
|
|
|
71
|
-
export {
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
export { isValidPisPasep, stripPisPasep, validatePisPasep };
|
|
63
|
+
//# sourceMappingURL=chunk-AG3VELYX.js.map
|
|
64
|
+
//# sourceMappingURL=chunk-AG3VELYX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/strip/pis-pasep.ts","../src/core/pis-pasep/index.ts"],"names":[],"mappings":";;;;;AAIO,SAAS,cAAc,KAAA,EAAuB;AACnD,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAChC;;;ACkBA,SAAS,OAAA,CAAQ,MAA4B,OAAA,EAA+B;AAC1E,EAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AACpC;AAEA,SAAS,WAAW,IAAA,EAAsB;AACxC,EAAA,OAAO,OAAO,IAAI,CAAA;AACpB;AAEA,SAAS,kBAAkB,KAAA,EAAwB;AACjD,EAAA,MAAM,KAAA,GAAQ,MAAM,CAAC,CAAA;AACrB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,IAAA,IAAI,KAAA,CAAM,CAAC,CAAA,KAAM,KAAA,EAAO;AACtB,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,wBAAwB,QAAA,EAA2B;AAC1D,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,qBAAqB,CAAA;AACpD,EAAA,MAAM,aAAa,MAAA,CAAO,iBAAA,CAAkB,IAAA,EAAM,oBAAA,EAAsB,UAAU,CAAC,CAAA;AACnF,EAAA,OAAO,QAAA,CAAS,MAAA,CAAO,qBAAqB,CAAA,KAAM,UAAA;AACpD;AAEA,SAAS,iBAAA,CAAkB,OAAe,QAAA,EAAuC;AAC/E,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA,CAAQ,eAAe,0BAA0B,CAAA;AAAA,EAC1D;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,OAAA,CAAQ,OAAA,EAAS,EAAE,CAAA;AAC7C,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,OAAA,CAAQ,qBAAqB,uCAAuC,CAAA;AAAA,EAC7E;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,gBAAA,EAAkB;AACxC,IAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,CAAA,oBAAA,EAAuB,gBAAgB,CAAA,2BAAA,CAA6B,CAAA;AAAA,EACvG;AAEA,EAAA,IAAI,iBAAA,CAAkB,QAAQ,CAAA,EAAG;AAC/B,IAAA,OAAO,OAAA,CAAQ,yBAAyB,gDAAgD,CAAA;AAAA,EAC1F;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,OAAO,gBAAA,CAAiB,KAAK,CAAA,CAAE,EAAA;AACjC;AAEO,SAAS,iBAAiB,KAAA,EAAiC;AAChE,EAAA,MAAM,QAAA,GAAW,cAAc,KAAK,CAAA;AACpC,EAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,KAAA,EAAO,QAAQ,CAAA;AACpD,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,IAAI,uBAAA,CAAwB,QAAQ,CAAA,EAAG;AACrC,IAAA,OAAO,EAAE,IAAI,IAAA,EAAM,KAAA,EAAO,cAAc,QAAQ,CAAA,EAAG,QAAQ,SAAA,EAAU;AAAA,EACvE;AAEA,EAAA,OAAO,OAAA,CAAQ,uBAAuB,kCAAkC,CAAA;AAC1E","file":"chunk-AG3VELYX.js","sourcesContent":["/**\n * Strip PIS/PASEP mask — digits only (BR-PIS-002).\n * @see https://www.gov.br/previdencia/pt-br/outros/imagens/2015/07/rgrva_RegrasValidacao.pdf — RV_03\n */\nexport function stripPisPasep(input: string): string {\n return input.replace(/\\D/g, '');\n}\n","/**\n * PIS/PASEP validation — modulo 11 (CNIS unified registry).\n * @see https://www.gov.br/previdencia/pt-br/outros/imagens/2015/07/rgrva_RegrasValidacao.pdf — RV_03\n * @see docs/use-cases/UC-006-validate-pis-pasep.md — golden vector 10027230888\n */\nimport { stripPisPasep } from '../../strip/pis-pasep.js';\nimport type { ValidationResult } from '../../types/validation-result.js';\nimport { brandPisPasep } from '../../types/validation-result.js';\nimport { computeCheckDigit } from '../cnpj/modulo11.js';\nimport {\n PIS_PASEP_BASE_LENGTH,\n PIS_PASEP_DV_WEIGHTS,\n PIS_PASEP_LENGTH,\n} from './constants.js';\n\nexport {\n PIS_PASEP_GOLDEN_PRIMARY,\n PIS_PASEP_GOLDEN_PRIMARY_MASKED,\n PIS_PASEP_GOLDEN_SECONDARY,\n PIS_PASEP_OFFICIAL_SOURCE_URL,\n} from './constants.js';\n\ntype FailedResult = Extract<ValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction digitValue(char: string): number {\n return Number(char);\n}\n\nfunction hasRepeatedDigits(value: string): boolean {\n const first = value[0];\n for (let i = 1; i < value.length; i++) {\n if (value[i] !== first) {\n return false;\n }\n }\n return true;\n}\n\nfunction isValidPisPasepChecksum(stripped: string): boolean {\n const base = stripped.slice(0, PIS_PASEP_BASE_LENGTH);\n const dvExpected = String(computeCheckDigit(base, PIS_PASEP_DV_WEIGHTS, digitValue));\n return stripped.charAt(PIS_PASEP_BASE_LENGTH) === dvExpected;\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'PIS/PASEP input is empty');\n }\n\n const withoutMask = input.replace(/[.-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'PIS/PASEP contains invalid characters');\n }\n\n if (stripped.length !== PIS_PASEP_LENGTH) {\n return failure('INVALID_LENGTH', `PIS/PASEP must have ${PIS_PASEP_LENGTH} digits after normalization`);\n }\n\n if (hasRepeatedDigits(stripped)) {\n return failure('KNOWN_INVALID_PATTERN', 'PIS/PASEP with all identical digits is invalid');\n }\n\n return null;\n}\n\nexport function isValidPisPasep(input: string): boolean {\n return validatePisPasep(input).ok;\n}\n\nexport function validatePisPasep(input: string): ValidationResult {\n const stripped = stripPisPasep(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n if (isValidPisPasepChecksum(stripped)) {\n return { ok: true, value: brandPisPasep(stripped), format: 'numeric' };\n }\n\n return failure('INVALID_CHECK_DIGIT', 'PIS/PASEP check digit is invalid');\n}\n"]}
|
|
@@ -6,25 +6,25 @@ var metadata_default = {
|
|
|
6
6
|
endpoints: [
|
|
7
7
|
"https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json"
|
|
8
8
|
],
|
|
9
|
-
capturadoEm: "2026-06-
|
|
10
|
-
atualizadoEm: "2026-06-
|
|
9
|
+
capturadoEm: "2026-06-24",
|
|
10
|
+
atualizadoEm: "2026-06-24T15:43:00.545Z",
|
|
11
11
|
contagens: {
|
|
12
12
|
ncm: 10515
|
|
13
13
|
},
|
|
14
14
|
alteracoes: {
|
|
15
|
-
adicionados:
|
|
15
|
+
adicionados: 0,
|
|
16
16
|
removidos: 0,
|
|
17
17
|
alterados: 0,
|
|
18
|
-
comparadoCom:
|
|
18
|
+
comparadoCom: "2026-06-23"
|
|
19
19
|
},
|
|
20
20
|
verificacao: {
|
|
21
21
|
agendamento: "diario",
|
|
22
22
|
workflow: "data-refresh-bot.yml",
|
|
23
|
-
ultimaExecucao: "2026-06-
|
|
23
|
+
ultimaExecucao: "2026-06-24T15:43:00.545Z"
|
|
24
24
|
},
|
|
25
25
|
documentacao: "docs/OFFICIAL-SOURCES.md#ncm-mercosur-nomenclature"
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { metadata_default };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-BBKNHH72.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-BBKNHH72.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ncm/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,2CAAA;AAAA,EACR,KAAA,EAAS,8CAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,GAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,
|
|
1
|
+
{"version":3,"sources":["../src/ncm/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,2CAAA;AAAA,EACR,KAAA,EAAS,8CAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,GAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-BBKNHH72.js","sourcesContent":["{\n \"id\": \"ncm\",\n \"nome\": \"NCM — Nomenclatura Comum do Mercosul\",\n \"fonte\": \"Receita Federal / Siscomex nomenclatura JSON\",\n \"endpoints\": [\n \"https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:00.545Z\",\n \"contagens\": {\n \"ncm\": 10515\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:43:00.545Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#ncm-mercosur-nomenclature\"\n}\n"]}
|
|
@@ -6,8 +6,8 @@ var metadata_default = {
|
|
|
6
6
|
endpoints: [
|
|
7
7
|
"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip"
|
|
8
8
|
],
|
|
9
|
-
capturadoEm: "2026-06-
|
|
10
|
-
atualizadoEm: "2026-06-
|
|
9
|
+
capturadoEm: "2026-06-24",
|
|
10
|
+
atualizadoEm: "2026-06-24T15:43:01.956Z",
|
|
11
11
|
contagens: {
|
|
12
12
|
portos: 1094
|
|
13
13
|
},
|
|
@@ -20,11 +20,11 @@ var metadata_default = {
|
|
|
20
20
|
verificacao: {
|
|
21
21
|
agendamento: "diario",
|
|
22
22
|
workflow: "data-refresh-bot.yml",
|
|
23
|
-
ultimaExecucao: "2026-06-
|
|
23
|
+
ultimaExecucao: "2026-06-24T15:43:01.956Z"
|
|
24
24
|
},
|
|
25
25
|
documentacao: "docs/OFFICIAL-SOURCES.md#portos"
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { metadata_default };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-BBYLFHZZ.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-BBYLFHZZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/portos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,uEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/portos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,uEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-BBYLFHZZ.js","sourcesContent":["{\n \"id\": \"portos\",\n \"nome\": \"ANTAQ port installations\",\n \"fonte\": \"ANTAQ — Instalações Portuárias Outorgadas (Portos.xlsx)\",\n \"endpoints\": [\n \"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:01.956Z\",\n \"contagens\": {\n \"portos\": 1094\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:43:01.956Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portos\"\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/simples-nacional/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "simples-nacional",
|
|
4
|
+
nome: "LC 123/2006 \u2014 Simples Nacional (anexos e faixas)",
|
|
5
|
+
fonte: "Lei Complementar 123/2006 \u2014 Anexos I a V (reda\xE7\xE3o LC 155/2016)",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm",
|
|
8
|
+
"http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430",
|
|
9
|
+
"http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=115262"
|
|
10
|
+
],
|
|
11
|
+
capturadoEm: "2026-06-25",
|
|
12
|
+
atualizadoEm: "2026-06-25T13:34:24.570Z",
|
|
13
|
+
contagens: {
|
|
14
|
+
anexos: 5,
|
|
15
|
+
faixas: 30
|
|
16
|
+
},
|
|
17
|
+
alteracoes: {
|
|
18
|
+
adicionados: 0,
|
|
19
|
+
removidos: 0,
|
|
20
|
+
alterados: 0,
|
|
21
|
+
comparadoCom: "2026-06-25"
|
|
22
|
+
},
|
|
23
|
+
verificacao: {
|
|
24
|
+
agendamento: "manual",
|
|
25
|
+
workflow: "data-refresh-bot.yml",
|
|
26
|
+
ultimaExecucao: "2026-06-25T13:34:24.570Z"
|
|
27
|
+
},
|
|
28
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#simples-nacional-anexos"
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { metadata_default };
|
|
32
|
+
//# sourceMappingURL=chunk-BG72VA7O.js.map
|
|
33
|
+
//# sourceMappingURL=chunk-BG72VA7O.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/simples-nacional/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,kBAAA;AAAA,EACN,IAAA,EAAQ,uDAAA;AAAA,EACR,KAAA,EAAS,2EAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,2DAAA;AAAA,IACA,+FAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU,CAAA;AAAA,IACV,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-BG72VA7O.js","sourcesContent":["{\n \"id\": \"simples-nacional\",\n \"nome\": \"LC 123/2006 — Simples Nacional (anexos e faixas)\",\n \"fonte\": \"Lei Complementar 123/2006 — Anexos I a V (redação LC 155/2016)\",\n \"endpoints\": [\n \"https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm\",\n \"http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430\",\n \"http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=115262\"\n ],\n \"capturadoEm\": \"2026-06-25\",\n \"atualizadoEm\": \"2026-06-25T13:34:24.570Z\",\n \"contagens\": {\n \"anexos\": 5,\n \"faixas\": 30\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-25\"\n },\n \"verificacao\": {\n \"agendamento\": \"manual\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-25T13:34:24.570Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#simples-nacional-anexos\"\n}\n"]}
|
|
@@ -6,25 +6,25 @@ var metadata_default = {
|
|
|
6
6
|
endpoints: [
|
|
7
7
|
"https://servicodados.ibge.gov.br/api/v2/cnae/subclasses"
|
|
8
8
|
],
|
|
9
|
-
capturadoEm: "2026-06-
|
|
10
|
-
atualizadoEm: "2026-06-
|
|
9
|
+
capturadoEm: "2026-06-24",
|
|
10
|
+
atualizadoEm: "2026-06-24T15:36:54.227Z",
|
|
11
11
|
contagens: {
|
|
12
12
|
cnaes: 1332
|
|
13
13
|
},
|
|
14
14
|
alteracoes: {
|
|
15
|
-
adicionados:
|
|
15
|
+
adicionados: 0,
|
|
16
16
|
removidos: 0,
|
|
17
17
|
alterados: 0,
|
|
18
|
-
comparadoCom:
|
|
18
|
+
comparadoCom: "2026-06-23"
|
|
19
19
|
},
|
|
20
20
|
verificacao: {
|
|
21
21
|
agendamento: "diario",
|
|
22
22
|
workflow: "data-refresh-bot.yml",
|
|
23
|
-
ultimaExecucao: "2026-06-
|
|
23
|
+
ultimaExecucao: "2026-06-24T15:36:54.227Z"
|
|
24
24
|
},
|
|
25
25
|
documentacao: "docs/OFFICIAL-SOURCES.md#cnae-economic-activity"
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { metadata_default };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-BMIYI2TC.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-BMIYI2TC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cnaes/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,OAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,8BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,KAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,
|
|
1
|
+
{"version":3,"sources":["../src/cnaes/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,OAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,8BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,KAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-BMIYI2TC.js","sourcesContent":["{\n \"id\": \"cnaes\",\n \"nome\": \"IBGE CNAE 2.3 Subclasses\",\n \"fonte\": \"IBGE API v2 /cnae/subclasses\",\n \"endpoints\": [\n \"https://servicodados.ibge.gov.br/api/v2/cnae/subclasses\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:36:54.227Z\",\n \"contagens\": {\n \"cnaes\": 1332\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:36:54.227Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cnae-economic-activity\"\n}\n"]}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { applyFixes } from './chunk-
|
|
2
|
-
import { validateRg } from './chunk-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { validateTelefone } from './chunk-
|
|
6
|
-
import { validateTituloEleitor } from './chunk-
|
|
7
|
-
import { validatePisPasep } from './chunk-
|
|
8
|
-
import { validatePlaca } from './chunk-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { validateIeSpRural } from './chunk-
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
1
|
+
import { applyFixes } from './chunk-DAX5PVBJ.js';
|
|
2
|
+
import { validateRg } from './chunk-E2BVDZKJ.js';
|
|
3
|
+
import { validateRenavam } from './chunk-QKAXRXU5.js';
|
|
4
|
+
import { validateProcessoJudicial } from './chunk-YA7RWTAE.js';
|
|
5
|
+
import { validateTelefone } from './chunk-2HD6TA3O.js';
|
|
6
|
+
import { validateTituloEleitor } from './chunk-Q2CFVQ2U.js';
|
|
7
|
+
import { validatePisPasep } from './chunk-AG3VELYX.js';
|
|
8
|
+
import { validatePlaca } from './chunk-P37C3MVF.js';
|
|
9
|
+
import { validateNfeChave } from './chunk-OM5ELPM6.js';
|
|
10
|
+
import { validateInscricaoEstadual } from './chunk-LXB5FIAQ.js';
|
|
11
|
+
import { validateIeSpRural } from './chunk-UJXGDUKJ.js';
|
|
12
|
+
import { validateEan } from './chunk-2NSBFMTP.js';
|
|
13
|
+
import { validateCep } from './chunk-UANHHEWY.js';
|
|
14
|
+
import { validateCnh } from './chunk-G4YT6X7N.js';
|
|
15
|
+
import { validateBoleto } from './chunk-M6VUQK73.js';
|
|
16
|
+
import { validateCpf } from './chunk-PUTVO6HG.js';
|
|
17
|
+
import { validateCnpj } from './chunk-MLUDCL3P.js';
|
|
18
|
+
import { validateCartaoCredito } from './chunk-2ZWBFVYY.js';
|
|
18
19
|
|
|
19
20
|
// src/sanitize/index.ts
|
|
20
21
|
function sanitize(raw, type, options = {}) {
|
|
@@ -97,6 +98,10 @@ function validateFixed(value, type, uf) {
|
|
|
97
98
|
const result = validateCartaoCredito(value);
|
|
98
99
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
99
100
|
}
|
|
101
|
+
case "ean": {
|
|
102
|
+
const result = validateEan(value);
|
|
103
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
104
|
+
}
|
|
100
105
|
case "inscricao-estadual": {
|
|
101
106
|
const result = validateInscricaoEstadual(value, { uf });
|
|
102
107
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
@@ -113,5 +118,5 @@ function validateFixed(value, type, uf) {
|
|
|
113
118
|
}
|
|
114
119
|
|
|
115
120
|
export { sanitize };
|
|
116
|
-
//# sourceMappingURL=chunk-
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-BNM3RSDY.js.map
|
|
122
|
+
//# sourceMappingURL=chunk-BNM3RSDY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-BNM3RSDY.js","sourcesContent":["/**\n * ETL-style document sanitization — applies fixes then validates (BR-SANITIZE-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport { applyFixes } from './fixes.js';\n\nexport type SanitizableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'telefone'\n | 'cnh'\n | 'renavam'\n | 'titulo-eleitor'\n | 'processo-judicial'\n | 'rg'\n | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\n | 'ean'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural';\n\nexport type SanitizeOptions = {\n uf?: UfCode;\n};\n\nexport type SanitizeSuccess = {\n ok: true;\n value: string;\n fixes: string[];\n};\n\nexport type SanitizeFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type SanitizeResult = SanitizeSuccess | SanitizeFailure;\n\nexport type { FixResult } from './fixes.js';\n\ntype ValidateFixedResult =\n | { ok: true; value: string }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport function sanitize(\n raw: string,\n type: SanitizableDocumentType,\n options: SanitizeOptions = {},\n): SanitizeResult {\n const { value: fixed, fixes } = applyFixes(raw, type);\n\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual sanitization',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG sanitization',\n };\n }\n\n const validation = validateFixed(fixed, type, options.uf);\n if (!validation.ok) {\n return { ok: false, code: validation.code, message: validation.message };\n }\n\n return { ok: true, value: validation.value, fixes };\n}\n\nfunction validateFixed(value: string, type: SanitizableDocumentType, uf?: UfCode): ValidateFixedResult {\n switch (type) {\n case 'cpf': {\n const result = validateCpf(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(value, { uf: uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(value, { uf: uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unsupported type: ${String(_exhaustive)}` };\n }\n }\n}\n"]}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { validateRg } from './chunk-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { validateTelefone } from './chunk-
|
|
5
|
-
import { validateTituloEleitor } from './chunk-
|
|
6
|
-
import { validatePisPasep } from './chunk-
|
|
7
|
-
import { validatePlaca } from './chunk-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { validateIeSpRural } from './chunk-
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
1
|
+
import { validateRg } from './chunk-E2BVDZKJ.js';
|
|
2
|
+
import { validateRenavam } from './chunk-QKAXRXU5.js';
|
|
3
|
+
import { validateProcessoJudicial } from './chunk-YA7RWTAE.js';
|
|
4
|
+
import { validateTelefone } from './chunk-2HD6TA3O.js';
|
|
5
|
+
import { validateTituloEleitor } from './chunk-Q2CFVQ2U.js';
|
|
6
|
+
import { validatePisPasep } from './chunk-AG3VELYX.js';
|
|
7
|
+
import { validatePlaca } from './chunk-P37C3MVF.js';
|
|
8
|
+
import { validateNfeChave } from './chunk-OM5ELPM6.js';
|
|
9
|
+
import { validateInscricaoEstadual } from './chunk-LXB5FIAQ.js';
|
|
10
|
+
import { validateIeSpRural } from './chunk-UJXGDUKJ.js';
|
|
11
|
+
import { validateEan } from './chunk-2NSBFMTP.js';
|
|
12
|
+
import { validateCep } from './chunk-UANHHEWY.js';
|
|
13
|
+
import { validateCnh } from './chunk-G4YT6X7N.js';
|
|
14
|
+
import { validateBoleto } from './chunk-M6VUQK73.js';
|
|
15
|
+
import { validateBrCode } from './chunk-ROU5ZHN7.js';
|
|
16
|
+
import { validatePixKey } from './chunk-7EMUKPPG.js';
|
|
17
|
+
import { validateCpf } from './chunk-PUTVO6HG.js';
|
|
18
|
+
import { validateCnpj } from './chunk-MLUDCL3P.js';
|
|
19
|
+
import { validateCartaoCredito } from './chunk-2ZWBFVYY.js';
|
|
19
20
|
|
|
20
21
|
// src/platform/validate-dispatch.ts
|
|
21
22
|
function validateForPlatform(input, type, options = {}) {
|
|
@@ -90,6 +91,10 @@ function validateForPlatform(input, type, options = {}) {
|
|
|
90
91
|
const result = validateCartaoCredito(input);
|
|
91
92
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
92
93
|
}
|
|
94
|
+
case "ean": {
|
|
95
|
+
const result = validateEan(input);
|
|
96
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
97
|
+
}
|
|
93
98
|
case "inscricao-estadual": {
|
|
94
99
|
const result = validateInscricaoEstadual(input, { uf: options.uf });
|
|
95
100
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
@@ -141,5 +146,5 @@ function batch(inputs, type, options = {}) {
|
|
|
141
146
|
}
|
|
142
147
|
|
|
143
148
|
export { batch };
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
145
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-BSNVQQTV.js.map
|
|
150
|
+
//# sourceMappingURL=chunk-BSNVQQTV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/index.ts"],"names":[],"mappings":"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","file":"chunk-BSNVQQTV.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(input, { uf: options.uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { validateEan, applyEanMask } from './chunk-2NSBFMTP.js';
|
|
2
|
+
|
|
3
|
+
// src/format/ean.ts
|
|
4
|
+
function formatEan(input) {
|
|
5
|
+
const result = validateEan(input);
|
|
6
|
+
if (!result.ok) {
|
|
7
|
+
return { ok: false, code: result.code, message: result.message };
|
|
8
|
+
}
|
|
9
|
+
return { ok: true, formatted: applyEanMask(result.value) };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { formatEan };
|
|
13
|
+
//# sourceMappingURL=chunk-BSSRVJ2C.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-BSSRVJ2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/format/ean.ts"],"names":[],"mappings":";;;AAIO,SAAS,UAAU,KAAA,EAA6B;AACrD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,YAAA,CAAa,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3D","file":"chunk-BSSRVJ2C.js","sourcesContent":["import { applyEanMask } from '../core/ean/mask.js';\nimport { validateEan } from '../core/ean/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatEan(input: string): FormatResult {\n const result = validateEan(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyEanMask(result.value) };\n}\n"]}
|
|
@@ -13,8 +13,8 @@ var metadata_default = {
|
|
|
13
13
|
"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca",
|
|
14
14
|
"https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias"
|
|
15
15
|
],
|
|
16
|
-
capturadoEm: "2026-06-
|
|
17
|
-
atualizadoEm: "2026-06-
|
|
16
|
+
capturadoEm: "2026-06-24",
|
|
17
|
+
atualizadoEm: "2026-06-24T15:43:02.768Z",
|
|
18
18
|
contagens: {
|
|
19
19
|
modalidades: 19,
|
|
20
20
|
"amparos-legais": 183,
|
|
@@ -34,11 +34,11 @@ var metadata_default = {
|
|
|
34
34
|
verificacao: {
|
|
35
35
|
agendamento: "diario",
|
|
36
36
|
workflow: "data-refresh-bot.yml",
|
|
37
|
-
ultimaExecucao: "2026-06-
|
|
37
|
+
ultimaExecucao: "2026-06-24T15:43:02.768Z"
|
|
38
38
|
},
|
|
39
39
|
documentacao: "docs/OFFICIAL-SOURCES.md#pncp-reference"
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export { metadata_default };
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
43
|
+
//# sourceMappingURL=chunk-CQQDYYFS.js.map
|
|
44
|
+
//# sourceMappingURL=chunk-CQQDYYFS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pncp-reference/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,8BAAA;AAAA,EACR,KAAA,EAAS,sEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6CAAA;AAAA,IACA,gDAAA;AAAA,IACA,gDAAA;AAAA,IACA,kEAAA;AAAA,IACA,iDAAA;AAAA,IACA,uDAAA;AAAA,IACA,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,WAAA,EAAe,EAAA;AAAA,IACf,gBAAA,EAAkB,GAAA;AAAA,IAClB,eAAA,EAAiB,CAAA;AAAA,IACjB,kCAAA,EAAoC,CAAA;AAAA,IACpC,gBAAA,EAAkB,EAAA;AAAA,IAClB,sBAAA,EAAwB,CAAA;AAAA,IACxB,6BAAA,EAA+B,CAAA;AAAA,IAC/B,sBAAA,EAAwB;AAAA,GAC1B;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/pncp-reference/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,8BAAA;AAAA,EACR,KAAA,EAAS,sEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6CAAA;AAAA,IACA,gDAAA;AAAA,IACA,gDAAA;AAAA,IACA,kEAAA;AAAA,IACA,iDAAA;AAAA,IACA,uDAAA;AAAA,IACA,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,WAAA,EAAe,EAAA;AAAA,IACf,gBAAA,EAAkB,GAAA;AAAA,IAClB,eAAA,EAAiB,CAAA;AAAA,IACjB,kCAAA,EAAoC,CAAA;AAAA,IACpC,gBAAA,EAAkB,EAAA;AAAA,IAClB,sBAAA,EAAwB,CAAA;AAAA,IACxB,6BAAA,EAA+B,CAAA;AAAA,IAC/B,sBAAA,EAAwB;AAAA,GAC1B;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-CQQDYYFS.js","sourcesContent":["{\n \"id\": \"pncp-reference\",\n \"nome\": \"PNCP domain reference tables\",\n \"fonte\": \"PNCP Cadastro API — static domain tables (Lei 14.133 ecosystem)\",\n \"endpoints\": [\n \"https://pncp.gov.br/api/pncp/v1/modalidades\",\n \"https://pncp.gov.br/api/pncp/v1/amparos-legais\",\n \"https://pncp.gov.br/api/pncp/v1/modos-disputas\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-convocatorios\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-contratos\",\n \"https://pncp.gov.br/api/pncp/v1/criterios-julgamentos\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca\",\n \"https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:02.768Z\",\n \"contagens\": {\n \"modalidades\": 19,\n \"amparos-legais\": 183,\n \"modos-disputa\": 6,\n \"tipos-instrumentos-convocatorios\": 5,\n \"tipos-contrato\": 12,\n \"criterios-julgamento\": 9,\n \"tipos-instrumentos-cobranca\": 1,\n \"fontes-orcamentarias\": 6\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:43:02.768Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#pncp-reference\"\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { stripProcessoJudicial } from './chunk-
|
|
2
|
-
import { normalizeTelefoneDigits, extractTelefoneDigits } from './chunk-
|
|
3
|
-
import { stripPisPasep } from './chunk-
|
|
4
|
-
import { stripInscricaoEstadual } from './chunk-
|
|
5
|
-
import { stripIeSpRural } from './chunk-
|
|
1
|
+
import { stripProcessoJudicial } from './chunk-YA7RWTAE.js';
|
|
2
|
+
import { normalizeTelefoneDigits, extractTelefoneDigits } from './chunk-2HD6TA3O.js';
|
|
3
|
+
import { stripPisPasep } from './chunk-AG3VELYX.js';
|
|
4
|
+
import { stripInscricaoEstadual } from './chunk-LXB5FIAQ.js';
|
|
5
|
+
import { stripIeSpRural } from './chunk-UJXGDUKJ.js';
|
|
6
6
|
import { stripTituloEleitor, stripRenavam, stripCnh, stripPlaca, stripCep } from './chunk-YYHS5WQN.js';
|
|
7
7
|
import { stripNfeChave } from './chunk-4SNBZFS5.js';
|
|
8
|
-
import { stripCnpj } from './chunk-EB3G4IG6.js';
|
|
9
8
|
import { stripCpf } from './chunk-UCJPSJN5.js';
|
|
9
|
+
import { stripCnpj } from './chunk-EB3G4IG6.js';
|
|
10
10
|
|
|
11
11
|
// src/sanitize/fixes.ts
|
|
12
12
|
function trimFix(raw) {
|
|
@@ -76,6 +76,7 @@ function applyFixes(raw, type) {
|
|
|
76
76
|
case "renavam":
|
|
77
77
|
case "nfe-chave":
|
|
78
78
|
case "cartao-credito":
|
|
79
|
+
case "ean":
|
|
79
80
|
case "boleto":
|
|
80
81
|
case "titulo-eleitor":
|
|
81
82
|
case "processo-judicial":
|
|
@@ -126,6 +127,7 @@ function stripForType(value, type) {
|
|
|
126
127
|
case "boleto":
|
|
127
128
|
return value.replace(/\D/g, "");
|
|
128
129
|
case "cartao-credito":
|
|
130
|
+
case "ean":
|
|
129
131
|
return value.replace(/\D/g, "");
|
|
130
132
|
case "inscricao-estadual":
|
|
131
133
|
return stripInscricaoEstadual(value);
|
|
@@ -139,5 +141,5 @@ function stripForType(value, type) {
|
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
export { applyFixes, stripForType };
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
143
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-DAX5PVBJ.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-DAX5PVBJ.js.map
|