@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sanitize/fixes.ts"],"names":[],"mappings":"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","file":"chunk-DAX5PVBJ.js","sourcesContent":["import { stripCep } from '../strip/cep.js';\nimport { stripCnh } from '../strip/cnh.js';\nimport { stripCnpj } from '../strip/cnpj.js';\nimport { stripCpf } from '../strip/cpf.js';\nimport { stripIeSpRural } from '../strip/inscricao-estadual-produtor-rural.js';\nimport { stripInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { stripNfeChave } from '../strip/nfe-chave.js';\nimport { stripPisPasep } from '../strip/pis-pasep.js';\nimport { stripPlaca } from '../strip/placa.js';\nimport { stripProcessoJudicial } from '../strip/processo-judicial.js';\nimport { stripRenavam } from '../strip/renavam.js';\nimport { stripTituloEleitor } from '../strip/titulo-eleitor.js';\nimport { extractTelefoneDigits, normalizeTelefoneDigits } from '../strip/telefone.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 FixResult = {\n value: string;\n fixes: string[];\n};\n\nfunction trimFix(raw: string): FixResult {\n const trimmed = raw.trim();\n const fixes: string[] = [];\n if (trimmed !== raw) {\n fixes.push('trimmed');\n }\n return { value: trimmed, fixes };\n}\n\nfunction digitsFix(value: string, fixes: string[]): FixResult {\n const digits = value.replace(/\\D/g, '');\n if (digits !== value) {\n fixes.push('removed_non_digits');\n }\n return { value: digits, fixes };\n}\n\nfunction upperAndStripSeparators(value: string, fixes: string[]): FixResult {\n const upper = value.toUpperCase();\n if (upper !== value) {\n fixes.push('uppercased');\n }\n const stripped = upper.replace(/[^A-Z0-9]/g, '');\n if (stripped !== upper) {\n fixes.push('removed_separators');\n }\n return { value: stripped, fixes };\n}\n\nfunction placaFix(value: string, fixes: string[]): FixResult {\n const upper = value.toUpperCase();\n if (upper !== value) {\n fixes.push('uppercased');\n }\n if (/[-.\\s/]/.test(value)) {\n fixes.push('removed_separators');\n }\n return { value: stripPlaca(upper), fixes };\n}\n\nfunction telefoneFix(value: string, fixes: string[]): FixResult {\n if (/[\\s()-]/.test(value)) {\n fixes.push('removed_mask_chars');\n }\n const digitsOnly = extractTelefoneDigits(value);\n const normalized = normalizeTelefoneDigits(value);\n if (normalized !== digitsOnly && normalized.length > 0) {\n fixes.push('normalized_national');\n }\n return { value: normalized, fixes };\n}\n\nfunction ieProdutorRuralFix(value: string, fixes: string[]): FixResult {\n const upper = value.toUpperCase();\n if (upper !== value) {\n fixes.push('uppercased');\n }\n if (/^[Pp]/.test(upper)) {\n fixes.push('preserved_p_prefix');\n }\n return { value: stripIeSpRural(upper), fixes };\n}\n\nexport function applyFixes(raw: string, type: SanitizableDocumentType): FixResult {\n const { value: trimmed, fixes } = trimFix(raw);\n\n switch (type) {\n case 'cpf':\n case 'cep':\n case 'pis-pasep':\n case 'cnh':\n case 'renavam':\n case 'nfe-chave':\n case 'cartao-credito':\n case 'ean':\n case 'boleto':\n case 'titulo-eleitor':\n case 'processo-judicial':\n case 'inscricao-estadual':\n return digitsFix(trimmed, fixes);\n case 'rg':\n return upperAndStripSeparators(trimmed, fixes);\n case 'cnpj':\n return upperAndStripSeparators(trimmed, fixes);\n case 'placa':\n return placaFix(trimmed, fixes);\n case 'telefone':\n return telefoneFix(trimmed, fixes);\n case 'inscricao-estadual-produtor-rural':\n return ieProdutorRuralFix(trimmed, fixes);\n default: {\n const _exhaustive: never = type;\n return { value: _exhaustive, fixes };\n }\n }\n}\n\n/** Validates canonical strip output matches fix pipeline (used in tests). */\nexport function stripForType(value: string, type: SanitizableDocumentType): string {\n switch (type) {\n case 'cpf':\n return stripCpf(value);\n case 'cnpj':\n return stripCnpj(value);\n case 'cep':\n return stripCep(value);\n case 'placa':\n return stripPlaca(value);\n case 'pis-pasep':\n return stripPisPasep(value);\n case 'telefone':\n return normalizeTelefoneDigits(value);\n case 'cnh':\n return stripCnh(value);\n case 'renavam':\n return stripRenavam(value);\n case 'titulo-eleitor':\n return stripTituloEleitor(value);\n case 'processo-judicial':\n return stripProcessoJudicial(value);\n case 'rg':\n return value.toUpperCase().replace(/[^A-Z0-9]/g, '');\n case 'nfe-chave':\n return stripNfeChave(value);\n case 'boleto':\n return value.replace(/\\D/g, '');\n case 'cartao-credito':\n case 'ean':\n return value.replace(/\\D/g, '');\n case 'inscricao-estadual':\n return stripInscricaoEstadual(value);\n case 'inscricao-estadual-produtor-rural':\n return stripIeSpRural(value);\n default: {\n const _exhaustive: never = type;\n return _exhaustive;\n }\n }\n}\n"]}
|
|
@@ -6,25 +6,25 @@ var metadata_default = {
|
|
|
6
6
|
endpoints: [
|
|
7
7
|
"https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads/cbo2002-ocupacao.csv"
|
|
8
8
|
],
|
|
9
|
-
capturadoEm: "2026-06-
|
|
10
|
-
atualizadoEm: "2026-06-
|
|
9
|
+
capturadoEm: "2026-06-24",
|
|
10
|
+
atualizadoEm: "2026-06-24T15:43:01.168Z",
|
|
11
11
|
contagens: {
|
|
12
12
|
cbo: 2694
|
|
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:01.168Z"
|
|
24
24
|
},
|
|
25
25
|
documentacao: "docs/OFFICIAL-SOURCES.md#cbo-occupations"
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { metadata_default };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-DFPIMLGD.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-DFPIMLGD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cbo/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,uCAAA;AAAA,EACR,KAAA,EAAS,2BAAA;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/cbo/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,uCAAA;AAAA,EACR,KAAA,EAAS,2BAAA;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-DFPIMLGD.js","sourcesContent":["{\n \"id\": \"cbo\",\n \"nome\": \"CBO 2002 — Brazilian Occupations\",\n \"fonte\": \"MTE CBO 2002 ocupacao.csv\",\n \"endpoints\": [\n \"https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads/cbo2002-ocupacao.csv\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:01.168Z\",\n \"contagens\": {\n \"cbo\": 2694\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.168Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cbo-occupations\"\n}\n"]}
|
|
@@ -6,25 +6,25 @@ var metadata_default = {
|
|
|
6
6
|
endpoints: [
|
|
7
7
|
"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente"
|
|
8
8
|
],
|
|
9
|
-
capturadoEm: "2026-06-
|
|
10
|
-
atualizadoEm: "2026-06-
|
|
9
|
+
capturadoEm: "2026-06-24",
|
|
10
|
+
atualizadoEm: "2026-06-24T15:36:54.822Z",
|
|
11
11
|
contagens: {
|
|
12
12
|
cfop: 689
|
|
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.822Z"
|
|
24
24
|
},
|
|
25
25
|
documentacao: "docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations"
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { metadata_default };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-DH7N2ZS6.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-DH7N2ZS6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,
|
|
1
|
+
{"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;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-DH7N2ZS6.js","sourcesContent":["{\n \"id\": \"cfop\",\n \"nome\": \"CONFAZ CFOP\",\n \"fonte\": \"CONFAZ SINIEF Convênio s/nº 1970 — Anexo II\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:36:54.822Z\",\n \"contagens\": {\n \"cfop\": 689\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.822Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations\"\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateRenavam, RENAVAM_NUMERIC_PATTERN, RENAVAM_LENGTH } from './chunk-
|
|
1
|
+
import { validateRenavam, RENAVAM_NUMERIC_PATTERN, RENAVAM_LENGTH } from './chunk-QKAXRXU5.js';
|
|
2
2
|
|
|
3
3
|
// src/core/renavam/mask.ts
|
|
4
4
|
function applyRenavamCanonicalFormat(canonical) {
|
|
@@ -18,5 +18,5 @@ function formatRenavam(input) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export { formatRenavam };
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-DMUWIPJR.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-DMUWIPJR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/renavam/mask.ts","../src/format/renavam.ts"],"names":[],"mappings":";;;AAMO,SAAS,4BAA4B,SAAA,EAA2B;AACrE,EAAA,IAAI,CAAC,uBAAA,CAAwB,IAAA,CAAK,SAAS,CAAA,EAAG;AAC5C,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,cAAc,CAAA,iBAAA,CAAmB,CAAA;AAAA,EAChF;AACA,EAAA,OAAO,SAAA;AACT;;;ACPO,SAAS,cAAc,KAAA,EAA6B;AACzD,EAAA,MAAM,MAAA,GAAS,gBAAgB,KAAK,CAAA;AACpC,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,2BAAA,CAA4B,MAAA,CAAO,KAAK,CAAA,EAAE;AAC1E","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/renavam/mask.ts","../src/format/renavam.ts"],"names":[],"mappings":";;;AAMO,SAAS,4BAA4B,SAAA,EAA2B;AACrE,EAAA,IAAI,CAAC,uBAAA,CAAwB,IAAA,CAAK,SAAS,CAAA,EAAG;AAC5C,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,cAAc,CAAA,iBAAA,CAAmB,CAAA;AAAA,EAChF;AACA,EAAA,OAAO,SAAA;AACT;;;ACPO,SAAS,cAAc,KAAA,EAA6B;AACzD,EAAA,MAAM,MAAA,GAAS,gBAAgB,KAAK,CAAA;AACpC,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,2BAAA,CAA4B,MAAA,CAAO,KAAK,CAAA,EAAE;AAC1E","file":"chunk-DMUWIPJR.js","sourcesContent":["import { RENAVAM_LENGTH, RENAVAM_NUMERIC_PATTERN } from './constants.js';\n\n/**\n * Official system format — 11 contiguous digits (BR-RENAVAM-005).\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/portarias/2013/portaria0272013.pdf\n */\nexport function applyRenavamCanonicalFormat(canonical: string): string {\n if (!RENAVAM_NUMERIC_PATTERN.test(canonical)) {\n throw new Error(`RENAVAM must have exactly ${RENAVAM_LENGTH} digits to format`);\n }\n return canonical;\n}\n","import { applyRenavamCanonicalFormat } from '../core/renavam/mask.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatRenavam(input: string): FormatResult {\n const result = validateRenavam(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyRenavamCanonicalFormat(result.value) };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { brandRg } from './chunk-
|
|
1
|
+
import { brandRg } from './chunk-EMZCVV5Y.js';
|
|
2
2
|
|
|
3
3
|
// src/core/rg/constants.ts
|
|
4
4
|
var RG_OFFICIAL_SOURCE_URL = "http://ghiorzi.org/DVnew.htm";
|
|
@@ -394,5 +394,5 @@ function formatRg(input, options) {
|
|
|
394
394
|
}
|
|
395
395
|
|
|
396
396
|
export { RG_MG_GOLDEN, RG_MG_GOLDEN_MASKED, RG_MG_GOLDEN_PREFIXED, RG_OFFICIAL_SOURCE_URL, RG_OFFICIAL_SOURCE_URLS, RG_PR_GOLDEN, RG_RJ_GOLDEN, RG_RJ_GOLDEN_MASKED, RG_RS_GOLDEN, RG_SC_GOLDEN, RG_SP_GOLDEN, RG_SP_GOLDEN_MASKED, RG_SP_GOLDEN_X, RG_SP_GOLDEN_X_MASKED, RG_SUPPORTED_UFS, RG_UF_RULES, computeRgMod10AlternatingCheckDigit, computeRgSpCheckDigit, formatRg, getRgOfficialSourceUrl, getRgUfRules, getRgUfSupport, isValidRg, stripRg, validateRg, validateRgMg, validateRgPr, validateRgRj, validateRgRs, validateRgSc, validateRgSp };
|
|
397
|
-
//# sourceMappingURL=chunk-
|
|
398
|
-
//# sourceMappingURL=chunk-
|
|
397
|
+
//# sourceMappingURL=chunk-E2BVDZKJ.js.map
|
|
398
|
+
//# sourceMappingURL=chunk-E2BVDZKJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/rg/constants.ts","../src/core/rg/modulo-rg.ts","../src/core/rg/rg-common.ts","../src/core/rg/mg.ts","../src/core/rg/pr.ts","../src/core/rg/rj.ts","../src/core/rg/rs.ts","../src/core/rg/sc.ts","../src/core/rg/sp.ts","../src/core/rg/mask.ts","../src/core/rg/index.ts"],"names":["UF","RULES"],"mappings":"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","file":"chunk-G557DGIX.js","sourcesContent":["/**\n * RG (Registro Geral) — per-UF rules (phase 1: SP, RJ, MG, RS, PR, SC).\n * @see http://ghiorzi.org/DVnew.htm — SSP-SP, IFP-RJ, MaSP-MG check digits\n */\nimport type { RgUfCode } from '../../types/validation-result.js';\nimport type { RgUfRules } from './types.js';\n\nexport const RG_OFFICIAL_SOURCE_URL = 'http://ghiorzi.org/DVnew.htm';\n\nexport const RG_OFFICIAL_SOURCE_URLS: Record<RgUfCode, string> = {\n SP: 'http://ghiorzi.org/DVnew.htm',\n RJ: 'http://ghiorzi.org/DVnew.htm',\n MG: 'http://ghiorzi.org/DVnew.htm',\n PR: 'https://www.iipar.pr.gov.br/',\n RS: 'https://www.estado.rs.gov.br/',\n SC: 'https://www.ciasc.sc.gov.br/',\n};\n\nexport const RG_SUPPORTED_UFS = ['SP', 'RJ', 'MG', 'PR', 'RS', 'SC'] as const satisfies readonly RgUfCode[];\n\nexport const RG_SP_GOLDEN = '120300011';\nexport const RG_SP_GOLDEN_MASKED = '12.030.001-1';\nexport const RG_SP_GOLDEN_X = '00000005X';\nexport const RG_SP_GOLDEN_X_MASKED = '00.000.005-X';\n\nexport const RG_RJ_GOLDEN = '27998111';\nexport const RG_RJ_GOLDEN_MASKED = '2.799.811-1';\n\nexport const RG_MG_GOLDEN = '27998111';\nexport const RG_MG_GOLDEN_MASKED = '2.799.811-1';\nexport const RG_MG_GOLDEN_PREFIXED = 'M27998111';\n\nexport const RG_PR_GOLDEN = '12345678';\n\nexport const RG_RS_GOLDEN = '1234567890';\n\nexport const RG_SC_GOLDEN = '123456789';\n\nexport const RG_UF_RULES: Record<RgUfCode, RgUfRules> = {\n SP: {\n uf: 'SP',\n canonicalLength: 9,\n baseLength: 8,\n dvAlgorithm: 'mod11-remainder',\n allowsCheckDigitX: true,\n supportsMask: true,\n },\n RJ: {\n uf: 'RJ',\n canonicalLength: 8,\n baseLength: 7,\n dvAlgorithm: 'mod10-alternating',\n allowsCheckDigitX: false,\n supportsMask: true,\n },\n MG: {\n uf: 'MG',\n canonicalLength: 8,\n baseLength: 7,\n dvAlgorithm: 'mod10-alternating',\n allowsCheckDigitX: false,\n allowsLetterPrefix: 'M',\n supportsMask: true,\n },\n PR: {\n uf: 'PR',\n canonicalLength: 8,\n baseLength: 8,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: false,\n },\n RS: {\n uf: 'RS',\n canonicalLength: 10,\n baseLength: 10,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: false,\n },\n SC: {\n uf: 'SC',\n canonicalLength: 9,\n baseLength: 9,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: true,\n },\n};\n","/**\n * RG check-digit helpers — Ghiorzi DV reference (SSP-SP, IFP-RJ, MaSP-MG).\n * @see http://ghiorzi.org/DVnew.htm\n */\n\nconst SP_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2] as const;\n\n/** SSP-SP: remainder mod 11; 10 → X. */\nexport function computeRgSpCheckDigit(base8: string): string {\n let sum = 0;\n for (let i = 0; i < SP_WEIGHTS.length; i++) {\n sum += Number(base8.charAt(i)) * SP_WEIGHTS[i];\n }\n const remainder = sum % 11;\n return remainder === 10 ? 'X' : String(remainder);\n}\n\nfunction reduceMod10Digit(product: number): number {\n if (product > 9) {\n return Math.floor(product / 10) + (product % 10);\n }\n return product;\n}\n\n/** IFP-RJ / MaSP-MG: alternating 2,1 from unit with noves fora; complement to 10. */\nexport function computeRgMod10AlternatingCheckDigit(base: string): string {\n let sum = 0;\n for (let i = base.length - 1, position = 0; i >= 0; i--, position++) {\n const weight = position % 2 === 0 ? 2 : 1;\n sum += reduceMod10Digit(Number(base.charAt(i)) * weight);\n }\n const digit = (10 - (sum % 10)) % 10;\n return String(digit);\n}\n","import type { DocumentFormat } from '../../types/validation-result.js';\nimport { brandRg } from '../../types/validation-result.js';\nimport type { RgUfCode } from '../../types/validation-result.js';\nimport type { RgValidationResult } from './types.js';\n\nexport type RgFailedResult = Extract<RgValidationResult, { ok: false }>;\n\nexport function rgFailure(uf: RgUfCode, code: RgFailedResult['code'], message: string): RgFailedResult {\n return { ok: false, code, message, uf };\n}\n\nexport function rgSuccess(\n canonical: string,\n uf: RgUfCode,\n format: DocumentFormat,\n checkDigitValidated: boolean,\n): Extract<RgValidationResult, { ok: true }> {\n return {\n ok: true,\n value: brandRg(canonical),\n uf,\n format,\n checkDigitValidated,\n };\n}\n\nexport function checkRgTrimmedEmpty(trimmed: string, uf: RgUfCode): RgFailedResult | null {\n if (trimmed.length === 0) {\n return { ok: false, code: 'EMPTY_INPUT', message: 'RG input is empty', uf };\n }\n return null;\n}\n\nexport function normalizeRgCheckDigit(digit: string): string {\n return digit.toUpperCase();\n}\n\nexport function matchesRgCheckDigit(expected: string, actual: string): boolean {\n return normalizeRgCheckDigit(expected) === normalizeRgCheckDigit(actual);\n}\n","/**\n * Minas Gerais RG — MaSP modulo 10 alternating (Ghiorzi); optional M prefix.\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgMod10AlternatingCheckDigit } from './modulo-rg.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'MG' as const;\nconst RULES = RG_UF_RULES.MG;\nconst MG_CHAR_PATTERN = /^[Mm0-9.\\-\\s]+$/;\n\nexport function stripRgMg(input: string): string {\n const withoutSeparators = input.replace(/[.\\-\\s]/g, '');\n const upper = withoutSeparators.toUpperCase();\n if (upper.startsWith('M')) {\n return `M${upper.slice(1).replace(/\\D/g, '')}`;\n }\n return upper.replace(/\\D/g, '');\n}\n\nexport function validateRgMg(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!MG_CHAR_PATTERN.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'MG RG contains invalid characters');\n }\n\n const hasPrefix = /^[Mm]/.test(trimmed.replace(/[.\\-\\s]/g, ''));\n const stripped = stripRgMg(trimmed);\n const digits = hasPrefix ? stripped.slice(1) : stripped;\n if (digits.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `MG RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n const base = digits.slice(0, RULES.baseLength);\n const expected = computeRgMod10AlternatingCheckDigit(base);\n if (digits.charAt(RULES.baseLength) !== expected) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'MG RG check digit is invalid');\n }\n\n const branded = hasPrefix ? `M${digits}` : digits;\n return rgSuccess(branded, UF, 'rg', true);\n}\n","/**\n * Paraná RG — format-only (8 digits, no published DV algorithm).\n * @see https://www.iipar.pr.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'PR' as const;\nconst RULES = RG_UF_RULES.PR;\n\nexport function stripRgPr(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgPr(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'PR RG contains invalid characters');\n }\n\n const canonical = stripRgPr(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `PR RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * Rio de Janeiro RG — IFP-RJ modulo 10 alternating (Ghiorzi).\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgMod10AlternatingCheckDigit } from './modulo-rg.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'RJ' as const;\nconst RULES = RG_UF_RULES.RJ;\n\nexport function stripRgRj(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgRj(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'RJ RG contains invalid characters');\n }\n\n const canonical = stripRgRj(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `RJ RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n const base = canonical.slice(0, RULES.baseLength);\n const expected = computeRgMod10AlternatingCheckDigit(base);\n if (canonical.charAt(RULES.baseLength) !== expected) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'RJ RG check digit is invalid');\n }\n\n return rgSuccess(canonical, UF, 'rg', true);\n}\n","/**\n * Rio Grande do Sul RG — format-only (10 digits, IGP-RS).\n * @see https://www.estado.rs.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'RS' as const;\nconst RULES = RG_UF_RULES.RS;\n\nexport function stripRgRs(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgRs(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s/]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'RS RG contains invalid characters');\n }\n\n const canonical = stripRgRs(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `RS RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * Santa Catarina RG — format-only (9 digits; legacy SSP-SC numbering).\n * @see https://www.ciasc.sc.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'SC' as const;\nconst RULES = RG_UF_RULES.SC;\n\nexport function stripRgSc(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgSc(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SC RG contains invalid characters');\n }\n\n const canonical = stripRgSc(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `SC RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * São Paulo RG — SSP-SP modulo 11 (Ghiorzi).\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgSpCheckDigit } from './modulo-rg.js';\nimport {\n checkRgTrimmedEmpty,\n matchesRgCheckDigit,\n rgFailure,\n rgSuccess,\n} from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'SP' as const;\nconst RULES = RG_UF_RULES.SP;\nconst SP_CHAR_PATTERN = /^[0-9.\\-\\sXx]+$/;\n\nexport function stripRgSp(input: string): string {\n return input.replace(/[.\\-\\s]/g, '').toUpperCase();\n}\n\nexport function validateRgSp(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!SP_CHAR_PATTERN.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SP RG contains invalid characters');\n }\n\n const canonical = stripRgSp(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `SP RG must have ${RULES.canonicalLength} characters after normalization`,\n );\n }\n\n const base = canonical.slice(0, RULES.baseLength);\n if (!/^\\d{8}$/.test(base)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SP RG base must be 8 digits');\n }\n\n const expected = computeRgSpCheckDigit(base);\n const actual = canonical.charAt(RULES.baseLength);\n if (!matchesRgCheckDigit(expected, actual)) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'SP RG check digit is invalid');\n }\n\n return rgSuccess(canonical, UF, 'rg', true);\n}\n","import { RG_UF_RULES } from './constants.js';\n\n/** SP / RJ / MG mask: XX.XXX.XXX-X */\nexport function applyRgSpStyleMask(canonical: string): string {\n if (canonical.length !== 9) {\n throw new Error('RG must have 9 characters for SP-style mask');\n }\n return `${canonical.slice(0, 2)}.${canonical.slice(2, 5)}.${canonical.slice(5, 8)}-${canonical.slice(8)}`;\n}\n\n/** RJ / MG (8 digits): X.XXX.XXX-X */\nexport function applyRgRjStyleMask(canonical: string): string {\n if (canonical.length !== 8) {\n throw new Error('RG must have 8 digits for RJ-style mask');\n }\n return `${canonical.charAt(0)}.${canonical.slice(1, 4)}.${canonical.slice(4, 7)}-${canonical.charAt(7)}`;\n}\n\n/** SC mask: XXX.XXX.XXX */\nexport function applyRgScMask(canonical: string): string {\n if (canonical.length !== 9) {\n throw new Error('RG must have 9 digits for SC mask');\n }\n return `${canonical.slice(0, 3)}.${canonical.slice(3, 6)}.${canonical.slice(6)}`;\n}\n\nexport function applyRgMask(canonical: string, uf: keyof typeof RG_UF_RULES): string {\n if (uf === 'SP') {\n return applyRgSpStyleMask(canonical);\n }\n if (uf === 'RJ' || uf === 'MG') {\n const digits = canonical.startsWith('M') ? canonical.slice(1) : canonical;\n const masked = applyRgRjStyleMask(digits);\n return canonical.startsWith('M') ? `M${masked}` : masked;\n }\n if (uf === 'SC') {\n return applyRgScMask(canonical);\n }\n return canonical;\n}\n","/**\n * RG (Registro Geral) validation — per-UF rules (phase 1).\n * @see docs/GLOSSARY.md — RG identidade\n */\nimport type { FormatResult, RgUfCode } from '../../types/validation-result.js';\nimport {\n RG_OFFICIAL_SOURCE_URLS,\n RG_SUPPORTED_UFS,\n RG_UF_RULES,\n} from './constants.js';\nimport { validateRgMg, stripRgMg } from './mg.js';\nimport { applyRgMask } from './mask.js';\nimport { validateRgPr, stripRgPr } from './pr.js';\nimport { validateRgRj, stripRgRj } from './rj.js';\nimport { validateRgRs, stripRgRs } from './rs.js';\nimport { validateRgSc, stripRgSc } from './sc.js';\nimport { validateRgSp, stripRgSp } from './sp.js';\nimport type { RgValidationResult, ValidateRgOptions } from './types.js';\n\nexport {\n RG_MG_GOLDEN,\n RG_MG_GOLDEN_MASKED,\n RG_MG_GOLDEN_PREFIXED,\n RG_OFFICIAL_SOURCE_URL,\n RG_OFFICIAL_SOURCE_URLS,\n RG_PR_GOLDEN,\n RG_RJ_GOLDEN,\n RG_RJ_GOLDEN_MASKED,\n RG_RS_GOLDEN,\n RG_SC_GOLDEN,\n RG_SP_GOLDEN,\n RG_SP_GOLDEN_MASKED,\n RG_SP_GOLDEN_X,\n RG_SP_GOLDEN_X_MASKED,\n RG_SUPPORTED_UFS,\n RG_UF_RULES,\n} from './constants.js';\nexport { computeRgMod10AlternatingCheckDigit, computeRgSpCheckDigit } from './modulo-rg.js';\nexport { stripRgMg, validateRgMg } from './mg.js';\nexport { applyRgMask, applyRgRjStyleMask, applyRgScMask, applyRgSpStyleMask } from './mask.js';\nexport { stripRgPr, validateRgPr } from './pr.js';\nexport { stripRgRj, validateRgRj } from './rj.js';\nexport { stripRgRs, validateRgRs } from './rs.js';\nexport { stripRgSc, validateRgSc } from './sc.js';\nexport { stripRgSp, validateRgSp } from './sp.js';\nexport type { RgDvAlgorithm, RgUfRules, RgValidationResult, ValidateRgOptions } from './types.js';\n\ntype FailedResult = Extract<RgValidationResult, { ok: false }>;\ntype ValidatorFn = (input: string) => RgValidationResult;\ntype StripperFn = (input: string) => string;\n\nconst VALIDATORS: Record<RgUfCode, ValidatorFn> = {\n SP: validateRgSp,\n RJ: validateRgRj,\n MG: validateRgMg,\n PR: validateRgPr,\n RS: validateRgRs,\n SC: validateRgSc,\n};\n\nconst STRIPPERS: Record<RgUfCode, StripperFn> = {\n SP: stripRgSp,\n RJ: stripRgRj,\n MG: stripRgMg,\n PR: stripRgPr,\n RS: stripRgRs,\n SC: stripRgSc,\n};\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction isSupportedRgUf(uf: string | undefined): uf is RgUfCode {\n return uf !== undefined && (RG_SUPPORTED_UFS as readonly string[]).includes(uf);\n}\n\nexport function getRgOfficialSourceUrl(uf: RgUfCode): string {\n return RG_OFFICIAL_SOURCE_URLS[uf];\n}\n\nexport function getRgUfSupport(): readonly RgUfCode[] {\n return RG_SUPPORTED_UFS;\n}\n\nexport function getRgUfRules(uf: RgUfCode) {\n return RG_UF_RULES[uf];\n}\n\nexport function stripRg(input: string, options: ValidateRgOptions): string {\n if (!isSupportedRgUf(options.uf)) {\n return input.replace(/\\D/g, '');\n }\n return STRIPPERS[options.uf](input);\n}\n\nexport function isValidRg(input: string, options: ValidateRgOptions): boolean {\n return validateRg(input, options).ok;\n}\n\nexport function validateRg(input: string, options: ValidateRgOptions): RgValidationResult {\n if (!isSupportedRgUf(options.uf)) {\n return failure('UF_NOT_IMPLEMENTED', `UF ${String(options.uf)} is not implemented for RG validation`);\n }\n return VALIDATORS[options.uf](input);\n}\n\nexport function formatRg(input: string, options: ValidateRgOptions): FormatResult {\n const result = validateRg(input, options);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n const rules = RG_UF_RULES[options.uf];\n if (!rules.supportsMask) {\n return { ok: true, formatted: result.value };\n }\n\n return { ok: true, formatted: applyRgMask(result.value, options.uf) };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/rg/constants.ts","../src/core/rg/modulo-rg.ts","../src/core/rg/rg-common.ts","../src/core/rg/mg.ts","../src/core/rg/pr.ts","../src/core/rg/rj.ts","../src/core/rg/rs.ts","../src/core/rg/sc.ts","../src/core/rg/sp.ts","../src/core/rg/mask.ts","../src/core/rg/index.ts"],"names":["UF","RULES"],"mappings":"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","file":"chunk-E2BVDZKJ.js","sourcesContent":["/**\n * RG (Registro Geral) — per-UF rules (phase 1: SP, RJ, MG, RS, PR, SC).\n * @see http://ghiorzi.org/DVnew.htm — SSP-SP, IFP-RJ, MaSP-MG check digits\n */\nimport type { RgUfCode } from '../../types/validation-result.js';\nimport type { RgUfRules } from './types.js';\n\nexport const RG_OFFICIAL_SOURCE_URL = 'http://ghiorzi.org/DVnew.htm';\n\nexport const RG_OFFICIAL_SOURCE_URLS: Record<RgUfCode, string> = {\n SP: 'http://ghiorzi.org/DVnew.htm',\n RJ: 'http://ghiorzi.org/DVnew.htm',\n MG: 'http://ghiorzi.org/DVnew.htm',\n PR: 'https://www.iipar.pr.gov.br/',\n RS: 'https://www.estado.rs.gov.br/',\n SC: 'https://www.ciasc.sc.gov.br/',\n};\n\nexport const RG_SUPPORTED_UFS = ['SP', 'RJ', 'MG', 'PR', 'RS', 'SC'] as const satisfies readonly RgUfCode[];\n\nexport const RG_SP_GOLDEN = '120300011';\nexport const RG_SP_GOLDEN_MASKED = '12.030.001-1';\nexport const RG_SP_GOLDEN_X = '00000005X';\nexport const RG_SP_GOLDEN_X_MASKED = '00.000.005-X';\n\nexport const RG_RJ_GOLDEN = '27998111';\nexport const RG_RJ_GOLDEN_MASKED = '2.799.811-1';\n\nexport const RG_MG_GOLDEN = '27998111';\nexport const RG_MG_GOLDEN_MASKED = '2.799.811-1';\nexport const RG_MG_GOLDEN_PREFIXED = 'M27998111';\n\nexport const RG_PR_GOLDEN = '12345678';\n\nexport const RG_RS_GOLDEN = '1234567890';\n\nexport const RG_SC_GOLDEN = '123456789';\n\nexport const RG_UF_RULES: Record<RgUfCode, RgUfRules> = {\n SP: {\n uf: 'SP',\n canonicalLength: 9,\n baseLength: 8,\n dvAlgorithm: 'mod11-remainder',\n allowsCheckDigitX: true,\n supportsMask: true,\n },\n RJ: {\n uf: 'RJ',\n canonicalLength: 8,\n baseLength: 7,\n dvAlgorithm: 'mod10-alternating',\n allowsCheckDigitX: false,\n supportsMask: true,\n },\n MG: {\n uf: 'MG',\n canonicalLength: 8,\n baseLength: 7,\n dvAlgorithm: 'mod10-alternating',\n allowsCheckDigitX: false,\n allowsLetterPrefix: 'M',\n supportsMask: true,\n },\n PR: {\n uf: 'PR',\n canonicalLength: 8,\n baseLength: 8,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: false,\n },\n RS: {\n uf: 'RS',\n canonicalLength: 10,\n baseLength: 10,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: false,\n },\n SC: {\n uf: 'SC',\n canonicalLength: 9,\n baseLength: 9,\n dvAlgorithm: 'format-only',\n allowsCheckDigitX: false,\n supportsMask: true,\n },\n};\n","/**\n * RG check-digit helpers — Ghiorzi DV reference (SSP-SP, IFP-RJ, MaSP-MG).\n * @see http://ghiorzi.org/DVnew.htm\n */\n\nconst SP_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2] as const;\n\n/** SSP-SP: remainder mod 11; 10 → X. */\nexport function computeRgSpCheckDigit(base8: string): string {\n let sum = 0;\n for (let i = 0; i < SP_WEIGHTS.length; i++) {\n sum += Number(base8.charAt(i)) * SP_WEIGHTS[i];\n }\n const remainder = sum % 11;\n return remainder === 10 ? 'X' : String(remainder);\n}\n\nfunction reduceMod10Digit(product: number): number {\n if (product > 9) {\n return Math.floor(product / 10) + (product % 10);\n }\n return product;\n}\n\n/** IFP-RJ / MaSP-MG: alternating 2,1 from unit with noves fora; complement to 10. */\nexport function computeRgMod10AlternatingCheckDigit(base: string): string {\n let sum = 0;\n for (let i = base.length - 1, position = 0; i >= 0; i--, position++) {\n const weight = position % 2 === 0 ? 2 : 1;\n sum += reduceMod10Digit(Number(base.charAt(i)) * weight);\n }\n const digit = (10 - (sum % 10)) % 10;\n return String(digit);\n}\n","import type { DocumentFormat } from '../../types/validation-result.js';\nimport { brandRg } from '../../types/validation-result.js';\nimport type { RgUfCode } from '../../types/validation-result.js';\nimport type { RgValidationResult } from './types.js';\n\nexport type RgFailedResult = Extract<RgValidationResult, { ok: false }>;\n\nexport function rgFailure(uf: RgUfCode, code: RgFailedResult['code'], message: string): RgFailedResult {\n return { ok: false, code, message, uf };\n}\n\nexport function rgSuccess(\n canonical: string,\n uf: RgUfCode,\n format: DocumentFormat,\n checkDigitValidated: boolean,\n): Extract<RgValidationResult, { ok: true }> {\n return {\n ok: true,\n value: brandRg(canonical),\n uf,\n format,\n checkDigitValidated,\n };\n}\n\nexport function checkRgTrimmedEmpty(trimmed: string, uf: RgUfCode): RgFailedResult | null {\n if (trimmed.length === 0) {\n return { ok: false, code: 'EMPTY_INPUT', message: 'RG input is empty', uf };\n }\n return null;\n}\n\nexport function normalizeRgCheckDigit(digit: string): string {\n return digit.toUpperCase();\n}\n\nexport function matchesRgCheckDigit(expected: string, actual: string): boolean {\n return normalizeRgCheckDigit(expected) === normalizeRgCheckDigit(actual);\n}\n","/**\n * Minas Gerais RG — MaSP modulo 10 alternating (Ghiorzi); optional M prefix.\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgMod10AlternatingCheckDigit } from './modulo-rg.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'MG' as const;\nconst RULES = RG_UF_RULES.MG;\nconst MG_CHAR_PATTERN = /^[Mm0-9.\\-\\s]+$/;\n\nexport function stripRgMg(input: string): string {\n const withoutSeparators = input.replace(/[.\\-\\s]/g, '');\n const upper = withoutSeparators.toUpperCase();\n if (upper.startsWith('M')) {\n return `M${upper.slice(1).replace(/\\D/g, '')}`;\n }\n return upper.replace(/\\D/g, '');\n}\n\nexport function validateRgMg(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!MG_CHAR_PATTERN.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'MG RG contains invalid characters');\n }\n\n const hasPrefix = /^[Mm]/.test(trimmed.replace(/[.\\-\\s]/g, ''));\n const stripped = stripRgMg(trimmed);\n const digits = hasPrefix ? stripped.slice(1) : stripped;\n if (digits.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `MG RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n const base = digits.slice(0, RULES.baseLength);\n const expected = computeRgMod10AlternatingCheckDigit(base);\n if (digits.charAt(RULES.baseLength) !== expected) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'MG RG check digit is invalid');\n }\n\n const branded = hasPrefix ? `M${digits}` : digits;\n return rgSuccess(branded, UF, 'rg', true);\n}\n","/**\n * Paraná RG — format-only (8 digits, no published DV algorithm).\n * @see https://www.iipar.pr.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'PR' as const;\nconst RULES = RG_UF_RULES.PR;\n\nexport function stripRgPr(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgPr(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'PR RG contains invalid characters');\n }\n\n const canonical = stripRgPr(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `PR RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * Rio de Janeiro RG — IFP-RJ modulo 10 alternating (Ghiorzi).\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgMod10AlternatingCheckDigit } from './modulo-rg.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'RJ' as const;\nconst RULES = RG_UF_RULES.RJ;\n\nexport function stripRgRj(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgRj(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'RJ RG contains invalid characters');\n }\n\n const canonical = stripRgRj(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `RJ RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n const base = canonical.slice(0, RULES.baseLength);\n const expected = computeRgMod10AlternatingCheckDigit(base);\n if (canonical.charAt(RULES.baseLength) !== expected) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'RJ RG check digit is invalid');\n }\n\n return rgSuccess(canonical, UF, 'rg', true);\n}\n","/**\n * Rio Grande do Sul RG — format-only (10 digits, IGP-RS).\n * @see https://www.estado.rs.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'RS' as const;\nconst RULES = RG_UF_RULES.RS;\n\nexport function stripRgRs(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgRs(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s/]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'RS RG contains invalid characters');\n }\n\n const canonical = stripRgRs(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `RS RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * Santa Catarina RG — format-only (9 digits; legacy SSP-SC numbering).\n * @see https://www.ciasc.sc.gov.br/\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { checkRgTrimmedEmpty, rgFailure, rgSuccess } from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'SC' as const;\nconst RULES = RG_UF_RULES.SC;\n\nexport function stripRgSc(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function validateRgSc(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!/^[0-9.\\-\\s]+$/.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SC RG contains invalid characters');\n }\n\n const canonical = stripRgSc(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `SC RG must have ${RULES.canonicalLength} digits after normalization`,\n );\n }\n\n return rgSuccess(canonical, UF, 'rg', false);\n}\n","/**\n * São Paulo RG — SSP-SP modulo 11 (Ghiorzi).\n */\nimport { RG_UF_RULES } from './constants.js';\nimport { computeRgSpCheckDigit } from './modulo-rg.js';\nimport {\n checkRgTrimmedEmpty,\n matchesRgCheckDigit,\n rgFailure,\n rgSuccess,\n} from './rg-common.js';\nimport type { RgValidationResult } from './types.js';\n\nconst UF = 'SP' as const;\nconst RULES = RG_UF_RULES.SP;\nconst SP_CHAR_PATTERN = /^[0-9.\\-\\sXx]+$/;\n\nexport function stripRgSp(input: string): string {\n return input.replace(/[.\\-\\s]/g, '').toUpperCase();\n}\n\nexport function validateRgSp(input: string): RgValidationResult {\n const trimmed = input.trim();\n const empty = checkRgTrimmedEmpty(trimmed, UF);\n if (empty) return empty;\n\n if (!SP_CHAR_PATTERN.test(trimmed)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SP RG contains invalid characters');\n }\n\n const canonical = stripRgSp(trimmed);\n if (canonical.length !== RULES.canonicalLength) {\n return rgFailure(\n UF,\n 'INVALID_LENGTH',\n `SP RG must have ${RULES.canonicalLength} characters after normalization`,\n );\n }\n\n const base = canonical.slice(0, RULES.baseLength);\n if (!/^\\d{8}$/.test(base)) {\n return rgFailure(UF, 'INVALID_CHARACTER', 'SP RG base must be 8 digits');\n }\n\n const expected = computeRgSpCheckDigit(base);\n const actual = canonical.charAt(RULES.baseLength);\n if (!matchesRgCheckDigit(expected, actual)) {\n return rgFailure(UF, 'INVALID_CHECK_DIGIT', 'SP RG check digit is invalid');\n }\n\n return rgSuccess(canonical, UF, 'rg', true);\n}\n","import { RG_UF_RULES } from './constants.js';\n\n/** SP / RJ / MG mask: XX.XXX.XXX-X */\nexport function applyRgSpStyleMask(canonical: string): string {\n if (canonical.length !== 9) {\n throw new Error('RG must have 9 characters for SP-style mask');\n }\n return `${canonical.slice(0, 2)}.${canonical.slice(2, 5)}.${canonical.slice(5, 8)}-${canonical.slice(8)}`;\n}\n\n/** RJ / MG (8 digits): X.XXX.XXX-X */\nexport function applyRgRjStyleMask(canonical: string): string {\n if (canonical.length !== 8) {\n throw new Error('RG must have 8 digits for RJ-style mask');\n }\n return `${canonical.charAt(0)}.${canonical.slice(1, 4)}.${canonical.slice(4, 7)}-${canonical.charAt(7)}`;\n}\n\n/** SC mask: XXX.XXX.XXX */\nexport function applyRgScMask(canonical: string): string {\n if (canonical.length !== 9) {\n throw new Error('RG must have 9 digits for SC mask');\n }\n return `${canonical.slice(0, 3)}.${canonical.slice(3, 6)}.${canonical.slice(6)}`;\n}\n\nexport function applyRgMask(canonical: string, uf: keyof typeof RG_UF_RULES): string {\n if (uf === 'SP') {\n return applyRgSpStyleMask(canonical);\n }\n if (uf === 'RJ' || uf === 'MG') {\n const digits = canonical.startsWith('M') ? canonical.slice(1) : canonical;\n const masked = applyRgRjStyleMask(digits);\n return canonical.startsWith('M') ? `M${masked}` : masked;\n }\n if (uf === 'SC') {\n return applyRgScMask(canonical);\n }\n return canonical;\n}\n","/**\n * RG (Registro Geral) validation — per-UF rules (phase 1).\n * @see docs/GLOSSARY.md — RG identidade\n */\nimport type { FormatResult, RgUfCode } from '../../types/validation-result.js';\nimport {\n RG_OFFICIAL_SOURCE_URLS,\n RG_SUPPORTED_UFS,\n RG_UF_RULES,\n} from './constants.js';\nimport { validateRgMg, stripRgMg } from './mg.js';\nimport { applyRgMask } from './mask.js';\nimport { validateRgPr, stripRgPr } from './pr.js';\nimport { validateRgRj, stripRgRj } from './rj.js';\nimport { validateRgRs, stripRgRs } from './rs.js';\nimport { validateRgSc, stripRgSc } from './sc.js';\nimport { validateRgSp, stripRgSp } from './sp.js';\nimport type { RgValidationResult, ValidateRgOptions } from './types.js';\n\nexport {\n RG_MG_GOLDEN,\n RG_MG_GOLDEN_MASKED,\n RG_MG_GOLDEN_PREFIXED,\n RG_OFFICIAL_SOURCE_URL,\n RG_OFFICIAL_SOURCE_URLS,\n RG_PR_GOLDEN,\n RG_RJ_GOLDEN,\n RG_RJ_GOLDEN_MASKED,\n RG_RS_GOLDEN,\n RG_SC_GOLDEN,\n RG_SP_GOLDEN,\n RG_SP_GOLDEN_MASKED,\n RG_SP_GOLDEN_X,\n RG_SP_GOLDEN_X_MASKED,\n RG_SUPPORTED_UFS,\n RG_UF_RULES,\n} from './constants.js';\nexport { computeRgMod10AlternatingCheckDigit, computeRgSpCheckDigit } from './modulo-rg.js';\nexport { stripRgMg, validateRgMg } from './mg.js';\nexport { applyRgMask, applyRgRjStyleMask, applyRgScMask, applyRgSpStyleMask } from './mask.js';\nexport { stripRgPr, validateRgPr } from './pr.js';\nexport { stripRgRj, validateRgRj } from './rj.js';\nexport { stripRgRs, validateRgRs } from './rs.js';\nexport { stripRgSc, validateRgSc } from './sc.js';\nexport { stripRgSp, validateRgSp } from './sp.js';\nexport type { RgDvAlgorithm, RgUfRules, RgValidationResult, ValidateRgOptions } from './types.js';\n\ntype FailedResult = Extract<RgValidationResult, { ok: false }>;\ntype ValidatorFn = (input: string) => RgValidationResult;\ntype StripperFn = (input: string) => string;\n\nconst VALIDATORS: Record<RgUfCode, ValidatorFn> = {\n SP: validateRgSp,\n RJ: validateRgRj,\n MG: validateRgMg,\n PR: validateRgPr,\n RS: validateRgRs,\n SC: validateRgSc,\n};\n\nconst STRIPPERS: Record<RgUfCode, StripperFn> = {\n SP: stripRgSp,\n RJ: stripRgRj,\n MG: stripRgMg,\n PR: stripRgPr,\n RS: stripRgRs,\n SC: stripRgSc,\n};\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction isSupportedRgUf(uf: string | undefined): uf is RgUfCode {\n return uf !== undefined && (RG_SUPPORTED_UFS as readonly string[]).includes(uf);\n}\n\nexport function getRgOfficialSourceUrl(uf: RgUfCode): string {\n return RG_OFFICIAL_SOURCE_URLS[uf];\n}\n\nexport function getRgUfSupport(): readonly RgUfCode[] {\n return RG_SUPPORTED_UFS;\n}\n\nexport function getRgUfRules(uf: RgUfCode) {\n return RG_UF_RULES[uf];\n}\n\nexport function stripRg(input: string, options: ValidateRgOptions): string {\n if (!isSupportedRgUf(options.uf)) {\n return input.replace(/\\D/g, '');\n }\n return STRIPPERS[options.uf](input);\n}\n\nexport function isValidRg(input: string, options: ValidateRgOptions): boolean {\n return validateRg(input, options).ok;\n}\n\nexport function validateRg(input: string, options: ValidateRgOptions): RgValidationResult {\n if (!isSupportedRgUf(options.uf)) {\n return failure('UF_NOT_IMPLEMENTED', `UF ${String(options.uf)} is not implemented for RG validation`);\n }\n return VALIDATORS[options.uf](input);\n}\n\nexport function formatRg(input: string, options: ValidateRgOptions): FormatResult {\n const result = validateRg(input, options);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n const rules = RG_UF_RULES[options.uf];\n if (!rules.supportsMask) {\n return { ok: true, formatted: result.value };\n }\n\n return { ok: true, formatted: applyRgMask(result.value, options.uf) };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateCep, CEP_MASK_PATTERN } from './chunk-
|
|
1
|
+
import { validateCep, CEP_MASK_PATTERN } from './chunk-UANHHEWY.js';
|
|
2
2
|
|
|
3
3
|
// src/core/cep/mask.ts
|
|
4
4
|
function applyCepMask(canonical) {
|
|
@@ -19,5 +19,5 @@ function formatCep(input) {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export { formatCep };
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-EDJC6HIP.js.map
|
|
23
|
+
//# sourceMappingURL=chunk-EDJC6HIP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/cep/mask.ts","../src/format/cep.ts"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,SAAA,EAA2B;AACtD,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAC7C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAChC;;;ACLO,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-
|
|
1
|
+
{"version":3,"sources":["../src/core/cep/mask.ts","../src/format/cep.ts"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,SAAA,EAA2B;AACtD,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAC7C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAChC;;;ACLO,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-EDJC6HIP.js","sourcesContent":["import { CEP_MASK_PATTERN } from './constants.js';\n\n/** Mask XXXXX-XXX (BR-CEP-004). */\nexport function applyCepMask(canonical: string): string {\n const match = CEP_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CEP must have exactly 8 digits to apply mask');\n }\n return `${match[1]}-${match[2]}`;\n}\n","import { applyCepMask } from '../core/cep/mask.js';\nimport { validateCep } from '../core/cep/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCep(input: string): FormatResult {\n const result = validateCep(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCepMask(result.value) };\n}\n"]}
|
|
@@ -29,6 +29,9 @@ function brandPlaca(value) {
|
|
|
29
29
|
function brandPisPasep(value) {
|
|
30
30
|
return value;
|
|
31
31
|
}
|
|
32
|
+
function brandNit(value) {
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
32
35
|
function brandPixKey(value) {
|
|
33
36
|
return value;
|
|
34
37
|
}
|
|
@@ -41,6 +44,9 @@ function brandCodigoBarras(value) {
|
|
|
41
44
|
function brandCartaoCredito(value) {
|
|
42
45
|
return value;
|
|
43
46
|
}
|
|
47
|
+
function brandEan(value) {
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
44
50
|
function brandInscricaoEstadual(value) {
|
|
45
51
|
return value;
|
|
46
52
|
}
|
|
@@ -57,6 +63,6 @@ function brandBrCodePayload(value) {
|
|
|
57
63
|
return value;
|
|
58
64
|
}
|
|
59
65
|
|
|
60
|
-
export { brandBrCodePayload, brandCartaoCredito, brandCep, brandCnh, brandCnpj, brandCodigoBarras, brandCpf, brandInscricaoEstadual, brandInscricaoEstadualProdutorRural, brandLinhaDigitavel, brandNfeChave, brandPisPasep, brandPixKey, brandPlaca, brandProcessoJudicial, brandRenavam, brandRg, brandTelefone, brandTituloEleitor };
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
export { brandBrCodePayload, brandCartaoCredito, brandCep, brandCnh, brandCnpj, brandCodigoBarras, brandCpf, brandEan, brandInscricaoEstadual, brandInscricaoEstadualProdutorRural, brandLinhaDigitavel, brandNfeChave, brandNit, brandPisPasep, brandPixKey, brandPlaca, brandProcessoJudicial, brandRenavam, brandRg, brandTelefone, brandTituloEleitor };
|
|
67
|
+
//# sourceMappingURL=chunk-EMZCVV5Y.js.map
|
|
68
|
+
//# sourceMappingURL=chunk-EMZCVV5Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/validation-result.ts"],"names":[],"mappings":";AA2LO,SAAS,UAAU,KAAA,EAAqB;AAC7C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,sBAAsB,KAAA,EAAiC;AACrE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,WAAW,KAAA,EAAsB;AAC/C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,kBAAkB,KAAA,EAA6B;AAC7D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,uBAAuB,KAAA,EAAkC;AACvE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,oCAAoC,KAAA,EAA+C;AACjG,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,QAAQ,KAAA,EAAmB;AACzC,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT","file":"chunk-EMZCVV5Y.js","sourcesContent":["export type DocumentFormat =\n | 'numeric'\n | 'alphanumeric'\n | 'legacy'\n | 'mercosul'\n | 'email'\n | 'phone'\n | 'evp'\n | 'linha-digitavel'\n | 'codigo-barras'\n | 'cartao-credito'\n | 'ean-8'\n | 'ean-13'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'telefone'\n | 'brcode'\n | 'arrecadacao'\n | 'rg';\n\nexport type PixKeyType = 'cpf' | 'cnpj' | 'email' | 'phone' | 'evp';\n\nexport type TelefoneTipo = 'celular' | 'fixo';\n\nexport type BoletoInputKind = 'linha-digitavel' | 'codigo-barras' | 'arrecadacao-linha' | 'arrecadacao-codigo-barras';\n\nexport type ValidationErrorCode =\n | 'INVALID_LENGTH'\n | 'INVALID_CHARACTER'\n | 'INVALID_CHECK_DIGIT'\n | 'KNOWN_INVALID_PATTERN'\n | 'UNSUPPORTED_FORMAT'\n | 'EMPTY_INPUT'\n | 'UF_NOT_IMPLEMENTED';\n\nexport type ValidationResult<T extends string = string> =\n | { ok: true; value: T; format: DocumentFormat }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type FormatResult =\n | { ok: true; formatted: string }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type Cnpj = string & { readonly __brand: 'Cnpj' };\nexport type Cpf = string & { readonly __brand: 'Cpf' };\nexport type Cnh = string & { readonly __brand: 'Cnh' };\nexport type Renavam = string & { readonly __brand: 'Renavam' };\nexport type TituloEleitor = string & { readonly __brand: 'TituloEleitor' };\nexport type NfeChave = string & { readonly __brand: 'NfeChave' };\nexport type ProcessoJudicial = string & { readonly __brand: 'ProcessoJudicial' };\nexport type Cep = string & { readonly __brand: 'Cep' };\nexport type Placa = string & { readonly __brand: 'Placa' };\nexport type PisPasep = string & { readonly __brand: 'PisPasep' };\nexport type Nit = string & { readonly __brand: 'Nit' };\n\nexport type NitIssuer = 'inss' | 'caixa';\nexport type NitTipo = 'nit' | 'pis' | 'nis';\n\nexport type NitValidationResult =\n | { ok: true; value: Nit; format: 'numeric'; issuer: NitIssuer; tipo: NitTipo }\n | { ok: false; code: ValidationErrorCode; message: string };\nexport type PixKey = string & { readonly __brand: 'PixKey' };\nexport type LinhaDigitavel = string & { readonly __brand: 'LinhaDigitavel' };\nexport type CodigoBarras = string & { readonly __brand: 'CodigoBarras' };\nexport type CartaoCredito = string & { readonly __brand: 'CartaoCredito' };\nexport type Ean = string & { readonly __brand: 'Ean' };\nexport type InscricaoEstadual = string & { readonly __brand: 'InscricaoEstadual' };\nexport type InscricaoEstadualProdutorRural = string & { readonly __brand: 'InscricaoEstadualProdutorRural' };\nexport type Rg = string & { readonly __brand: 'Rg' };\nexport type Telefone = string & { readonly __brand: 'Telefone' };\nexport type BrCodePayload = string & { readonly __brand: 'BrCodePayload' };\n\nexport type UfCode =\n | 'AC' | 'AL' | 'AM' | 'AP' | 'BA' | 'CE' | 'DF' | 'ES' | 'GO' | 'MA' | 'MG' | 'MS' | 'MT'\n | 'PA' | 'PB' | 'PE' | 'PI' | 'PR' | 'RJ' | 'RN' | 'RO' | 'RR' | 'RS' | 'SC' | 'SE' | 'SP' | 'TO';\n\n/** Phase-1 RG UFs with implemented validators. */\nexport type RgUfCode = 'SP' | 'RJ' | 'MG' | 'PR' | 'RS' | 'SC';\n\nexport type CardBrand = 'visa' | 'mastercard' | 'amex' | 'elo' | 'hipercard' | 'unknown';\n\nexport type CartaoCreditoValidationResult =\n | { ok: true; value: CartaoCredito; format: 'cartao-credito'; brand: CardBrand }\n | { ok: false; code: ValidationErrorCode; message: string; brand?: CardBrand };\n\nexport type EanValidationResult =\n | { ok: true; value: Ean; format: 'ean-8' | 'ean-13' }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type PixValidationResult =\n | { ok: true; value: PixKey; keyType: PixKeyType; format: DocumentFormat }\n | { ok: false; code: ValidationErrorCode; message: string; keyType?: PixKeyType };\n\nexport type BoletoSituacao = '1' | '2';\n\nexport type CobrancaBoletoValidationResult =\n | {\n ok: true;\n value: LinhaDigitavel | CodigoBarras;\n inputKind: 'linha-digitavel' | 'codigo-barras';\n format: 'linha-digitavel' | 'codigo-barras';\n situacao: BoletoSituacao;\n }\n | { ok: false; code: ValidationErrorCode; message: string; inputKind?: BoletoInputKind };\n\nexport type BoletoValidationResult =\n | {\n ok: true;\n value: LinhaDigitavel | CodigoBarras;\n inputKind: 'linha-digitavel' | 'codigo-barras';\n format: 'linha-digitavel' | 'codigo-barras';\n situacao: BoletoSituacao;\n }\n | {\n ok: true;\n value: string;\n inputKind: 'arrecadacao-linha' | 'arrecadacao-codigo-barras';\n format: 'arrecadacao';\n segment: string;\n valueType: '6' | '7' | '8' | '9';\n }\n | { ok: false; code: ValidationErrorCode; message: string; inputKind?: BoletoInputKind };\n\nexport type InscricaoEstadualValidationResult =\n | { ok: true; value: InscricaoEstadual; uf: UfCode; format: 'inscricao-estadual' }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type IeProdutorRuralValidationResult =\n | { ok: true; value: InscricaoEstadualProdutorRural; uf: 'SP'; format: 'inscricao-estadual-produtor-rural' }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type RgValidationResult =\n | {\n ok: true;\n value: Rg;\n uf: RgUfCode;\n format: DocumentFormat;\n checkDigitValidated: boolean;\n }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: RgUfCode };\n\nexport type TituloEleitorValidationResult =\n | {\n ok: true;\n value: TituloEleitor;\n format: 'numeric';\n ufCode: number;\n uf?: UfCode;\n exterior?: true;\n }\n | { ok: false; code: ValidationErrorCode; message: string; ufCode?: number };\n\nexport type NfeChaveParsed = {\n cUF: string;\n aamm: string;\n cnpj: string;\n mod: string;\n serie: string;\n nNF: string;\n tpEmis: string;\n cNF: string;\n cDV: string;\n};\n\nexport type NfeChaveValidationResult =\n | { ok: true; value: NfeChave; format: 'numeric'; parsed: NfeChaveParsed; uf?: UfCode }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type TelefoneValidationResult =\n | { ok: true; value: Telefone; tipo: TelefoneTipo; format: 'telefone' }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type BrCodeValidationResult =\n | {\n ok: true;\n value: BrCodePayload;\n format: 'brcode';\n merchantName: string;\n merchantCity: string;\n amount?: string;\n txid?: string;\n pixKey?: PixKey;\n pixKeyType?: PixKeyType;\n pixInitiationUrl?: string;\n }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport function brandCnpj(value: string): Cnpj {\n return value as Cnpj;\n}\n\nexport function brandCpf(value: string): Cpf {\n return value as Cpf;\n}\n\nexport function brandCnh(value: string): Cnh {\n return value as Cnh;\n}\n\nexport function brandRenavam(value: string): Renavam {\n return value as Renavam;\n}\n\nexport function brandTituloEleitor(value: string): TituloEleitor {\n return value as TituloEleitor;\n}\n\nexport function brandNfeChave(value: string): NfeChave {\n return value as NfeChave;\n}\n\nexport function brandProcessoJudicial(value: string): ProcessoJudicial {\n return value as ProcessoJudicial;\n}\n\nexport function brandCep(value: string): Cep {\n return value as Cep;\n}\n\nexport function brandPlaca(value: string): Placa {\n return value as Placa;\n}\n\nexport function brandPisPasep(value: string): PisPasep {\n return value as PisPasep;\n}\n\nexport function brandNit(value: string): Nit {\n return value as Nit;\n}\n\nexport function brandPixKey(value: string): PixKey {\n return value as PixKey;\n}\n\nexport function brandLinhaDigitavel(value: string): LinhaDigitavel {\n return value as LinhaDigitavel;\n}\n\nexport function brandCodigoBarras(value: string): CodigoBarras {\n return value as CodigoBarras;\n}\n\nexport function brandCartaoCredito(value: string): CartaoCredito {\n return value as CartaoCredito;\n}\n\nexport function brandEan(value: string): Ean {\n return value as Ean;\n}\n\nexport function brandInscricaoEstadual(value: string): InscricaoEstadual {\n return value as InscricaoEstadual;\n}\n\nexport function brandInscricaoEstadualProdutorRural(value: string): InscricaoEstadualProdutorRural {\n return value as InscricaoEstadualProdutorRural;\n}\n\nexport function brandRg(value: string): Rg {\n return value as Rg;\n}\n\nexport function brandTelefone(value: string): Telefone {\n return value as Telefone;\n}\n\nexport function brandBrCodePayload(value: string): BrCodePayload {\n return value as BrCodePayload;\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { applyPisPasepMask } from './chunk-XFKSJRWM.js';
|
|
2
|
+
import { validatePisPasep } from './chunk-AG3VELYX.js';
|
|
3
|
+
|
|
4
|
+
// src/format/pis-pasep.ts
|
|
5
|
+
function formatPisPasep(input) {
|
|
6
|
+
const result = validatePisPasep(input);
|
|
7
|
+
if (!result.ok) {
|
|
8
|
+
return { ok: false, code: result.code, message: result.message };
|
|
9
|
+
}
|
|
10
|
+
return { ok: true, formatted: applyPisPasepMask(result.value) };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { formatPisPasep };
|
|
14
|
+
//# sourceMappingURL=chunk-FI2JE6AS.js.map
|
|
15
|
+
//# sourceMappingURL=chunk-FI2JE6AS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/format/pis-pasep.ts"],"names":[],"mappings":";;;;AAIO,SAAS,eAAe,KAAA,EAA6B;AAC1D,EAAA,MAAM,MAAA,GAAS,iBAAiB,KAAK,CAAA;AACrC,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,iBAAA,CAAkB,MAAA,CAAO,KAAK,CAAA,EAAE;AAChE","file":"chunk-FI2JE6AS.js","sourcesContent":["import { applyPisPasepMask } from '../core/pis-pasep/mask.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatPisPasep(input: string): FormatResult {\n const result = validatePisPasep(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyPisPasepMask(result.value) };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { weightedSum } from './chunk-OTZHMJYE.js';
|
|
2
1
|
import { stripCnh } from './chunk-YYHS5WQN.js';
|
|
3
|
-
import {
|
|
2
|
+
import { weightedSum } from './chunk-OTZHMJYE.js';
|
|
3
|
+
import { brandCnh } from './chunk-EMZCVV5Y.js';
|
|
4
4
|
|
|
5
5
|
// src/core/cnh/constants.ts
|
|
6
6
|
var CNH_DV1_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2, 1];
|
|
@@ -100,5 +100,5 @@ function validateCnh(input) {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
export { CNH_BASE_LENGTH, CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS, CNH_GOLDEN_DISCOUNT_CASE, CNH_GOLDEN_PRIMARY, CNH_GOLDEN_PRIMARY_DECORATED_INPUT, CNH_GOLDEN_SECONDARY, CNH_LENGTH, CNH_NUMERIC_PATTERN, CNH_OFFICIAL_SOURCE_URL, CNH_SENATRAN_VALIDAR_URL, computeCnhCheckDigits, isValidCnh, validateCnh };
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-G4YT6X7N.js.map
|
|
104
|
+
//# sourceMappingURL=chunk-G4YT6X7N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/cnh/constants.ts","../src/core/cnh/check-digits.ts","../src/core/cnh/index.ts"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/cnh/constants.ts","../src/core/cnh/check-digits.ts","../src/core/cnh/index.ts"],"names":[],"mappings":"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","file":"chunk-G4YT6X7N.js","sourcesContent":["/**\n * CNH constants — Registro Nacional modulo 11 (CONTRAN / SENATRAN).\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/Resolucao8862021.pdf\n * @see https://www.gov.br/pt-br/servicos/validar-cnh\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n * @see https://www.geravalida.com.br/validador-cnh — implementation cross-check\n * @see https://geradorbr.com/validador-de-cnh/ — implementation cross-check\n */\nexport const CNH_DV1_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2, 1] as const;\nexport const CNH_DV2_WEIGHTS = [1, 2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport const CNH_LENGTH = 11;\nexport const CNH_BASE_LENGTH = 9;\nexport const CNH_NUMERIC_PATTERN = /^\\d{11}$/;\n\n/** Golden primary — DV walkthrough: base `624729276` → DV `37`. */\nexport const CNH_GOLDEN_PRIMARY = '62472927637';\nexport const CNH_GOLDEN_SECONDARY = '69044271146';\nexport const CNH_GOLDEN_DISCOUNT_CASE = '00000001801';\n\n/** Non-official CPF-style decoration — accepted on input via strip, never emitted by format. */\nexport const CNH_GOLDEN_PRIMARY_DECORATED_INPUT = '624.729.276-37';\n\nexport const CNH_OFFICIAL_SOURCE_URL =\n 'https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf';\n\n/** SENATRAN online validation — requires plain 11-digit registration number. */\nexport const CNH_SENATRAN_VALIDAR_URL = 'https://www.gov.br/pt-br/servicos/validar-cnh';\n","/**\n * CNH check digits — modulo 11 with inter-DV discount (desconto).\n * DV1 and DV2 weighted sums are computed in parallel on the same 9 base digits.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n */\nimport { weightedSum } from '../cnpj/modulo11.js';\nimport { CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS } from './constants.js';\n\nfunction digitValues(chars: string): number[] {\n const values: number[] = [];\n for (let i = 0; i < chars.length; i++) {\n values.push(Number(chars.charAt(i)));\n }\n return values;\n}\n\nexport function computeCnhFirstCheckDigit(base: string): { dv: number; discount: number } {\n const remainder = weightedSum(digitValues(base), CNH_DV1_WEIGHTS) % 11;\n if (remainder >= 10) {\n return { dv: 0, discount: 2 };\n }\n return { dv: remainder, discount: 0 };\n}\n\nexport function computeCnhSecondCheckDigit(base: string, discount: number): number {\n let dv = weightedSum(digitValues(base), CNH_DV2_WEIGHTS) % 11;\n if (discount === 2) {\n if (dv - 2 < 0) {\n dv += 9;\n } else {\n dv -= 2;\n }\n }\n if (dv > 9) {\n dv = 0;\n }\n return dv;\n}\n\nexport function computeCnhCheckDigits(base: string): string {\n const { dv: dv1, discount } = computeCnhFirstCheckDigit(base);\n const dv2 = computeCnhSecondCheckDigit(base, discount);\n return `${String(dv1)}${String(dv2)}`;\n}\n","/**\n * CNH validation — Registro Nacional modulo 11 with inter-DV discount.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/infraestrutura/pt-br/assuntos/transito/senatran\n */\nimport { stripCnh } from '../../strip/index.js';\nimport type { Cnh, ValidationResult } from '../../types/validation-result.js';\nimport { brandCnh } from '../../types/validation-result.js';\nimport { computeCnhCheckDigits } from './check-digits.js';\nimport { CNH_BASE_LENGTH, CNH_LENGTH } from './constants.js';\n\nexport {\n CNH_BASE_LENGTH,\n CNH_DV1_WEIGHTS,\n CNH_DV2_WEIGHTS,\n CNH_GOLDEN_DISCOUNT_CASE,\n CNH_GOLDEN_PRIMARY,\n CNH_GOLDEN_PRIMARY_DECORATED_INPUT,\n CNH_GOLDEN_SECONDARY,\n CNH_LENGTH,\n CNH_NUMERIC_PATTERN,\n CNH_OFFICIAL_SOURCE_URL,\n CNH_SENATRAN_VALIDAR_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 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 isValidCnhChecksum(stripped: string): boolean {\n const base = stripped.slice(0, CNH_BASE_LENGTH);\n const expected = computeCnhCheckDigits(base);\n return stripped.slice(CNH_BASE_LENGTH) === expected;\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'CNH input is empty');\n }\n\n const withoutMask = input.replace(/[.\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'CNH contains invalid characters');\n }\n\n if (stripped.length !== CNH_LENGTH) {\n return failure('INVALID_LENGTH', `CNH must have ${CNH_LENGTH} digits after normalization`);\n }\n\n if (hasRepeatedDigits(stripped)) {\n return failure('KNOWN_INVALID_PATTERN', 'CNH with all identical digits is invalid');\n }\n\n return null;\n}\n\nexport function isValidCnh(input: string): boolean {\n return validateCnh(input).ok;\n}\n\nexport function validateCnh(input: string): ValidationResult<Cnh> {\n const stripped = stripCnh(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n if (isValidCnhChecksum(stripped)) {\n return { ok: true, value: brandCnh(stripped), format: 'numeric' };\n }\n\n return failure('INVALID_CHECK_DIGIT', 'CNH check digits are invalid');\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/lc116/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "lc116",
|
|
4
|
+
nome: "LC 116/2003 \u2014 Lista de Servi\xE7os ISS",
|
|
5
|
+
fonte: "Lei Complementar 116/2003 \u2014 Anexo (Lista de Servi\xE7os)",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp116.htm",
|
|
8
|
+
"https://www.gov.br/nfse/pt-br/mei-e-demais-empresas/codigos-de-tributacao-nacional-nbs"
|
|
9
|
+
],
|
|
10
|
+
capturadoEm: "2026-06-25",
|
|
11
|
+
atualizadoEm: "2026-06-25T11:18:03.978Z",
|
|
12
|
+
contagens: {
|
|
13
|
+
lc116: 200
|
|
14
|
+
},
|
|
15
|
+
alteracoes: {
|
|
16
|
+
adicionados: 0,
|
|
17
|
+
removidos: 0,
|
|
18
|
+
alterados: 0,
|
|
19
|
+
comparadoCom: "2026-06-25"
|
|
20
|
+
},
|
|
21
|
+
verificacao: {
|
|
22
|
+
agendamento: "manual",
|
|
23
|
+
workflow: "data-refresh-bot.yml",
|
|
24
|
+
ultimaExecucao: "2026-06-25T11:18:03.978Z"
|
|
25
|
+
},
|
|
26
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#lc116-iss-servicos"
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { metadata_default };
|
|
30
|
+
//# sourceMappingURL=chunk-G65WTGYO.js.map
|
|
31
|
+
//# sourceMappingURL=chunk-G65WTGYO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lc116/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,OAAA;AAAA,EACN,IAAA,EAAQ,6CAAA;AAAA,EACR,KAAA,EAAS,+DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,2DAAA;AAAA,IACA;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-G65WTGYO.js","sourcesContent":["{\n \"id\": \"lc116\",\n \"nome\": \"LC 116/2003 — Lista de Serviços ISS\",\n \"fonte\": \"Lei Complementar 116/2003 — Anexo (Lista de Serviços)\",\n \"endpoints\": [\n \"https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp116.htm\",\n \"https://www.gov.br/nfse/pt-br/mei-e-demais-empresas/codigos-de-tributacao-nacional-nbs\"\n ],\n \"capturadoEm\": \"2026-06-25\",\n \"atualizadoEm\": \"2026-06-25T11:18:03.978Z\",\n \"contagens\": {\n \"lc116\": 200\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-25T11:18:03.978Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#lc116-iss-servicos\"\n}\n"]}
|
|
@@ -8,8 +8,8 @@ var metadata_default = {
|
|
|
8
8
|
"https://api.portaldatransparencia.gov.br/v3/api-docs",
|
|
9
9
|
"https://portaldatransparencia.gov.br/"
|
|
10
10
|
],
|
|
11
|
-
capturadoEm: "2026-06-
|
|
12
|
-
atualizadoEm: "2026-06-
|
|
11
|
+
capturadoEm: "2026-06-24",
|
|
12
|
+
atualizadoEm: "2026-06-24T15:43:03.237Z",
|
|
13
13
|
contagens: {
|
|
14
14
|
endpoints: 8,
|
|
15
15
|
queryAdapter: 7
|
|
@@ -23,11 +23,11 @@ var metadata_default = {
|
|
|
23
23
|
verificacao: {
|
|
24
24
|
agendamento: "diario",
|
|
25
25
|
workflow: "data-refresh-bot.yml",
|
|
26
|
-
ultimaExecucao: "2026-06-
|
|
26
|
+
ultimaExecucao: "2026-06-24T15:43:03.237Z"
|
|
27
27
|
},
|
|
28
28
|
documentacao: "docs/OFFICIAL-SOURCES.md#portal-transparencia"
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export { metadata_default };
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
33
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-GFYWUMYH.js.map
|
|
33
|
+
//# sourceMappingURL=chunk-GFYWUMYH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/transparencia-snapshots/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,yBAAA;AAAA,EACN,IAAA,EAAQ,8CAAA;AAAA,EACR,KAAA,EAAS,4FAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,gEAAA;AAAA,IACA,sDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;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/transparencia-snapshots/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,yBAAA;AAAA,EACN,IAAA,EAAQ,8CAAA;AAAA,EACR,KAAA,EAAS,4FAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,gEAAA;AAAA,IACA,sDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;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-GFYWUMYH.js","sourcesContent":["{\n \"id\": \"transparencia-snapshots\",\n \"nome\": \"Portal da Transparência endpoint registry\",\n \"fonte\": \"CGU Portal da Transparência — Swagger audit (query endpoints; no bulk embed in v1)\",\n \"endpoints\": [\n \"https://api.portaldatransparencia.gov.br/swagger-ui/index.html\",\n \"https://api.portaldatransparencia.gov.br/v3/api-docs\",\n \"https://portaldatransparencia.gov.br/\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:03.237Z\",\n \"contagens\": {\n \"endpoints\": 8,\n \"queryAdapter\": 7\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:03.237Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portal-transparencia\"\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/cnpj-motivos/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "cnpj-motivos",
|
|
4
|
+
nome: "RFB CNPJ Motivos de Situa\xE7\xE3o Cadastral",
|
|
5
|
+
fonte: "Receita Federal \u2014 Dados Abertos CNPJ (Motivos.zip)",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Motivos.zip"
|
|
8
|
+
],
|
|
9
|
+
capturadoEm: "2026-06-25",
|
|
10
|
+
atualizadoEm: "2026-06-25T14:24:31.180Z",
|
|
11
|
+
contagens: {
|
|
12
|
+
motivos: 61
|
|
13
|
+
},
|
|
14
|
+
alteracoes: {
|
|
15
|
+
adicionados: 0,
|
|
16
|
+
removidos: 0,
|
|
17
|
+
alterados: 0,
|
|
18
|
+
comparadoCom: null
|
|
19
|
+
},
|
|
20
|
+
verificacao: {
|
|
21
|
+
agendamento: "diario",
|
|
22
|
+
workflow: "data-refresh-bot.yml",
|
|
23
|
+
ultimaExecucao: "2026-06-25T14:24:31.180Z"
|
|
24
|
+
},
|
|
25
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#cnpj-motivos-situacao-cadastral"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { metadata_default };
|
|
29
|
+
//# sourceMappingURL=chunk-HIWHBRFG.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-HIWHBRFG.js.map
|