@br-validators/core 1.3.0 → 1.6.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 +44 -15
- package/dist/aeroportos.d.ts +46 -0
- package/dist/aeroportos.js +4316 -0
- package/dist/aeroportos.js.map +1 -0
- package/dist/batch.d.ts +3 -3
- package/dist/batch.js +24 -22
- package/dist/boleto.d.ts +2 -2
- package/dist/boleto.js +5 -5
- package/dist/brcode.d.ts +2 -2
- package/dist/brcode.js +7 -7
- package/dist/cartao-credito.d.ts +2 -2
- package/dist/cartao-credito.js +3 -3
- package/dist/cep.d.ts +2 -2
- package/dist/cep.js +3 -3
- package/dist/cest.d.ts +44 -0
- package/dist/cest.js +8253 -0
- package/dist/cest.js.map +1 -0
- package/dist/{chunk-NT3TNF3R.js → chunk-24JBIV3A.js} +3 -3
- package/dist/{chunk-NT3TNF3R.js.map → chunk-24JBIV3A.js.map} +1 -1
- package/dist/{chunk-XHDRWM46.js → chunk-26MSDS43.js} +3 -3
- package/dist/{chunk-XHDRWM46.js.map → chunk-26MSDS43.js.map} +1 -1
- package/dist/{chunk-3LMDBXU6.js → chunk-2JSOXG2M.js} +3 -3
- package/dist/{chunk-3LMDBXU6.js.map → chunk-2JSOXG2M.js.map} +1 -1
- package/dist/{chunk-AU6TW3GH.js → chunk-3DLNIUBY.js} +5 -5
- package/dist/{chunk-AU6TW3GH.js.map → chunk-3DLNIUBY.js.map} +1 -1
- package/dist/{chunk-OOUEURR7.js → chunk-3JAYOBSG.js} +3 -3
- package/dist/{chunk-OOUEURR7.js.map → chunk-3JAYOBSG.js.map} +1 -1
- package/dist/chunk-3WXLMV7Q.js +3 -0
- package/dist/chunk-3WXLMV7Q.js.map +1 -0
- package/dist/chunk-475HS4CJ.js +30 -0
- package/dist/chunk-475HS4CJ.js.map +1 -0
- package/dist/{chunk-NUQSMT4Y.js → chunk-4NFEM2SU.js} +9 -3
- package/dist/chunk-4NFEM2SU.js.map +1 -0
- package/dist/chunk-6EF7GQRS.js +30 -0
- package/dist/chunk-6EF7GQRS.js.map +1 -0
- package/dist/{chunk-ZTDLGGYE.js → chunk-6VNCWSHA.js} +34 -17
- package/dist/chunk-6VNCWSHA.js.map +1 -0
- package/dist/{chunk-MZDCVTN6.js → chunk-72EZ2VUO.js} +4 -4
- package/dist/{chunk-MZDCVTN6.js.map → chunk-72EZ2VUO.js.map} +1 -1
- package/dist/chunk-7JCJGLA3.js +30 -0
- package/dist/chunk-7JCJGLA3.js.map +1 -0
- package/dist/{chunk-VKG7UEN5.js → chunk-A5UHVGRB.js} +3 -3
- package/dist/{chunk-VKG7UEN5.js.map → chunk-A5UHVGRB.js.map} +1 -1
- package/dist/{chunk-EN7PVDYB.js → chunk-C7WXL7UR.js} +4 -4
- package/dist/{chunk-EN7PVDYB.js.map → chunk-C7WXL7UR.js.map} +1 -1
- package/dist/{chunk-DYX5XSJ6.js → chunk-CGN5ST5W.js} +5 -3
- package/dist/{chunk-DYX5XSJ6.js.map → chunk-CGN5ST5W.js.map} +1 -1
- package/dist/{chunk-P6TOL5VY.js → chunk-CJKVA7VS.js} +3 -3
- package/dist/{chunk-P6TOL5VY.js.map → chunk-CJKVA7VS.js.map} +1 -1
- package/dist/{chunk-KGCLQ7QX.js → chunk-CNJ4DIYS.js} +3 -3
- package/dist/{chunk-KGCLQ7QX.js.map → chunk-CNJ4DIYS.js.map} +1 -1
- package/dist/{chunk-N6RQICAP.js → chunk-CYBWPBXJ.js} +4 -4
- package/dist/{chunk-N6RQICAP.js.map → chunk-CYBWPBXJ.js.map} +1 -1
- package/dist/{chunk-SDEJD2J7.js → chunk-DLXE3RNI.js} +3 -3
- package/dist/{chunk-SDEJD2J7.js.map → chunk-DLXE3RNI.js.map} +1 -1
- package/dist/chunk-DVA6QQUF.js +22 -0
- package/dist/chunk-DVA6QQUF.js.map +1 -0
- package/dist/{chunk-54UWHK5L.js → chunk-EGDZGSHA.js} +3 -3
- package/dist/{chunk-54UWHK5L.js.map → chunk-EGDZGSHA.js.map} +1 -1
- package/dist/chunk-EKOSTVIA.js +30 -0
- package/dist/chunk-EKOSTVIA.js.map +1 -0
- package/dist/{chunk-O3T7PUBI.js → chunk-F5OHOWZU.js} +3 -3
- package/dist/{chunk-O3T7PUBI.js.map → chunk-F5OHOWZU.js.map} +1 -1
- package/dist/chunk-F7IEPT22.js +30 -0
- package/dist/chunk-F7IEPT22.js.map +1 -0
- package/dist/{chunk-RMTHCPIV.js → chunk-FLZGOGER.js} +4 -4
- package/dist/{chunk-RMTHCPIV.js.map → chunk-FLZGOGER.js.map} +1 -1
- package/dist/chunk-FUYDR7JI.js +44 -0
- package/dist/chunk-FUYDR7JI.js.map +1 -0
- package/dist/chunk-G557DGIX.js +398 -0
- package/dist/chunk-G557DGIX.js.map +1 -0
- package/dist/{chunk-ITHT54NC.js → chunk-HZWERBZB.js} +37 -17
- package/dist/chunk-HZWERBZB.js.map +1 -0
- package/dist/{chunk-AO6UTQ4A.js → chunk-IJ2DAVSD.js} +3 -3
- package/dist/{chunk-AO6UTQ4A.js.map → chunk-IJ2DAVSD.js.map} +1 -1
- package/dist/chunk-ILKF7HP7.js +31 -0
- package/dist/chunk-ILKF7HP7.js.map +1 -0
- package/dist/{chunk-MAM4U3UR.js → chunk-IRERFIL5.js} +3 -3
- package/dist/{chunk-MAM4U3UR.js.map → chunk-IRERFIL5.js.map} +1 -1
- package/dist/{chunk-CSRBRKXY.js → chunk-ISMIJ5DH.js} +3 -3
- package/dist/{chunk-CSRBRKXY.js.map → chunk-ISMIJ5DH.js.map} +1 -1
- package/dist/{chunk-L7PF4KD6.js → chunk-LBAWZ4EV.js} +3 -3
- package/dist/{chunk-L7PF4KD6.js.map → chunk-LBAWZ4EV.js.map} +1 -1
- package/dist/{chunk-QK27VDVB.js → chunk-LCY6USO2.js} +35 -18
- package/dist/chunk-LCY6USO2.js.map +1 -0
- package/dist/{chunk-XWHGXSQV.js → chunk-LPGSPM53.js} +3 -3
- package/dist/{chunk-XWHGXSQV.js.map → chunk-LPGSPM53.js.map} +1 -1
- package/dist/{chunk-5EJAENH5.js → chunk-MDFK6L72.js} +3 -3
- package/dist/{chunk-5EJAENH5.js.map → chunk-MDFK6L72.js.map} +1 -1
- package/dist/chunk-NQIDHQ6U.js +3 -0
- package/dist/chunk-NQIDHQ6U.js.map +1 -0
- package/dist/chunk-NTVB7R3A.js +30 -0
- package/dist/chunk-NTVB7R3A.js.map +1 -0
- package/dist/chunk-O4AO4YWC.js +30 -0
- package/dist/chunk-O4AO4YWC.js.map +1 -0
- package/dist/{chunk-S4WWYHQM.js → chunk-OH4CXHFH.js} +13 -3
- package/dist/chunk-OH4CXHFH.js.map +1 -0
- package/dist/{chunk-B6A7VF4R.js → chunk-OWD47AWI.js} +3 -3
- package/dist/{chunk-B6A7VF4R.js.map → chunk-OWD47AWI.js.map} +1 -1
- package/dist/{chunk-QB7SZS2C.js → chunk-OY53JDPO.js} +40 -19
- package/dist/chunk-OY53JDPO.js.map +1 -0
- package/dist/{chunk-665E36SC.js → chunk-P3EJRH4P.js} +4 -4
- package/dist/{chunk-665E36SC.js.map → chunk-P3EJRH4P.js.map} +1 -1
- package/dist/{chunk-GWAYWBHN.js → chunk-PTZR6C7Y.js} +14 -6
- package/dist/chunk-PTZR6C7Y.js.map +1 -0
- package/dist/{chunk-E2EFGMWA.js → chunk-QSSKPIG5.js} +3 -3
- package/dist/{chunk-E2EFGMWA.js.map → chunk-QSSKPIG5.js.map} +1 -1
- package/dist/{chunk-FBARVLLP.js → chunk-RSJK46ZE.js} +3 -3
- package/dist/{chunk-FBARVLLP.js.map → chunk-RSJK46ZE.js.map} +1 -1
- package/dist/chunk-RWO34ORS.js +33 -0
- package/dist/chunk-RWO34ORS.js.map +1 -0
- package/dist/{chunk-JSNXKBZA.js → chunk-SH6K4PUU.js} +3 -3
- package/dist/{chunk-JSNXKBZA.js.map → chunk-SH6K4PUU.js.map} +1 -1
- package/dist/{chunk-EQV33L7H.js → chunk-T5NFIPTU.js} +3 -3
- package/dist/{chunk-EQV33L7H.js.map → chunk-T5NFIPTU.js.map} +1 -1
- package/dist/{chunk-CDNOUZEI.js → chunk-TAOFFAG3.js} +3 -3
- package/dist/{chunk-CDNOUZEI.js.map → chunk-TAOFFAG3.js.map} +1 -1
- package/dist/{chunk-YD5MPZWY.js → chunk-TTDHGQEC.js} +3 -3
- package/dist/{chunk-YD5MPZWY.js.map → chunk-TTDHGQEC.js.map} +1 -1
- package/dist/{chunk-JLCQ7MGC.js → chunk-ULNZHOMA.js} +3 -3
- package/dist/{chunk-JLCQ7MGC.js.map → chunk-ULNZHOMA.js.map} +1 -1
- package/dist/{chunk-KLONQL76.js → chunk-UTSZKJAL.js} +7 -7
- package/dist/{chunk-KLONQL76.js.map → chunk-UTSZKJAL.js.map} +1 -1
- package/dist/{chunk-ANWQBKGN.js → chunk-VDCITFZG.js} +3 -3
- package/dist/{chunk-ANWQBKGN.js.map → chunk-VDCITFZG.js.map} +1 -1
- package/dist/chunk-VE2XZSKP.js +150 -0
- package/dist/chunk-VE2XZSKP.js.map +1 -0
- package/dist/{chunk-NHFSEWO2.js → chunk-VJT3UGN2.js} +34 -19
- package/dist/chunk-VJT3UGN2.js.map +1 -0
- package/dist/{chunk-SKDMG3FK.js → chunk-W2K4RQ3M.js} +33 -33
- package/dist/{chunk-SKDMG3FK.js.map → chunk-W2K4RQ3M.js.map} +1 -1
- package/dist/{chunk-VSW3NBJQ.js → chunk-WAYYRZ2L.js} +3 -3
- package/dist/{chunk-VSW3NBJQ.js.map → chunk-WAYYRZ2L.js.map} +1 -1
- package/dist/{chunk-JKDU7QYP.js → chunk-Z7KH65RZ.js} +3 -3
- package/dist/{chunk-JKDU7QYP.js.map → chunk-Z7KH65RZ.js.map} +1 -1
- package/dist/chunk-ZWAYSR5K.js +30 -0
- package/dist/chunk-ZWAYSR5K.js.map +1 -0
- package/dist/cnh.d.ts +2 -2
- package/dist/cnh.js +3 -3
- package/dist/cnpj.d.ts +2 -2
- package/dist/cnpj.js +4 -4
- package/dist/compare.d.ts +3 -3
- package/dist/compare.js +26 -24
- package/dist/cpf.d.ts +2 -2
- package/dist/cpf.js +4 -4
- package/dist/data-catalog.js +33 -11
- package/dist/data-catalog.js.map +1 -1
- package/dist/detect.d.ts +2 -2
- package/dist/detect.js +22 -21
- package/dist/diff.d.ts +3 -3
- package/dist/diff.js +26 -24
- package/dist/generate.d.ts +1 -1
- package/dist/generate.js +35 -35
- package/dist/incoterms.d.ts +36 -0
- package/dist/incoterms.js +87 -0
- package/dist/incoterms.js.map +1 -0
- package/dist/{index-BEJFgDXj.d.ts → index-CJ5ACErT.d.ts} +2 -2
- package/dist/index.d.ts +8 -6
- package/dist/index.js +62 -57
- package/dist/index.js.map +1 -1
- package/dist/{inscricao-estadual-produtor-rural-BXFVQscj.d.ts → inscricao-estadual-produtor-rural-BNAyLQPY.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/mask.d.ts +3 -3
- package/dist/mask.js +36 -33
- package/dist/moedas.d.ts +42 -0
- package/dist/moedas.js +977 -0
- package/dist/moedas.js.map +1 -0
- package/dist/natureza-juridica.d.ts +37 -0
- package/dist/natureza-juridica.js +398 -0
- package/dist/natureza-juridica.js.map +1 -0
- package/dist/nbs.d.ts +40 -0
- package/dist/nbs.js +3728 -0
- package/dist/nbs.js.map +1 -0
- package/dist/nfe-chave.d.ts +2 -2
- package/dist/nfe-chave.js +3 -3
- package/dist/paises-bacen.d.ts +35 -0
- package/dist/paises-bacen.js +1044 -0
- package/dist/paises-bacen.js.map +1 -0
- package/dist/pis-pasep.d.ts +2 -2
- package/dist/pis-pasep.js +3 -3
- package/dist/{pix-B4habHLG.d.ts → pix-QsM0lMas.d.ts} +1 -1
- package/dist/pix.d.ts +2 -2
- package/dist/pix.js +7 -7
- package/dist/placa.d.ts +2 -2
- package/dist/placa.js +3 -3
- package/dist/pncp-reference.d.ts +56 -0
- package/dist/pncp-reference.js +1560 -0
- package/dist/pncp-reference.js.map +1 -0
- package/dist/portos.d.ts +48 -0
- package/dist/portos.js +12094 -0
- package/dist/portos.js.map +1 -0
- package/dist/processo-judicial.d.ts +71 -0
- package/dist/processo-judicial.js +6 -0
- package/dist/processo-judicial.js.map +1 -0
- package/dist/renavam.d.ts +2 -2
- package/dist/renavam.js +3 -3
- package/dist/rg.d.ts +69 -0
- package/dist/rg.js +5 -0
- package/dist/rg.js.map +1 -0
- package/dist/sanitize.d.ts +2 -2
- package/dist/sanitize.js +21 -19
- package/dist/telefone.d.ts +2 -2
- package/dist/telefone.js +3 -3
- package/dist/titulo-eleitor.d.ts +2 -2
- package/dist/titulo-eleitor.js +3 -3
- package/dist/transparencia-snapshots.d.ts +61 -0
- package/dist/transparencia-snapshots.js +119 -0
- package/dist/transparencia-snapshots.js.map +1 -0
- package/dist/tse-municipios.d.ts +39 -0
- package/dist/tse-municipios.js +33469 -0
- package/dist/tse-municipios.js.map +1 -0
- package/dist/{types-MXifBcV5.d.ts → types-CQvCmvGu.d.ts} +2 -2
- package/dist/{validation-result-BaI2Xder.d.ts → validation-result-hfVg2-Mc.d.ts} +23 -3
- package/package.json +66 -1
- package/dist/chunk-GWAYWBHN.js.map +0 -1
- package/dist/chunk-ITHT54NC.js.map +0 -1
- package/dist/chunk-NHFSEWO2.js.map +0 -1
- package/dist/chunk-NUQSMT4Y.js.map +0 -1
- package/dist/chunk-QB7SZS2C.js.map +0 -1
- package/dist/chunk-QK27VDVB.js.map +0 -1
- package/dist/chunk-S4WWYHQM.js.map +0 -1
- package/dist/chunk-ZTDLGGYE.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/nfe-chave/constants.ts","../src/core/nfe-chave/dv.ts","../src/core/nfe-chave/parse.ts","../src/core/nfe-chave/index.ts"],"names":[],"mappings":"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","file":"chunk-AO6UTQ4A.js","sourcesContent":["/**\n * NF-e / NFC-e chave de acesso — 44 digits (ENCAT / SEFAZ MOC).\n * @see https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=ndIjl+iEFdE%3D — MOC 7.0 index\n * @see http://moc.sped.fazenda.pr.gov.br/ — MOC online (SEFAZ-PR mirror), §2.2.6\n * @see https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf — MOC 7.0 §2.2.6.1–2.2.6.2\n */\nimport type { UfCode } from '../../types/validation-result.js';\n\nexport const NFE_CHAVE_OFFICIAL_SOURCE_URL =\n 'https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=ndIjl+iEFdE%3D';\n\nexport const NFE_CHAVE_MOC_ONLINE_URL = 'http://moc.sped.fazenda.pr.gov.br/';\n\nexport const NFE_CHAVE_MOC_DV_SECTION_URL =\n 'http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e';\n\nexport const NFE_CHAVE_MOC_PDF_URL =\n 'https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf';\n\nexport const NFE_CHAVE_DFE_PORTAL_URL = 'https://dfe-portal.svrs.rs.gov.br/NFe/Documentos';\n\n/** MOC DANFE NFC-e QR Code page — illustrative chave (DV inconsistent with §2.2.6.2). */\nexport const NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL =\n 'http://moc.sped.fazenda.pr.gov.br/DanfeQrCodeNFCe.html';\n\nexport const NFE_CHAVE_LENGTH = 44;\nexport const NFE_CHAVE_BASE_LENGTH = 43;\nexport const NFE_CHAVE_MOD = 11;\nexport const NFE_CHAVE_WEIGHT_CYCLE = [2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport const NFE_CHAVE_NUMERIC_PATTERN = /^\\d{44}$/;\n\n/**\n * Golden primary — MOC §2.2.6.2 worked example (sum=644, remainder=6, DV=5).\n * Base 43 digits from MOC table; DV appended per modulo-11 rule.\n */\nexport const NFE_CHAVE_GOLDEN_PRIMARY = '52060433009911002506550120000007800267301615';\n\n/** Secondary valid vector from MOC online examples. */\nexport const NFE_CHAVE_GOLDEN_SECONDARY = '41180678393592000146558900000006041028190697';\n\n/** MOC NFC-e QR page illustrative chave — fails DV under §2.2.6.2 (not used as valid golden). */\nexport const NFE_CHAVE_NFCE_QR_ILLUSTRATIVE = '28170800156225000131650110000151341562040824';\n\nexport const NFE_MODELO_NFE = '55';\nexport const NFE_MODELO_NFCE = '65';\nexport const NFE_MODELOS = [NFE_MODELO_NFE, NFE_MODELO_NFCE] as const;\n\n/** IBGE UF codes valid in cUF (positions 1–2). */\nexport const NFE_IBGE_UF_CODES = new Set<number>([\n 11, 12, 13, 14, 15, 16, 17,\n 21, 22, 23, 24, 25, 26, 27, 28, 29,\n 31, 32, 33, 35,\n 41, 42, 43,\n 50, 51, 52, 53,\n]);\n\n/** IBGE cUF → Brazilian UF sigla. */\nexport const NFE_IBGE_UF_BY_CODE: Readonly<Record<number, UfCode>> = {\n 11: 'RO',\n 12: 'AC',\n 13: 'AM',\n 14: 'RR',\n 15: 'PA',\n 16: 'AP',\n 17: 'TO',\n 21: 'MA',\n 22: 'PI',\n 23: 'CE',\n 24: 'RN',\n 25: 'PB',\n 26: 'PE',\n 27: 'AL',\n 28: 'SE',\n 29: 'BA',\n 31: 'MG',\n 32: 'ES',\n 33: 'RJ',\n 35: 'SP',\n 41: 'PR',\n 42: 'SC',\n 43: 'RS',\n 50: 'MS',\n 51: 'MT',\n 52: 'GO',\n 53: 'DF',\n};\n","/**\n * NF-e chave de acesso DV — modulo 11, weights 2..9 right-to-left (MOC §2.2.6.2).\n * @see http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e\n */\nimport { NFE_CHAVE_BASE_LENGTH } from './constants.js';\n\nexport function computeNfeChaveWeightedSum(base43: string): number {\n let multiplier = 2;\n let sum = 0;\n\n for (let i = base43.length - 1; i >= 0; i--) {\n sum += Number(base43[i]) * multiplier;\n multiplier = multiplier >= 9 ? 2 : multiplier + 1;\n }\n\n return sum;\n}\n\nexport function resolveNfeChaveCheckDigit(weightedSum: number): number {\n const remainder = weightedSum % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n}\n\n/** Compute DV for the first 43 digits of a chave de acesso. */\nexport function computeNfeChaveCheckDigit(base43: string): number {\n if (base43.length !== NFE_CHAVE_BASE_LENGTH) {\n throw new Error(`NF-e chave base must have exactly ${NFE_CHAVE_BASE_LENGTH} digits`);\n }\n return resolveNfeChaveCheckDigit(computeNfeChaveWeightedSum(base43));\n}\n\nexport function isValidNfeChaveCheckDigit(stripped: string): boolean {\n const base = stripped.slice(0, NFE_CHAVE_BASE_LENGTH);\n const expected = String(computeNfeChaveCheckDigit(base));\n return stripped[NFE_CHAVE_BASE_LENGTH] === expected;\n}\n","import { NFE_CHAVE_LENGTH } from './constants.js';\n\nexport type NfeChaveParts = {\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 function parseNfeChaveParts(stripped: string): NfeChaveParts | null {\n if (stripped.length !== NFE_CHAVE_LENGTH) {\n return null;\n }\n\n return {\n cUF: stripped.slice(0, 2),\n aamm: stripped.slice(2, 6),\n cnpj: stripped.slice(6, 20),\n mod: stripped.slice(20, 22),\n serie: stripped.slice(22, 25),\n nNF: stripped.slice(25, 34),\n tpEmis: stripped.slice(34, 35),\n cNF: stripped.slice(35, 43),\n cDV: stripped.slice(43, 44),\n };\n}\n","/**\n * NF-e / NFC-e chave de acesso validation — 44 digits, modulo-11 DV (MOC §2.2.6).\n * @see http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e\n */\nimport { stripNfeChave } from '../../strip/nfe-chave.js';\nimport type { NfeChaveValidationResult, UfCode } from '../../types/validation-result.js';\nimport { brandNfeChave } from '../../types/validation-result.js';\nimport {\n NFE_CHAVE_LENGTH,\n NFE_IBGE_UF_BY_CODE,\n NFE_IBGE_UF_CODES,\n NFE_MODELOS,\n} from './constants.js';\nimport { isValidNfeChaveCheckDigit } from './dv.js';\nimport { parseNfeChaveParts, type NfeChaveParts } from './parse.js';\n\nexport {\n NFE_CHAVE_BASE_LENGTH,\n NFE_CHAVE_DFE_PORTAL_URL,\n NFE_CHAVE_GOLDEN_PRIMARY,\n NFE_CHAVE_GOLDEN_SECONDARY,\n NFE_CHAVE_LENGTH,\n NFE_CHAVE_MOD,\n NFE_CHAVE_MOC_DV_SECTION_URL,\n NFE_CHAVE_MOC_ONLINE_URL,\n NFE_CHAVE_MOC_PDF_URL,\n NFE_CHAVE_NFCE_QR_ILLUSTRATIVE,\n NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL,\n NFE_CHAVE_NUMERIC_PATTERN,\n NFE_CHAVE_OFFICIAL_SOURCE_URL,\n NFE_CHAVE_WEIGHT_CYCLE,\n NFE_IBGE_UF_BY_CODE,\n NFE_IBGE_UF_CODES,\n NFE_MODELO_NFCE,\n NFE_MODELO_NFE,\n NFE_MODELOS,\n} from './constants.js';\nexport {\n computeNfeChaveCheckDigit,\n computeNfeChaveWeightedSum,\n isValidNfeChaveCheckDigit,\n resolveNfeChaveCheckDigit,\n} from './dv.js';\nexport { parseNfeChaveParts, type NfeChaveParts } from './parse.js';\n\ntype FailedResult = Extract<NfeChaveValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction isKnownModel(mod: string): boolean {\n return (NFE_MODELOS as readonly string[]).includes(mod);\n}\n\nfunction resolveUf(cuf: string): UfCode | undefined {\n return NFE_IBGE_UF_BY_CODE[Number(cuf)];\n}\n\ntype StructureResult =\n | { ok: false; error: FailedResult }\n | { ok: true; parts: NfeChaveParts };\n\nfunction validateStructure(input: string, stripped: string): StructureResult {\n if (stripped.length === 0) {\n return { ok: false, error: failure('EMPTY_INPUT', 'NF-e chave de acesso input is empty') };\n }\n\n const withoutMask = input.replace(/[\\s.]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return { ok: false, error: failure('INVALID_CHARACTER', 'NF-e chave de acesso contains invalid characters') };\n }\n\n if (stripped.length !== NFE_CHAVE_LENGTH) {\n return {\n ok: false,\n error: failure(\n 'INVALID_LENGTH',\n `NF-e chave de acesso must have ${NFE_CHAVE_LENGTH} digits after normalization`,\n ),\n };\n }\n\n const parts = parseNfeChaveParts(stripped)!;\n const cufCode = Number(parts.cUF);\n if (!NFE_IBGE_UF_CODES.has(cufCode)) {\n return {\n ok: false,\n error: failure(\n 'KNOWN_INVALID_PATTERN',\n `NF-e chave cUF ${parts.cUF} is not a valid IBGE UF code`,\n ),\n };\n }\n\n if (!isKnownModel(parts.mod)) {\n return {\n ok: false,\n error: failure(\n 'KNOWN_INVALID_PATTERN',\n `NF-e chave modelo ${parts.mod} is not 55 (NF-e) or 65 (NFC-e)`,\n ),\n };\n }\n\n return { ok: true, parts };\n}\n\nfunction buildSuccess(stripped: string, parts: NfeChaveParts): Extract<NfeChaveValidationResult, { ok: true }> {\n const uf = resolveUf(parts.cUF);\n const success: Extract<NfeChaveValidationResult, { ok: true }> = {\n ok: true,\n value: brandNfeChave(stripped),\n format: 'numeric',\n parsed: parts,\n };\n if (uf !== undefined) {\n success.uf = uf;\n }\n return success;\n}\n\nexport function isValidNfeChave(input: string): boolean {\n return validateNfeChave(input).ok;\n}\n\nexport function parseNfeChave(input: string): NfeChaveValidationResult {\n const stripped = stripNfeChave(input);\n const structure = validateStructure(input, stripped);\n if (!structure.ok) {\n return structure.error;\n }\n\n if (!isValidNfeChaveCheckDigit(stripped)) {\n return failure('INVALID_CHECK_DIGIT', 'NF-e chave de acesso check digit is invalid');\n }\n\n return buildSuccess(stripped, structure.parts);\n}\n\nexport function validateNfeChave(input: string): NfeChaveValidationResult {\n return parseNfeChave(input);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/nfe-chave/constants.ts","../src/core/nfe-chave/dv.ts","../src/core/nfe-chave/parse.ts","../src/core/nfe-chave/index.ts"],"names":[],"mappings":";;;;AAQO,IAAM,6BAAA,GACX;AAEK,IAAM,wBAAA,GAA2B;AAEjC,IAAM,4BAAA,GACX;AAEK,IAAM,qBAAA,GACX;AAEK,IAAM,wBAAA,GAA2B;AAGjC,IAAM,kCAAA,GACX;AAEK,IAAM,gBAAA,GAAmB;AACzB,IAAM,qBAAA,GAAwB;AAC9B,IAAM,aAAA,GAAgB;AACtB,IAAM,sBAAA,GAAyB,CAAC,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAC;AACtD,IAAM,yBAAA,GAA4B;AAMlC,IAAM,wBAAA,GAA2B;AAGjC,IAAM,0BAAA,GAA6B;AAGnC,IAAM,8BAAA,GAAiC;AAEvC,IAAM,cAAA,GAAiB;AACvB,IAAM,eAAA,GAAkB;AACxB,IAAM,WAAA,GAAc,CAAC,cAAA,EAAgB,eAAe;AAGpD,IAAM,iBAAA,uBAAwB,GAAA,CAAY;AAAA,EAC/C,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EACxB,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAChC,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EACZ,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EACR,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI,EAAA;AAAA,EAAI;AACd,CAAC;AAGM,IAAM,mBAAA,GAAwD;AAAA,EACnE,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI;AACN;;;AC/EO,SAAS,2BAA2B,MAAA,EAAwB;AACjE,EAAA,IAAI,UAAA,GAAa,CAAA;AACjB,EAAA,IAAI,GAAA,GAAM,CAAA;AAEV,EAAA,KAAA,IAAS,IAAI,MAAA,CAAO,MAAA,GAAS,CAAA,EAAG,CAAA,IAAK,GAAG,CAAA,EAAA,EAAK;AAC3C,IAAA,GAAA,IAAO,MAAA,CAAO,MAAA,CAAO,CAAC,CAAC,CAAA,GAAI,UAAA;AAC3B,IAAA,UAAA,GAAa,UAAA,IAAc,CAAA,GAAI,CAAA,GAAI,UAAA,GAAa,CAAA;AAAA,EAClD;AAEA,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,0BAA0B,WAAA,EAA6B;AACrE,EAAA,MAAM,YAAY,WAAA,GAAc,EAAA;AAChC,EAAA,OAAO,SAAA,GAAY,CAAA,GAAI,CAAA,GAAI,EAAA,GAAK,SAAA;AAClC;AAGO,SAAS,0BAA0B,MAAA,EAAwB;AAChE,EAAA,IAAI,MAAA,CAAO,WAAW,qBAAA,EAAuB;AAC3C,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kCAAA,EAAqC,qBAAqB,CAAA,OAAA,CAAS,CAAA;AAAA,EACrF;AACA,EAAA,OAAO,yBAAA,CAA0B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AACrE;AAEO,SAAS,0BAA0B,QAAA,EAA2B;AACnE,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,qBAAqB,CAAA;AACpD,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,yBAAA,CAA0B,IAAI,CAAC,CAAA;AACvD,EAAA,OAAO,QAAA,CAAS,qBAAqB,CAAA,KAAM,QAAA;AAC7C;;;ACrBO,SAAS,mBAAmB,QAAA,EAAwC;AACzE,EAAA,IAAI,QAAA,CAAS,WAAW,gBAAA,EAAkB;AACxC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO;AAAA,IACL,GAAA,EAAK,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AAAA,IACxB,IAAA,EAAM,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AAAA,IACzB,IAAA,EAAM,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAK,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,IAC1B,KAAA,EAAO,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,IAC5B,GAAA,EAAK,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,IAC1B,MAAA,EAAQ,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,IAC7B,GAAA,EAAK,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAK,QAAA,CAAS,KAAA,CAAM,EAAA,EAAI,EAAE;AAAA,GAC5B;AACF;;;ACiBA,SAAS,OAAA,CAAQ,MAA4B,OAAA,EAA+B;AAC1E,EAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AACpC;AAEA,SAAS,aAAa,GAAA,EAAsB;AAC1C,EAAA,OAAQ,WAAA,CAAkC,SAAS,GAAG,CAAA;AACxD;AAEA,SAAS,UAAU,GAAA,EAAiC;AAClD,EAAA,OAAO,mBAAA,CAAoB,MAAA,CAAO,GAAG,CAAC,CAAA;AACxC;AAMA,SAAS,iBAAA,CAAkB,OAAe,QAAA,EAAmC;AAC3E,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,OAAO,OAAA,CAAQ,aAAA,EAAe,qCAAqC,CAAA,EAAE;AAAA,EAC3F;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,OAAA,CAAQ,QAAA,EAAU,EAAE,CAAA;AAC9C,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,OAAO,OAAA,CAAQ,mBAAA,EAAqB,kDAAkD,CAAA,EAAE;AAAA,EAC9G;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,gBAAA,EAAkB;AACxC,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,OAAA;AAAA,QACL,gBAAA;AAAA,QACA,kCAAkC,gBAAgB,CAAA,2BAAA;AAAA;AACpD,KACF;AAAA,EACF;AAEA,EAAA,MAAM,KAAA,GAAQ,mBAAmB,QAAQ,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA;AAChC,EAAA,IAAI,CAAC,iBAAA,CAAkB,GAAA,CAAI,OAAO,CAAA,EAAG;AACnC,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,OAAA;AAAA,QACL,uBAAA;AAAA,QACA,CAAA,eAAA,EAAkB,MAAM,GAAG,CAAA,4BAAA;AAAA;AAC7B,KACF;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,YAAA,CAAa,KAAA,CAAM,GAAG,CAAA,EAAG;AAC5B,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,OAAA;AAAA,QACL,uBAAA;AAAA,QACA,CAAA,kBAAA,EAAqB,MAAM,GAAG,CAAA,+BAAA;AAAA;AAChC,KACF;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAM;AAC3B;AAEA,SAAS,YAAA,CAAa,UAAkB,KAAA,EAAuE;AAC7G,EAAA,MAAM,EAAA,GAAK,SAAA,CAAU,KAAA,CAAM,GAAG,CAAA;AAC9B,EAAA,MAAM,OAAA,GAA2D;AAAA,IAC/D,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,cAAc,QAAQ,CAAA;AAAA,IAC7B,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ;AAAA,GACV;AACA,EAAA,IAAI,OAAO,MAAA,EAAW;AACpB,IAAA,OAAA,CAAQ,EAAA,GAAK,EAAA;AAAA,EACf;AACA,EAAA,OAAO,OAAA;AACT;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,OAAO,gBAAA,CAAiB,KAAK,CAAA,CAAE,EAAA;AACjC;AAEO,SAAS,cAAc,KAAA,EAAyC;AACrE,EAAA,MAAM,QAAA,GAAW,cAAc,KAAK,CAAA;AACpC,EAAA,MAAM,SAAA,GAAY,iBAAA,CAAkB,KAAA,EAAO,QAAQ,CAAA;AACnD,EAAA,IAAI,CAAC,UAAU,EAAA,EAAI;AACjB,IAAA,OAAO,SAAA,CAAU,KAAA;AAAA,EACnB;AAEA,EAAA,IAAI,CAAC,yBAAA,CAA0B,QAAQ,CAAA,EAAG;AACxC,IAAA,OAAO,OAAA,CAAQ,uBAAuB,6CAA6C,CAAA;AAAA,EACrF;AAEA,EAAA,OAAO,YAAA,CAAa,QAAA,EAAU,SAAA,CAAU,KAAK,CAAA;AAC/C;AAEO,SAAS,iBAAiB,KAAA,EAAyC;AACxE,EAAA,OAAO,cAAc,KAAK,CAAA;AAC5B","file":"chunk-IJ2DAVSD.js","sourcesContent":["/**\n * NF-e / NFC-e chave de acesso — 44 digits (ENCAT / SEFAZ MOC).\n * @see https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=ndIjl+iEFdE%3D — MOC 7.0 index\n * @see http://moc.sped.fazenda.pr.gov.br/ — MOC online (SEFAZ-PR mirror), §2.2.6\n * @see https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf — MOC 7.0 §2.2.6.1–2.2.6.2\n */\nimport type { UfCode } from '../../types/validation-result.js';\n\nexport const NFE_CHAVE_OFFICIAL_SOURCE_URL =\n 'https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=ndIjl+iEFdE%3D';\n\nexport const NFE_CHAVE_MOC_ONLINE_URL = 'http://moc.sped.fazenda.pr.gov.br/';\n\nexport const NFE_CHAVE_MOC_DV_SECTION_URL =\n 'http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e';\n\nexport const NFE_CHAVE_MOC_PDF_URL =\n 'https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf';\n\nexport const NFE_CHAVE_DFE_PORTAL_URL = 'https://dfe-portal.svrs.rs.gov.br/NFe/Documentos';\n\n/** MOC DANFE NFC-e QR Code page — illustrative chave (DV inconsistent with §2.2.6.2). */\nexport const NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL =\n 'http://moc.sped.fazenda.pr.gov.br/DanfeQrCodeNFCe.html';\n\nexport const NFE_CHAVE_LENGTH = 44;\nexport const NFE_CHAVE_BASE_LENGTH = 43;\nexport const NFE_CHAVE_MOD = 11;\nexport const NFE_CHAVE_WEIGHT_CYCLE = [2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport const NFE_CHAVE_NUMERIC_PATTERN = /^\\d{44}$/;\n\n/**\n * Golden primary — MOC §2.2.6.2 worked example (sum=644, remainder=6, DV=5).\n * Base 43 digits from MOC table; DV appended per modulo-11 rule.\n */\nexport const NFE_CHAVE_GOLDEN_PRIMARY = '52060433009911002506550120000007800267301615';\n\n/** Secondary valid vector from MOC online examples. */\nexport const NFE_CHAVE_GOLDEN_SECONDARY = '41180678393592000146558900000006041028190697';\n\n/** MOC NFC-e QR page illustrative chave — fails DV under §2.2.6.2 (not used as valid golden). */\nexport const NFE_CHAVE_NFCE_QR_ILLUSTRATIVE = '28170800156225000131650110000151341562040824';\n\nexport const NFE_MODELO_NFE = '55';\nexport const NFE_MODELO_NFCE = '65';\nexport const NFE_MODELOS = [NFE_MODELO_NFE, NFE_MODELO_NFCE] as const;\n\n/** IBGE UF codes valid in cUF (positions 1–2). */\nexport const NFE_IBGE_UF_CODES = new Set<number>([\n 11, 12, 13, 14, 15, 16, 17,\n 21, 22, 23, 24, 25, 26, 27, 28, 29,\n 31, 32, 33, 35,\n 41, 42, 43,\n 50, 51, 52, 53,\n]);\n\n/** IBGE cUF → Brazilian UF sigla. */\nexport const NFE_IBGE_UF_BY_CODE: Readonly<Record<number, UfCode>> = {\n 11: 'RO',\n 12: 'AC',\n 13: 'AM',\n 14: 'RR',\n 15: 'PA',\n 16: 'AP',\n 17: 'TO',\n 21: 'MA',\n 22: 'PI',\n 23: 'CE',\n 24: 'RN',\n 25: 'PB',\n 26: 'PE',\n 27: 'AL',\n 28: 'SE',\n 29: 'BA',\n 31: 'MG',\n 32: 'ES',\n 33: 'RJ',\n 35: 'SP',\n 41: 'PR',\n 42: 'SC',\n 43: 'RS',\n 50: 'MS',\n 51: 'MT',\n 52: 'GO',\n 53: 'DF',\n};\n","/**\n * NF-e chave de acesso DV — modulo 11, weights 2..9 right-to-left (MOC §2.2.6.2).\n * @see http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e\n */\nimport { NFE_CHAVE_BASE_LENGTH } from './constants.js';\n\nexport function computeNfeChaveWeightedSum(base43: string): number {\n let multiplier = 2;\n let sum = 0;\n\n for (let i = base43.length - 1; i >= 0; i--) {\n sum += Number(base43[i]) * multiplier;\n multiplier = multiplier >= 9 ? 2 : multiplier + 1;\n }\n\n return sum;\n}\n\nexport function resolveNfeChaveCheckDigit(weightedSum: number): number {\n const remainder = weightedSum % 11;\n return remainder < 2 ? 0 : 11 - remainder;\n}\n\n/** Compute DV for the first 43 digits of a chave de acesso. */\nexport function computeNfeChaveCheckDigit(base43: string): number {\n if (base43.length !== NFE_CHAVE_BASE_LENGTH) {\n throw new Error(`NF-e chave base must have exactly ${NFE_CHAVE_BASE_LENGTH} digits`);\n }\n return resolveNfeChaveCheckDigit(computeNfeChaveWeightedSum(base43));\n}\n\nexport function isValidNfeChaveCheckDigit(stripped: string): boolean {\n const base = stripped.slice(0, NFE_CHAVE_BASE_LENGTH);\n const expected = String(computeNfeChaveCheckDigit(base));\n return stripped[NFE_CHAVE_BASE_LENGTH] === expected;\n}\n","import { NFE_CHAVE_LENGTH } from './constants.js';\n\nexport type NfeChaveParts = {\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 function parseNfeChaveParts(stripped: string): NfeChaveParts | null {\n if (stripped.length !== NFE_CHAVE_LENGTH) {\n return null;\n }\n\n return {\n cUF: stripped.slice(0, 2),\n aamm: stripped.slice(2, 6),\n cnpj: stripped.slice(6, 20),\n mod: stripped.slice(20, 22),\n serie: stripped.slice(22, 25),\n nNF: stripped.slice(25, 34),\n tpEmis: stripped.slice(34, 35),\n cNF: stripped.slice(35, 43),\n cDV: stripped.slice(43, 44),\n };\n}\n","/**\n * NF-e / NFC-e chave de acesso validation — 44 digits, modulo-11 DV (MOC §2.2.6).\n * @see http://moc.sped.fazenda.pr.gov.br/#2.2.6.2. Cálculo do Dígito Verificador da Chave de Acesso da NF-e\n */\nimport { stripNfeChave } from '../../strip/nfe-chave.js';\nimport type { NfeChaveValidationResult, UfCode } from '../../types/validation-result.js';\nimport { brandNfeChave } from '../../types/validation-result.js';\nimport {\n NFE_CHAVE_LENGTH,\n NFE_IBGE_UF_BY_CODE,\n NFE_IBGE_UF_CODES,\n NFE_MODELOS,\n} from './constants.js';\nimport { isValidNfeChaveCheckDigit } from './dv.js';\nimport { parseNfeChaveParts, type NfeChaveParts } from './parse.js';\n\nexport {\n NFE_CHAVE_BASE_LENGTH,\n NFE_CHAVE_DFE_PORTAL_URL,\n NFE_CHAVE_GOLDEN_PRIMARY,\n NFE_CHAVE_GOLDEN_SECONDARY,\n NFE_CHAVE_LENGTH,\n NFE_CHAVE_MOD,\n NFE_CHAVE_MOC_DV_SECTION_URL,\n NFE_CHAVE_MOC_ONLINE_URL,\n NFE_CHAVE_MOC_PDF_URL,\n NFE_CHAVE_NFCE_QR_ILLUSTRATIVE,\n NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL,\n NFE_CHAVE_NUMERIC_PATTERN,\n NFE_CHAVE_OFFICIAL_SOURCE_URL,\n NFE_CHAVE_WEIGHT_CYCLE,\n NFE_IBGE_UF_BY_CODE,\n NFE_IBGE_UF_CODES,\n NFE_MODELO_NFCE,\n NFE_MODELO_NFE,\n NFE_MODELOS,\n} from './constants.js';\nexport {\n computeNfeChaveCheckDigit,\n computeNfeChaveWeightedSum,\n isValidNfeChaveCheckDigit,\n resolveNfeChaveCheckDigit,\n} from './dv.js';\nexport { parseNfeChaveParts, type NfeChaveParts } from './parse.js';\n\ntype FailedResult = Extract<NfeChaveValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction isKnownModel(mod: string): boolean {\n return (NFE_MODELOS as readonly string[]).includes(mod);\n}\n\nfunction resolveUf(cuf: string): UfCode | undefined {\n return NFE_IBGE_UF_BY_CODE[Number(cuf)];\n}\n\ntype StructureResult =\n | { ok: false; error: FailedResult }\n | { ok: true; parts: NfeChaveParts };\n\nfunction validateStructure(input: string, stripped: string): StructureResult {\n if (stripped.length === 0) {\n return { ok: false, error: failure('EMPTY_INPUT', 'NF-e chave de acesso input is empty') };\n }\n\n const withoutMask = input.replace(/[\\s.]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return { ok: false, error: failure('INVALID_CHARACTER', 'NF-e chave de acesso contains invalid characters') };\n }\n\n if (stripped.length !== NFE_CHAVE_LENGTH) {\n return {\n ok: false,\n error: failure(\n 'INVALID_LENGTH',\n `NF-e chave de acesso must have ${NFE_CHAVE_LENGTH} digits after normalization`,\n ),\n };\n }\n\n const parts = parseNfeChaveParts(stripped)!;\n const cufCode = Number(parts.cUF);\n if (!NFE_IBGE_UF_CODES.has(cufCode)) {\n return {\n ok: false,\n error: failure(\n 'KNOWN_INVALID_PATTERN',\n `NF-e chave cUF ${parts.cUF} is not a valid IBGE UF code`,\n ),\n };\n }\n\n if (!isKnownModel(parts.mod)) {\n return {\n ok: false,\n error: failure(\n 'KNOWN_INVALID_PATTERN',\n `NF-e chave modelo ${parts.mod} is not 55 (NF-e) or 65 (NFC-e)`,\n ),\n };\n }\n\n return { ok: true, parts };\n}\n\nfunction buildSuccess(stripped: string, parts: NfeChaveParts): Extract<NfeChaveValidationResult, { ok: true }> {\n const uf = resolveUf(parts.cUF);\n const success: Extract<NfeChaveValidationResult, { ok: true }> = {\n ok: true,\n value: brandNfeChave(stripped),\n format: 'numeric',\n parsed: parts,\n };\n if (uf !== undefined) {\n success.uf = uf;\n }\n return success;\n}\n\nexport function isValidNfeChave(input: string): boolean {\n return validateNfeChave(input).ok;\n}\n\nexport function parseNfeChave(input: string): NfeChaveValidationResult {\n const stripped = stripNfeChave(input);\n const structure = validateStructure(input, stripped);\n if (!structure.ok) {\n return structure.error;\n }\n\n if (!isValidNfeChaveCheckDigit(stripped)) {\n return failure('INVALID_CHECK_DIGIT', 'NF-e chave de acesso check digit is invalid');\n }\n\n return buildSuccess(stripped, structure.parts);\n}\n\nexport function validateNfeChave(input: string): NfeChaveValidationResult {\n return parseNfeChave(input);\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/aeroportos/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "aeroportos",
|
|
4
|
+
nome: "ANAC Public Aerodromos",
|
|
5
|
+
fonte: "ANAC \u2014 Lista de aer\xF3dromos de uso p\xFAblico",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv"
|
|
8
|
+
],
|
|
9
|
+
capturadoEm: "2026-06-23",
|
|
10
|
+
atualizadoEm: "2026-06-23T18:20:01.661Z",
|
|
11
|
+
contagens: {
|
|
12
|
+
aeroportos: 533,
|
|
13
|
+
comIata: 87
|
|
14
|
+
},
|
|
15
|
+
alteracoes: {
|
|
16
|
+
adicionados: 0,
|
|
17
|
+
removidos: 0,
|
|
18
|
+
alterados: 0,
|
|
19
|
+
comparadoCom: "2026-06-23"
|
|
20
|
+
},
|
|
21
|
+
verificacao: {
|
|
22
|
+
agendamento: "semanal",
|
|
23
|
+
workflow: "data-refresh-bot.yml",
|
|
24
|
+
ultimaExecucao: "2026-06-23T18:20:01.661Z"
|
|
25
|
+
},
|
|
26
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#aeroportos"
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { metadata_default };
|
|
30
|
+
//# sourceMappingURL=chunk-ILKF7HP7.js.map
|
|
31
|
+
//# sourceMappingURL=chunk-ILKF7HP7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/aeroportos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,YAAA;AAAA,EACN,IAAA,EAAQ,wBAAA;AAAA,EACR,KAAA,EAAS,sDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,UAAA,EAAc,GAAA;AAAA,IACd,OAAA,EAAW;AAAA,GACb;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,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-ILKF7HP7.js","sourcesContent":["{\n \"id\": \"aeroportos\",\n \"nome\": \"ANAC Public Aerodromos\",\n \"fonte\": \"ANAC — Lista de aeródromos de uso público\",\n \"endpoints\": [\n \"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:20:01.661Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:20:01.661Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-
|
|
1
|
+
import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-3JAYOBSG.js';
|
|
2
2
|
|
|
3
3
|
// src/core/telefone/mask.ts
|
|
4
4
|
function applyTelefoneMask(canonical, tipo) {
|
|
@@ -20,5 +20,5 @@ function formatTelefone(input) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export { formatTelefone };
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-IRERFIL5.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-IRERFIL5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/telefone/mask.ts","../src/format/telefone.ts"],"names":[],"mappings":";;;AAOO,SAAS,iBAAA,CAAkB,WAAmB,IAAA,EAA4B;AAC/E,EAAA,MAAM,OAAA,GAAU,IAAA,KAAS,SAAA,GAAY,6BAAA,GAAgC,0BAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAA;AACpC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,IAAI,CAAA,qBAAA,CAAuB,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAC9C;;;ACVO,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,IAAI,IAAA,EAAM,SAAA,EAAW,kBAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,IAAI,CAAA,EAAE;AAC7E","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/telefone/mask.ts","../src/format/telefone.ts"],"names":[],"mappings":";;;AAOO,SAAS,iBAAA,CAAkB,WAAmB,IAAA,EAA4B;AAC/E,EAAA,MAAM,OAAA,GAAU,IAAA,KAAS,SAAA,GAAY,6BAAA,GAAgC,0BAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAA;AACpC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,IAAI,CAAA,qBAAA,CAAuB,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAC9C;;;ACVO,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,IAAI,IAAA,EAAM,SAAA,EAAW,kBAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,IAAI,CAAA,EAAE;AAC7E","file":"chunk-IRERFIL5.js","sourcesContent":["import {\n TELEFONE_CELULAR_MASK_PATTERN,\n TELEFONE_FIXO_MASK_PATTERN,\n} from './constants.js';\nimport type { TelefoneTipo } from '../../types/validation-result.js';\n\n/** Mask (DD) 9XXXX-XXXX or (DD) XXXX-XXXX per Anatel E.164 layout. */\nexport function applyTelefoneMask(canonical: string, tipo: TelefoneTipo): string {\n const pattern = tipo === 'celular' ? TELEFONE_CELULAR_MASK_PATTERN : TELEFONE_FIXO_MASK_PATTERN;\n const match = pattern.exec(canonical);\n if (!match) {\n throw new Error(`Telephone must have valid ${tipo} length to apply mask`);\n }\n return `(${match[1]}) ${match[2]}-${match[3]}`;\n}\n","import { applyTelefoneMask } from '../core/telefone/mask.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatTelefone(input: string): FormatResult {\n const result = validateTelefone(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyTelefoneMask(result.value, result.tipo) };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CNPJ_MASK_PATTERN } from './chunk-
|
|
1
|
+
import { CNPJ_MASK_PATTERN } from './chunk-RSJK46ZE.js';
|
|
2
2
|
|
|
3
3
|
// src/core/cnpj/mask.ts
|
|
4
4
|
function applyCnpjMask(canonical) {
|
|
@@ -10,5 +10,5 @@ function applyCnpjMask(canonical) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { applyCnpjMask };
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-ISMIJ5DH.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-ISMIJ5DH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/cnpj/mask.ts"],"names":[],"mappings":";;;AAGO,SAAS,cAAc,SAAA,EAA2B;AACvD,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,IAAA,CAAK,SAAS,CAAA;AAC9C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AAAA,EACtE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACpE","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/cnpj/mask.ts"],"names":[],"mappings":";;;AAGO,SAAS,cAAc,SAAA,EAA2B;AACvD,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,IAAA,CAAK,SAAS,CAAA;AAC9C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AAAA,EACtE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACpE","file":"chunk-ISMIJ5DH.js","sourcesContent":["import { CNPJ_MASK_PATTERN } from './constants.js';\n\n/** Mask XX.XXX.XXX/XXXX-DD — same for numeric and alphanumeric (RFB Q21). */\nexport function applyCnpjMask(canonical: string): string {\n const match = CNPJ_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CNPJ must have exactly 14 characters to apply mask');\n }\n return `${match[1]}.${match[2]}.${match[3]}/${match[4]}-${match[5]}`;\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computeCheckDigit } from './chunk-OTZHMJYE.js';
|
|
2
2
|
import { stripCpf } from './chunk-UCJPSJN5.js';
|
|
3
|
-
import { brandCpf } from './chunk-
|
|
3
|
+
import { brandCpf } from './chunk-4NFEM2SU.js';
|
|
4
4
|
|
|
5
5
|
// src/core/cpf/constants.ts
|
|
6
6
|
var CPF_DV1_WEIGHTS = [10, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
@@ -69,5 +69,5 @@ function validateCpf(input) {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export { CPF_BASE_LENGTH, CPF_DV1_WEIGHTS, CPF_DV2_WEIGHTS, CPF_GOLDEN_PRIMARY, CPF_GOLDEN_PRIMARY_MASKED, CPF_GOLDEN_SECONDARY, CPF_MASK_PATTERN, CPF_OFFICIAL_SOURCE_URL, isValidCpf, validateCpf };
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-LBAWZ4EV.js.map
|
|
73
|
+
//# sourceMappingURL=chunk-LBAWZ4EV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/cpf/constants.ts","../src/core/cpf/index.ts"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/cpf/constants.ts","../src/core/cpf/index.ts"],"names":[],"mappings":"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","file":"chunk-LBAWZ4EV.js","sourcesContent":["/**\n * CPF constants — modulo 11 weights (RFB standard).\n * @see https://www.gov.br/receitafederal/pt-br/assuntos/cpf\n * @see docs/use-cases/UC-001-validate-cpf.md — golden vector 12345678909\n */\nexport const CPF_DV1_WEIGHTS = [10, 9, 8, 7, 6, 5, 4, 3, 2] as const;\nexport const CPF_DV2_WEIGHTS = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2] as const;\nexport const CPF_LENGTH = 11;\nexport const CPF_BASE_LENGTH = 9;\nexport const CPF_NUMERIC_PATTERN = /^\\d{11}$/;\nexport const CPF_MASK_PATTERN = /^(\\d{3})(\\d{3})(\\d{3})(\\d{2})$/;\n\nexport const CPF_GOLDEN_PRIMARY = '12345678909';\nexport const CPF_GOLDEN_SECONDARY = '11144477735';\nexport const CPF_GOLDEN_PRIMARY_MASKED = '123.456.789-09';\nexport const CPF_OFFICIAL_SOURCE_URL =\n 'https://www.gov.br/receitafederal/pt-br/assuntos/cpf';\n","/**\n * CPF validation — modulo 11 (RFB standard weights).\n * @see https://www.gov.br/receitafederal/pt-br/assuntos/cpf\n * @see docs/use-cases/UC-001-validate-cpf.md — golden vector 12345678909\n */\nimport { stripCpf } from '../../strip/cpf.js';\nimport type { ValidationResult } from '../../types/validation-result.js';\nimport { brandCpf } from '../../types/validation-result.js';\nimport { computeCheckDigit } from '../cnpj/modulo11.js';\nimport {\n CPF_BASE_LENGTH,\n CPF_DV1_WEIGHTS,\n CPF_DV2_WEIGHTS,\n CPF_LENGTH,\n} from './constants.js';\n\nexport {\n CPF_GOLDEN_PRIMARY,\n CPF_GOLDEN_PRIMARY_MASKED,\n CPF_GOLDEN_SECONDARY,\n CPF_OFFICIAL_SOURCE_URL,\n} from './constants.js';\n\ntype FailedResult = Extract<ValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction digitValue(char: string): number {\n return Number(char);\n}\n\nfunction hasRepeatedDigits(value: string): boolean {\n const first = value[0];\n for (let i = 1; i < value.length; i++) {\n if (value[i] !== first) {\n return false;\n }\n }\n return true;\n}\n\nfunction isValidCpfChecksum(stripped: string): boolean {\n const base = stripped.slice(0, CPF_BASE_LENGTH);\n const dv1Expected = String(computeCheckDigit(base, CPF_DV1_WEIGHTS, digitValue));\n const dv2Expected = String(\n computeCheckDigit(base + dv1Expected, CPF_DV2_WEIGHTS, digitValue),\n );\n\n return stripped.slice(CPF_BASE_LENGTH) === dv1Expected + dv2Expected;\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'CPF input is empty');\n }\n\n const withoutMask = input.replace(/[.-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'CPF contains invalid characters');\n }\n\n if (stripped.length !== CPF_LENGTH) {\n return failure('INVALID_LENGTH', `CPF must have ${CPF_LENGTH} digits after normalization`);\n }\n\n if (hasRepeatedDigits(stripped)) {\n return failure('KNOWN_INVALID_PATTERN', 'CPF with all identical digits is invalid');\n }\n\n return null;\n}\n\nexport function isValidCpf(input: string): boolean {\n return validateCpf(input).ok;\n}\n\nexport function validateCpf(input: string): ValidationResult {\n const stripped = stripCpf(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n if (isValidCpfChecksum(stripped)) {\n return { ok: true, value: brandCpf(stripped), format: 'numeric' };\n }\n\n return failure('INVALID_CHECK_DIGIT', 'CPF check digits are invalid');\n}\n"]}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
1
|
+
import { validateRg } from './chunk-G557DGIX.js';
|
|
2
|
+
import { validateProcessoJudicial } from './chunk-VE2XZSKP.js';
|
|
3
|
+
import { validateRenavam } from './chunk-24JBIV3A.js';
|
|
4
|
+
import { validateTelefone } from './chunk-3JAYOBSG.js';
|
|
5
|
+
import { validateTituloEleitor } from './chunk-26MSDS43.js';
|
|
6
|
+
import { validatePisPasep } from './chunk-ULNZHOMA.js';
|
|
7
|
+
import { validatePlaca } from './chunk-2JSOXG2M.js';
|
|
8
|
+
import { validateInscricaoEstadual } from './chunk-P3EJRH4P.js';
|
|
9
|
+
import { validateNfeChave } from './chunk-IJ2DAVSD.js';
|
|
10
|
+
import { validateIeSpRural } from './chunk-TAOFFAG3.js';
|
|
11
|
+
import { validateCnh } from './chunk-A5UHVGRB.js';
|
|
12
|
+
import { validateBoleto } from './chunk-3DLNIUBY.js';
|
|
13
|
+
import { validateBrCode } from './chunk-72EZ2VUO.js';
|
|
14
|
+
import { validatePixKey } from './chunk-UTSZKJAL.js';
|
|
15
|
+
import { validateCnpj } from './chunk-RSJK46ZE.js';
|
|
16
|
+
import { validateCpf } from './chunk-LBAWZ4EV.js';
|
|
17
|
+
import { validateCartaoCredito } from './chunk-VDCITFZG.js';
|
|
18
|
+
import { validateCep } from './chunk-CJKVA7VS.js';
|
|
17
19
|
|
|
18
20
|
// src/platform/validate-dispatch.ts
|
|
19
21
|
function validateForPlatform(input, type, options = {}) {
|
|
@@ -24,6 +26,13 @@ function validateForPlatform(input, type, options = {}) {
|
|
|
24
26
|
message: "UF is required for inscricao-estadual validation"
|
|
25
27
|
};
|
|
26
28
|
}
|
|
29
|
+
if (type === "rg" && !options.uf) {
|
|
30
|
+
return {
|
|
31
|
+
ok: false,
|
|
32
|
+
code: "UNSUPPORTED_FORMAT",
|
|
33
|
+
message: "UF is required for RG validation"
|
|
34
|
+
};
|
|
35
|
+
}
|
|
27
36
|
switch (type) {
|
|
28
37
|
case "cpf": {
|
|
29
38
|
const result = validateCpf(input);
|
|
@@ -61,6 +70,14 @@ function validateForPlatform(input, type, options = {}) {
|
|
|
61
70
|
const result = validateTituloEleitor(input);
|
|
62
71
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
63
72
|
}
|
|
73
|
+
case "processo-judicial": {
|
|
74
|
+
const result = validateProcessoJudicial(input);
|
|
75
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
76
|
+
}
|
|
77
|
+
case "rg": {
|
|
78
|
+
const result = validateRg(input, { uf: options.uf });
|
|
79
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
80
|
+
}
|
|
64
81
|
case "nfe-chave": {
|
|
65
82
|
const result = validateNfeChave(input);
|
|
66
83
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
@@ -124,5 +141,5 @@ function batch(inputs, type, options = {}) {
|
|
|
124
141
|
}
|
|
125
142
|
|
|
126
143
|
export { batch };
|
|
127
|
-
//# sourceMappingURL=chunk-
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-LCY6USO2.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-LCY6USO2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/index.ts"],"names":[],"mappings":"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","file":"chunk-LCY6USO2.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(input, { uf: options.uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { detectBoletoInputKind, validateLinhaDigitavel, applyLinhaDigitavelMask } from './chunk-
|
|
1
|
+
import { detectBoletoInputKind, validateLinhaDigitavel, applyLinhaDigitavelMask } from './chunk-QSSKPIG5.js';
|
|
2
2
|
|
|
3
3
|
// src/format/boleto.ts
|
|
4
4
|
function formatBoleto(input) {
|
|
@@ -22,5 +22,5 @@ function formatBoleto(input) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export { formatBoleto };
|
|
25
|
-
//# sourceMappingURL=chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-LPGSPM53.js.map
|
|
26
|
+
//# sourceMappingURL=chunk-LPGSPM53.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/format/boleto.ts"],"names":[],"mappings":";;;AAUO,SAAS,aAAa,KAAA,EAA6B;AACxD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,aAAA,EAAe,SAAS,uBAAA,EAAwB;AAAA,EAC5E;AAEA,EAAA,MAAM,IAAA,GAAO,sBAAsB,OAAO,CAAA;AAC1C,EAAA,IAAI,SAAS,eAAA,EAAiB;AAC5B,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,oBAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,MAAM,MAAA,GAAS,uBAAuB,OAAO,CAAA;AAC7C,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;AAEA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/format/boleto.ts"],"names":[],"mappings":";;;AAUO,SAAS,aAAa,KAAA,EAA6B;AACxD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,aAAA,EAAe,SAAS,uBAAA,EAAwB;AAAA,EAC5E;AAEA,EAAA,MAAM,IAAA,GAAO,sBAAsB,OAAO,CAAA;AAC1C,EAAA,IAAI,SAAS,eAAA,EAAiB;AAC5B,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,oBAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,MAAM,MAAA,GAAS,uBAAuB,OAAO,CAAA;AAC7C,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;AAEA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-LPGSPM53.js","sourcesContent":["/**\n * Format decorator — strip → validate → apply official mask (UC-003).\n * @see docs/use-cases/UC-003-format-document.md\n * @see docs/VALIDATION-RULES.md BR-GLOBAL-002\n */\nimport { applyLinhaDigitavelMask } from '../core/boleto/mask.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { validateLinhaDigitavel } from '../core/boleto/linha-digitavel.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatBoleto(input: string): FormatResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return { ok: false, code: 'EMPTY_INPUT', message: 'Boleto input is empty' };\n }\n\n const kind = detectBoletoInputKind(trimmed);\n if (kind === 'codigo-barras') {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'Boleto barcode formatting is not supported in v1',\n };\n }\n\n const result = validateLinhaDigitavel(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n return { ok: true, formatted: applyLinhaDigitavelMask(result.value) };\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-24JBIV3A.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-MDFK6L72.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-MDFK6L72.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-MDFK6L72.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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-NQIDHQ6U.js"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/nbs/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "nbs",
|
|
4
|
+
nome: "NFSe NBS",
|
|
5
|
+
fonte: "NFSe Nacional \u2014 Anexo B NBS2 Lista Servi\xE7o Nacional",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx/@@download/file/ANEXO_B-NBS2-LISTA_SERVICO_NACIONAL-SNNFSe.xlsx"
|
|
8
|
+
],
|
|
9
|
+
capturadoEm: "2026-06-23",
|
|
10
|
+
atualizadoEm: "2026-06-23T18:40:25.263Z",
|
|
11
|
+
contagens: {
|
|
12
|
+
nbs: 917
|
|
13
|
+
},
|
|
14
|
+
alteracoes: {
|
|
15
|
+
adicionados: 917,
|
|
16
|
+
removidos: 0,
|
|
17
|
+
alterados: 0,
|
|
18
|
+
comparadoCom: null
|
|
19
|
+
},
|
|
20
|
+
verificacao: {
|
|
21
|
+
agendamento: "semanal",
|
|
22
|
+
workflow: "data-refresh-bot.yml",
|
|
23
|
+
ultimaExecucao: "2026-06-23T18:40:25.263Z"
|
|
24
|
+
},
|
|
25
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#nbs"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { metadata_default };
|
|
29
|
+
//# sourceMappingURL=chunk-NTVB7R3A.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-NTVB7R3A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/nbs/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,UAAA;AAAA,EACR,KAAA,EAAS,6DAAA;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,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-NTVB7R3A.js","sourcesContent":["{\n \"id\": \"nbs\",\n \"nome\": \"NFSe NBS\",\n \"fonte\": \"NFSe Nacional — Anexo B NBS2 Lista Serviço Nacional\",\n \"endpoints\": [\n \"https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx/@@download/file/ANEXO_B-NBS2-LISTA_SERVICO_NACIONAL-SNNFSe.xlsx\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:40:25.263Z\",\n \"contagens\": {\n \"nbs\": 917\n },\n \"alteracoes\": {\n \"adicionados\": 917,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:40:25.263Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#nbs\"\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/moedas/data/metadata.json
|
|
2
|
+
var metadata_default = {
|
|
3
|
+
id: "moedas",
|
|
4
|
+
nome: "ISO 4217 Currencies + Bacen PTAX",
|
|
5
|
+
fonte: "ISO 4217 (embedded) + Banco Central PTAX Moedas",
|
|
6
|
+
endpoints: [
|
|
7
|
+
"https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas"
|
|
8
|
+
],
|
|
9
|
+
capturadoEm: "2026-06-23",
|
|
10
|
+
atualizadoEm: "2026-06-23T18:35:27.792Z",
|
|
11
|
+
contagens: {
|
|
12
|
+
moedas: 154
|
|
13
|
+
},
|
|
14
|
+
alteracoes: {
|
|
15
|
+
adicionados: 154,
|
|
16
|
+
removidos: 0,
|
|
17
|
+
alterados: 0,
|
|
18
|
+
comparadoCom: null
|
|
19
|
+
},
|
|
20
|
+
verificacao: {
|
|
21
|
+
agendamento: "semanal",
|
|
22
|
+
workflow: "data-refresh-bot.yml",
|
|
23
|
+
ultimaExecucao: "2026-06-23T18:35:27.792Z"
|
|
24
|
+
},
|
|
25
|
+
documentacao: "docs/OFFICIAL-SOURCES.md#moedas"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { metadata_default };
|
|
29
|
+
//# sourceMappingURL=chunk-O4AO4YWC.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-O4AO4YWC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/moedas/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,kCAAA;AAAA,EACR,KAAA,EAAS,iDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-O4AO4YWC.js","sourcesContent":["{\n \"id\": \"moedas\",\n \"nome\": \"ISO 4217 Currencies + Bacen PTAX\",\n \"fonte\": \"ISO 4217 (embedded) + Banco Central PTAX Moedas\",\n \"endpoints\": [\n \"https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:35:27.792Z\",\n \"contagens\": {\n \"moedas\": 154\n },\n \"alteracoes\": {\n \"adicionados\": 154,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:35:27.792Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#moedas\"\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeForPlatform } from './chunk-
|
|
1
|
+
import { normalizeForPlatform } from './chunk-VJT3UGN2.js';
|
|
2
2
|
|
|
3
3
|
// src/diff/index.ts
|
|
4
4
|
function diff(a, b, type, options = {}) {
|
|
@@ -61,6 +61,15 @@ function splitFields(value, type) {
|
|
|
61
61
|
uf: value.slice(8, 10),
|
|
62
62
|
dv: value.slice(10, 12)
|
|
63
63
|
};
|
|
64
|
+
case "processo-judicial":
|
|
65
|
+
return {
|
|
66
|
+
sequencial: value.slice(0, 7),
|
|
67
|
+
checkDigits: value.slice(7, 9),
|
|
68
|
+
ano: value.slice(9, 13),
|
|
69
|
+
segmentoJustica: value.slice(13, 14),
|
|
70
|
+
tribunal: value.slice(14, 16),
|
|
71
|
+
origem: value.slice(16, 20)
|
|
72
|
+
};
|
|
64
73
|
case "nfe-chave":
|
|
65
74
|
return {
|
|
66
75
|
cUF: value.slice(0, 2),
|
|
@@ -79,6 +88,7 @@ function splitFields(value, type) {
|
|
|
79
88
|
case "cartao-credito":
|
|
80
89
|
case "inscricao-estadual":
|
|
81
90
|
case "inscricao-estadual-produtor-rural":
|
|
91
|
+
case "rg":
|
|
82
92
|
case "pix":
|
|
83
93
|
case "brcode":
|
|
84
94
|
return { value };
|
|
@@ -89,5 +99,5 @@ function splitFields(value, type) {
|
|
|
89
99
|
}
|
|
90
100
|
|
|
91
101
|
export { diff };
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-OH4CXHFH.js.map
|
|
103
|
+
//# sourceMappingURL=chunk-OH4CXHFH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-OH4CXHFH.js","sourcesContent":["/**\n * Field-level document diff — per-type structural decomposition (BR-DIFF-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { normalizeForPlatform } from '../platform/normalize.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\n\nexport type DiffField = {\n field: string;\n a: string;\n b: string;\n};\n\nexport type DiffResult = {\n changed: boolean;\n fields: DiffField[];\n};\n\nexport function diff(\n a: string,\n b: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): DiffResult {\n const left = normalizeForPlatform(a, type, options);\n const right = normalizeForPlatform(b, type, options);\n\n if (left === right) {\n return { changed: false, fields: [] };\n }\n\n const leftFields = splitFields(left, type);\n const rightFields = splitFields(right, type);\n const keys = new Set([...Object.keys(leftFields), ...Object.keys(rightFields)]);\n const fields: DiffField[] = [];\n\n for (const field of keys) {\n const leftValue = leftFields[field];\n const rightValue = rightFields[field];\n if (leftValue !== rightValue) {\n fields.push({ field, a: leftValue, b: rightValue });\n }\n }\n\n return { changed: fields.length > 0, fields };\n}\n\nfunction splitFields(value: string, type: PlatformDocumentType): Record<string, string> {\n switch (type) {\n case 'cpf':\n return {\n base: value.slice(0, 9),\n dv: value.slice(9, 11),\n };\n case 'cnpj':\n return {\n base: value.slice(0, 12),\n dv: value.slice(12, 14),\n };\n case 'cep':\n return {\n prefix: value.slice(0, 5),\n suffix: value.slice(5, 8),\n };\n case 'telefone':\n return { ddd: value.slice(0, 2), subscriber: value.slice(2) };\n case 'pis-pasep':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'cnh':\n return {\n base: value.slice(0, 9),\n dv1: value.slice(9, 10),\n dv2: value.slice(10, 11),\n };\n case 'renavam':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'titulo-eleitor':\n return {\n sequential: value.slice(0, 8),\n uf: value.slice(8, 10),\n dv: value.slice(10, 12),\n };\n case 'processo-judicial':\n return {\n sequencial: value.slice(0, 7),\n checkDigits: value.slice(7, 9),\n ano: value.slice(9, 13),\n segmentoJustica: value.slice(13, 14),\n tribunal: value.slice(14, 16),\n origem: value.slice(16, 20),\n };\n case 'nfe-chave':\n return {\n cUF: value.slice(0, 2),\n aamm: value.slice(2, 6),\n cnpj: value.slice(6, 20),\n mod: value.slice(20, 22),\n serie: value.slice(22, 25),\n nNF: value.slice(25, 34),\n tpEmis: value.slice(34, 35),\n cNF: value.slice(35, 43),\n cDV: value.slice(43, 44),\n };\n case 'placa':\n return { value };\n case 'boleto':\n case 'cartao-credito':\n case 'inscricao-estadual':\n case 'inscricao-estadual-produtor-rural':\n case 'rg':\n case 'pix':\n case 'brcode':\n return { value };\n default: {\n const _exhaustive: never = type;\n void _exhaustive;\n return { value };\n }\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateCartaoCredito, applyCartaoCreditoMask } from './chunk-
|
|
1
|
+
import { validateCartaoCredito, applyCartaoCreditoMask } from './chunk-VDCITFZG.js';
|
|
2
2
|
|
|
3
3
|
// src/format/cartao-credito.ts
|
|
4
4
|
function formatCartaoCredito(input) {
|
|
@@ -10,5 +10,5 @@ function formatCartaoCredito(input) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { formatCartaoCredito };
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-OWD47AWI.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-OWD47AWI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/format/cartao-credito.ts"],"names":[],"mappings":";;;AAIO,SAAS,oBAAoB,KAAA,EAA6B;AAC/D,EAAA,MAAM,MAAA,GAAS,sBAAsB,KAAK,CAAA;AAC1C,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,sBAAA,CAAuB,MAAA,CAAO,KAAK,CAAA,EAAE;AACrE","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/format/cartao-credito.ts"],"names":[],"mappings":";;;AAIO,SAAS,oBAAoB,KAAA,EAA6B;AAC/D,EAAA,MAAM,MAAA,GAAS,sBAAsB,KAAK,CAAA;AAC1C,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,sBAAA,CAAuB,MAAA,CAAO,KAAK,CAAA,EAAE;AACrE","file":"chunk-OWD47AWI.js","sourcesContent":["import { applyCartaoCreditoMask } from '../core/cartao-credito/mask.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCartaoCredito(input: string): FormatResult {\n const result = validateCartaoCredito(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCartaoCreditoMask(result.value) };\n}\n"]}
|