@br-validators/core 1.1.0 → 1.5.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.
Files changed (167) hide show
  1. package/README.md +67 -3
  2. package/dist/aeroportos.d.ts +46 -0
  3. package/dist/aeroportos.js +4316 -0
  4. package/dist/aeroportos.js.map +1 -0
  5. package/dist/bancos.js +1 -1
  6. package/dist/batch.js +19 -18
  7. package/dist/brcode.js +5 -5
  8. package/dist/cbo.d.ts +41 -0
  9. package/dist/cbo.js +10832 -0
  10. package/dist/cbo.js.map +1 -0
  11. package/dist/cep.d.ts +38 -1
  12. package/dist/cep.js +4 -3
  13. package/dist/cest.d.ts +44 -0
  14. package/dist/cest.js +8253 -0
  15. package/dist/cest.js.map +1 -0
  16. package/dist/cfop.d.ts +41 -0
  17. package/dist/cfop.js +2812 -0
  18. package/dist/cfop.js.map +1 -0
  19. package/dist/chunk-475HS4CJ.js +30 -0
  20. package/dist/chunk-475HS4CJ.js.map +1 -0
  21. package/dist/chunk-5CBVZIQC.js +30 -0
  22. package/dist/chunk-5CBVZIQC.js.map +1 -0
  23. package/dist/{chunk-LAEUXOF6.js → chunk-5EJAENH5.js} +3 -3
  24. package/dist/{chunk-LAEUXOF6.js.map → chunk-5EJAENH5.js.map} +1 -1
  25. package/dist/chunk-6EF7GQRS.js +30 -0
  26. package/dist/chunk-6EF7GQRS.js.map +1 -0
  27. package/dist/{chunk-PCP77SLS.js → chunk-6UEXR2MQ.js} +13 -13
  28. package/dist/{chunk-PCP77SLS.js.map → chunk-6UEXR2MQ.js.map} +1 -1
  29. package/dist/chunk-7JCJGLA3.js +30 -0
  30. package/dist/chunk-7JCJGLA3.js.map +1 -0
  31. package/dist/chunk-DQUMIETC.js +30 -0
  32. package/dist/chunk-DQUMIETC.js.map +1 -0
  33. package/dist/chunk-EKOSTVIA.js +30 -0
  34. package/dist/chunk-EKOSTVIA.js.map +1 -0
  35. package/dist/{chunk-TJCE4TVX.js → chunk-EN7PVDYB.js} +4 -4
  36. package/dist/{chunk-TJCE4TVX.js.map → chunk-EN7PVDYB.js.map} +1 -1
  37. package/dist/{chunk-VWVQWN2G.js → chunk-EQV33L7H.js} +3 -3
  38. package/dist/{chunk-VWVQWN2G.js.map → chunk-EQV33L7H.js.map} +1 -1
  39. package/dist/chunk-F7IEPT22.js +30 -0
  40. package/dist/chunk-F7IEPT22.js.map +1 -0
  41. package/dist/chunk-FUYDR7JI.js +44 -0
  42. package/dist/chunk-FUYDR7JI.js.map +1 -0
  43. package/dist/{chunk-5V6N4JWQ.js → chunk-GWAYWBHN.js} +5 -5
  44. package/dist/{chunk-5V6N4JWQ.js.map → chunk-GWAYWBHN.js.map} +1 -1
  45. package/dist/chunk-ILKF7HP7.js +31 -0
  46. package/dist/chunk-ILKF7HP7.js.map +1 -0
  47. package/dist/{chunk-IYOPXJLY.js → chunk-JSNXKBZA.js} +3 -3
  48. package/dist/{chunk-IYOPXJLY.js.map → chunk-JSNXKBZA.js.map} +1 -1
  49. package/dist/{chunk-P2KNN6ZR.js → chunk-KGCLQ7QX.js} +3 -3
  50. package/dist/{chunk-P2KNN6ZR.js.map → chunk-KGCLQ7QX.js.map} +1 -1
  51. package/dist/{chunk-H3MLGGFI.js → chunk-KLONQL76.js} +5 -5
  52. package/dist/{chunk-H3MLGGFI.js.map → chunk-KLONQL76.js.map} +1 -1
  53. package/dist/{chunk-63G7QO73.js → chunk-L7PF4KD6.js} +3 -3
  54. package/dist/{chunk-63G7QO73.js.map → chunk-L7PF4KD6.js.map} +1 -1
  55. package/dist/{chunk-PNPESCSP.js → chunk-MAM4U3UR.js} +3 -3
  56. package/dist/{chunk-PNPESCSP.js.map → chunk-MAM4U3UR.js.map} +1 -1
  57. package/dist/{chunk-V7UJ55KW.js → chunk-MZDCVTN6.js} +3 -3
  58. package/dist/{chunk-V7UJ55KW.js.map → chunk-MZDCVTN6.js.map} +1 -1
  59. package/dist/{chunk-I66ZRSEN.js → chunk-NT3TNF3R.js} +3 -3
  60. package/dist/{chunk-I66ZRSEN.js.map → chunk-NT3TNF3R.js.map} +1 -1
  61. package/dist/chunk-NTVB7R3A.js +30 -0
  62. package/dist/chunk-NTVB7R3A.js.map +1 -0
  63. package/dist/{chunk-N5CER3QZ.js → chunk-NXS343IJ.js} +14 -14
  64. package/dist/{chunk-N5CER3QZ.js.map → chunk-NXS343IJ.js.map} +1 -1
  65. package/dist/{chunk-EVULAGR5.js → chunk-O3T7PUBI.js} +3 -3
  66. package/dist/{chunk-EVULAGR5.js.map → chunk-O3T7PUBI.js.map} +1 -1
  67. package/dist/chunk-O4AO4YWC.js +30 -0
  68. package/dist/chunk-O4AO4YWC.js.map +1 -0
  69. package/dist/{chunk-EFEE6CMO.js → chunk-OOUEURR7.js} +3 -3
  70. package/dist/{chunk-EFEE6CMO.js.map → chunk-OOUEURR7.js.map} +1 -1
  71. package/dist/chunk-P6TOL5VY.js +147973 -0
  72. package/dist/chunk-P6TOL5VY.js.map +1 -0
  73. package/dist/{chunk-BA3FAVK4.js → chunk-Q5QBTTNC.js} +25 -25
  74. package/dist/{chunk-BA3FAVK4.js.map → chunk-Q5QBTTNC.js.map} +1 -1
  75. package/dist/{chunk-ASQ2XIN2.js → chunk-QU4HTXM5.js} +12 -12
  76. package/dist/{chunk-ASQ2XIN2.js.map → chunk-QU4HTXM5.js.map} +1 -1
  77. package/dist/{chunk-KTEQPYYN.js → chunk-RRVGW333.js} +6 -6
  78. package/dist/{chunk-KTEQPYYN.js.map → chunk-RRVGW333.js.map} +1 -1
  79. package/dist/chunk-RWO34ORS.js +33 -0
  80. package/dist/chunk-RWO34ORS.js.map +1 -0
  81. package/dist/chunk-SC6YCHT7.js +30 -0
  82. package/dist/chunk-SC6YCHT7.js.map +1 -0
  83. package/dist/{chunk-MESOO5GZ.js → chunk-SDEJD2J7.js} +3 -3
  84. package/dist/{chunk-MESOO5GZ.js.map → chunk-SDEJD2J7.js.map} +1 -1
  85. package/dist/chunk-UGW266DF.js +30 -0
  86. package/dist/chunk-UGW266DF.js.map +1 -0
  87. package/dist/{chunk-YNVMVDFN.js → chunk-VKG7UEN5.js} +3 -3
  88. package/dist/{chunk-YNVMVDFN.js.map → chunk-VKG7UEN5.js.map} +1 -1
  89. package/dist/{chunk-LRUZVPLR.js → chunk-VWS4AWCI.js} +3 -3
  90. package/dist/{chunk-LRUZVPLR.js.map → chunk-VWS4AWCI.js.map} +1 -1
  91. package/dist/{chunk-XADVBV73.js → chunk-WH6W3NUA.js} +6 -6
  92. package/dist/{chunk-XADVBV73.js.map → chunk-WH6W3NUA.js.map} +1 -1
  93. package/dist/{chunk-UCNPXHIJ.js → chunk-WSUAPD5M.js} +6 -6
  94. package/dist/{chunk-UCNPXHIJ.js.map → chunk-WSUAPD5M.js.map} +1 -1
  95. package/dist/{chunk-JCWQDTZB.js → chunk-X7XQRG4X.js} +3 -3
  96. package/dist/{chunk-JCWQDTZB.js.map → chunk-X7XQRG4X.js.map} +1 -1
  97. package/dist/{chunk-CSVGWTCG.js → chunk-XHDRWM46.js} +3 -3
  98. package/dist/{chunk-CSVGWTCG.js.map → chunk-XHDRWM46.js.map} +1 -1
  99. package/dist/chunk-XQ6MMGV2.js +30 -0
  100. package/dist/chunk-XQ6MMGV2.js.map +1 -0
  101. package/dist/{chunk-FOP5LO7W.js → chunk-YNUYQKUW.js} +15 -15
  102. package/dist/{chunk-FOP5LO7W.js.map → chunk-YNUYQKUW.js.map} +1 -1
  103. package/dist/chunk-YOL43ZNQ.js +35 -0
  104. package/dist/chunk-YOL43ZNQ.js.map +1 -0
  105. package/dist/chunk-ZWAYSR5K.js +30 -0
  106. package/dist/chunk-ZWAYSR5K.js.map +1 -0
  107. package/dist/{chunk-MKYCKCZ6.js → chunk-ZYWBWXTJ.js} +13 -13
  108. package/dist/{chunk-MKYCKCZ6.js.map → chunk-ZYWBWXTJ.js.map} +1 -1
  109. package/dist/cnaes.d.ts +41 -0
  110. package/dist/cnaes.js +5384 -0
  111. package/dist/cnaes.js.map +1 -0
  112. package/dist/cnh.js +4 -4
  113. package/dist/compare.js +21 -20
  114. package/dist/cpf.js +4 -4
  115. package/dist/data-catalog.js +38 -4
  116. package/dist/data-catalog.js.map +1 -1
  117. package/dist/detect.js +18 -17
  118. package/dist/diff.js +21 -20
  119. package/dist/feriados.d.ts +73 -0
  120. package/dist/feriados.js +243 -0
  121. package/dist/feriados.js.map +1 -0
  122. package/dist/generate.js +29 -28
  123. package/dist/ibge.js +1 -1
  124. package/dist/incoterms.d.ts +36 -0
  125. package/dist/incoterms.js +87 -0
  126. package/dist/incoterms.js.map +1 -0
  127. package/dist/index.d.ts +1 -1
  128. package/dist/index.js +49 -48
  129. package/dist/index.js.map +1 -1
  130. package/dist/inscricao-estadual-produtor-rural.js +1 -1
  131. package/dist/mask.js +28 -27
  132. package/dist/moedas.d.ts +42 -0
  133. package/dist/moedas.js +977 -0
  134. package/dist/moedas.js.map +1 -0
  135. package/dist/natureza-juridica.d.ts +37 -0
  136. package/dist/natureza-juridica.js +398 -0
  137. package/dist/natureza-juridica.js.map +1 -0
  138. package/dist/nbs.d.ts +40 -0
  139. package/dist/nbs.js +3728 -0
  140. package/dist/nbs.js.map +1 -0
  141. package/dist/ncm.d.ts +41 -0
  142. package/dist/ncm.js +42116 -0
  143. package/dist/ncm.js.map +1 -0
  144. package/dist/paises-bacen.d.ts +35 -0
  145. package/dist/paises-bacen.js +1044 -0
  146. package/dist/paises-bacen.js.map +1 -0
  147. package/dist/pix.js +5 -5
  148. package/dist/placa.js +1 -1
  149. package/dist/pncp-reference.d.ts +56 -0
  150. package/dist/pncp-reference.js +1560 -0
  151. package/dist/pncp-reference.js.map +1 -0
  152. package/dist/portos.d.ts +48 -0
  153. package/dist/portos.js +12094 -0
  154. package/dist/portos.js.map +1 -0
  155. package/dist/renavam.js +4 -4
  156. package/dist/sanitize.js +16 -15
  157. package/dist/telefone.js +3 -3
  158. package/dist/titulo-eleitor.js +4 -4
  159. package/dist/transparencia-snapshots.d.ts +61 -0
  160. package/dist/transparencia-snapshots.js +119 -0
  161. package/dist/transparencia-snapshots.js.map +1 -0
  162. package/dist/tse-municipios.d.ts +39 -0
  163. package/dist/tse-municipios.js +33469 -0
  164. package/dist/tse-municipios.js.map +1 -0
  165. package/package.json +81 -1
  166. package/dist/chunk-TE6NSONR.js +0 -43
  167. package/dist/chunk-TE6NSONR.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/detect/helpers.ts","../src/detect/index.ts"],"names":["result"],"mappings":"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","file":"chunk-PCP77SLS.js","sourcesContent":["import { BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_LINHA_LENGTH } from '../core/boleto/constants.js';\nimport { CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH } from '../core/cartao-credito/constants.js';\nimport { CNPJ_LENGTH } from '../core/cnpj/constants.js';\nimport { NFE_CHAVE_LENGTH } from '../core/nfe-chave/constants.js';\nimport { PLACA_LENGTH } from '../core/placa/constants.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\n\nexport function stripDigits(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function stripAlnumUpper(input: string): string {\n return input.replace(/[^A-Za-z0-9]/g, '').toUpperCase();\n}\n\nexport function hasLetters(input: string): boolean {\n return /[A-Za-z]/.test(input);\n}\n\nexport function looksLikeBrCode(input: string): boolean {\n const trimmed = input.trim();\n return trimmed.startsWith('00020') && trimmed.length > 20;\n}\n\nexport function looksLikeBoleto(input: string): boolean {\n const kind = detectBoletoInputKind(input);\n return kind === 'linha-digitavel' || kind === 'codigo-barras';\n}\n\nexport function isBoletoArrecadacao(input: string): boolean {\n return detectBoletoInputKind(input) === 'arrecadacao';\n}\n\nexport function looksLikeNfeChave(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === NFE_CHAVE_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjNumeric(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === CNPJ_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjAlphanumeric(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === CNPJ_LENGTH && hasLetters(input);\n}\n\nexport function looksLikeElevenDigits(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 11 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeTituloEleitor(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 12 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCep(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 8 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikePlaca(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);\n}\n\nexport function looksLikeCartao(input: string): boolean {\n const withoutMask = input.replace(/[\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return false;\n }\n const digits = stripDigits(input);\n return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;\n}\n\nexport function looksLikeIe(input: string, uf?: string): boolean {\n if (!uf) {\n return false;\n }\n if (uf === 'SP' && isSpRuralIeInput(input)) {\n return true;\n }\n const digits = stripDigits(input);\n return digits.length >= 8 && digits.length <= 14;\n}\n\nexport function looksLikePix(input: string): boolean {\n const trimmed = input.trim();\n if (trimmed.includes('@')) {\n return true;\n }\n if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {\n return true;\n }\n if (/^\\+?\\d/.test(trimmed)) {\n const digits = stripDigits(trimmed);\n return digits.length === 11 || digits.length === 14;\n }\n return false;\n}\n\nexport function looksLikeTelefone(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length >= 10 && digits.length <= 13;\n}\n\nexport {\n BOLETO_CODIGO_BARRAS_LENGTH,\n BOLETO_LINHA_LENGTH,\n};\n","/**\n * Unified document type detection — delegates to existing validators (BR-DETECT-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateArrecadacao } from '../core/boleto/arrecadacao.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateBrCode } from '../core/brcode/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 { validateIeProdutorRural } from '../core/inscricao-estadual/validate-produtor-rural.js';\nimport { isSpRuralIeInput } 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 { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport {\n isBoletoArrecadacao,\n looksLikeBoleto,\n looksLikeBrCode,\n looksLikeCartao,\n looksLikeCep,\n looksLikeCnpjAlphanumeric,\n looksLikeCnpjNumeric,\n looksLikeElevenDigits,\n looksLikeIe,\n looksLikeNfeChave,\n looksLikePix,\n looksLikePlaca,\n looksLikeTelefone,\n looksLikeTituloEleitor,\n} from './helpers.js';\nimport type { DocumentFormat, UfCode, ValidationErrorCode } from '../types/validation-result.js';\n\nexport type DetectableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'pix'\n | 'telefone'\n | 'boleto'\n | 'cartao-credito'\n | 'cnh'\n | 'renavam'\n | 'nfe-chave'\n | 'titulo-eleitor'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'brcode'\n | 'unknown';\n\nexport type DetectOptions = {\n uf?: UfCode;\n};\n\nexport type DetectSuccess = {\n type: DetectableDocumentType;\n ok: true;\n value: string;\n format?: DocumentFormat;\n meta?: Record<string, unknown>;\n};\n\nexport type DetectFailure = {\n type: DetectableDocumentType;\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type DetectResult = DetectSuccess | DetectFailure;\n\ntype Candidate = {\n canTry: (raw: string, options: DetectOptions) => boolean;\n detect: (raw: string, options: DetectOptions) => DetectResult | null;\n};\n\n/** @internal Test hook for success result branches. */\nexport function buildDetectSuccess(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return success(type, value, format, meta);\n}\n\nfunction success(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return { type, ok: true, value, ...(format ? { format } : {}), ...(meta ? { meta } : {}) };\n}\n\nfunction tryValidators(attempts: Array<() => DetectResult | null>): DetectResult | null {\n for (const attempt of attempts) {\n const result = attempt();\n if (result) {\n return result;\n }\n }\n return null;\n}\n\nconst CANDIDATES: Candidate[] = [\n {\n canTry: (raw) => isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateArrecadacao(raw);\n if (!result.ok) {\n return null;\n }\n return success('boleto', result.value, 'arrecadacao', {\n inputKind: result.inputKind,\n segment: result.segment,\n valueType: result.valueType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateBoleto(raw);\n if (!result.ok || result.format === 'arrecadacao') {\n return null;\n }\n return success('boleto', result.value, result.format, {\n inputKind: result.inputKind,\n situacao: result.situacao,\n });\n },\n },\n {\n canTry: (raw) => looksLikeNfeChave(raw),\n detect: (raw) => {\n const result = validateNfeChave(raw);\n if (!result.ok) {\n return null;\n }\n return success('nfe-chave', result.value, result.format, {\n parsed: result.parsed,\n uf: result.uf,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBrCode(raw),\n detect: (raw) => {\n const result = validateBrCode(raw);\n if (!result.ok) {\n return null;\n }\n return success('brcode', result.value, result.format, {\n merchantName: result.merchantName,\n merchantCity: result.merchantCity,\n pixKey: result.pixKey,\n pixKeyType: result.pixKeyType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeCnpjAlphanumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeCnpjNumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeElevenDigits(raw),\n detect: (raw) =>\n tryValidators([\n () => {\n const result = validateCpf(raw);\n return result.ok ? success('cpf', result.value, result.format) : null;\n },\n () => {\n const result = validateCnh(raw);\n return result.ok ? success('cnh', result.value, result.format) : null;\n },\n () => {\n const result = validatePisPasep(raw);\n return result.ok ? success('pis-pasep', result.value, result.format) : null;\n },\n ]),\n },\n {\n canTry: (raw) => looksLikeTituloEleitor(raw),\n detect: (raw) => {\n const result = validateTituloEleitor(raw);\n if (!result.ok) {\n return null;\n }\n return success('titulo-eleitor', result.value, result.format, {\n ufCode: result.ufCode,\n ...(result.uf ? { uf: result.uf } : {}),\n ...(result.exterior ? { exterior: result.exterior } : {}),\n });\n },\n },\n {\n canTry: (raw) => looksLikeCep(raw),\n detect: (raw) => {\n const result = validateCep(raw);\n if (!result.ok) {\n return null;\n }\n return success('cep', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePlaca(raw),\n detect: (raw) => {\n const result = validatePlaca(raw);\n if (!result.ok) {\n return null;\n }\n return success('placa', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePix(raw),\n detect: (raw) => {\n const result = validatePixKey(raw);\n if (!result.ok) {\n return null;\n }\n return success('pix', result.value, result.format, { keyType: result.keyType });\n },\n },\n {\n canTry: (raw) => looksLikeTelefone(raw),\n detect: (raw) => {\n const result = validateTelefone(raw);\n if (!result.ok) {\n return null;\n }\n return success('telefone', result.value, result.format, { tipo: result.tipo });\n },\n },\n {\n canTry: (raw) => looksLikeCartao(raw),\n detect: (raw) => {\n const result = validateCartaoCredito(raw);\n if (!result.ok) {\n return null;\n }\n return success('cartao-credito', result.value, result.format, { brand: result.brand });\n },\n },\n {\n canTry: (raw, options) => looksLikeIe(raw, options.uf),\n detect: (raw, options) => {\n const uf = options.uf as UfCode;\n if (uf === 'SP' && isSpRuralIeInput(raw)) {\n const result = validateIeProdutorRural(uf, raw);\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual-produtor-rural', result.value, result.format, { uf: result.uf });\n }\n const result = validateInscricaoEstadual(raw, { uf });\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual', result.value, result.format, { uf: result.uf });\n },\n },\n];\n\nexport function detect(raw: string, options: DetectOptions = {}): DetectResult {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return {\n type: 'unknown',\n ok: false,\n code: 'EMPTY_INPUT',\n message: 'Input is empty',\n };\n }\n\n for (const candidate of CANDIDATES) {\n if (!candidate.canTry(trimmed, options)) {\n continue;\n }\n const result = candidate.detect(trimmed, options);\n if (result?.ok) {\n return result;\n }\n }\n\n return {\n type: 'unknown',\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: options.uf\n ? 'No supported document type matched the input'\n : 'No supported document type matched the input; provide options.uf for Inscrição Estadual detection',\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/detect/helpers.ts","../src/detect/index.ts"],"names":["result"],"mappings":"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","file":"chunk-6UEXR2MQ.js","sourcesContent":["import { BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_LINHA_LENGTH } from '../core/boleto/constants.js';\nimport { CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH } from '../core/cartao-credito/constants.js';\nimport { CNPJ_LENGTH } from '../core/cnpj/constants.js';\nimport { NFE_CHAVE_LENGTH } from '../core/nfe-chave/constants.js';\nimport { PLACA_LENGTH } from '../core/placa/constants.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\n\nexport function stripDigits(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function stripAlnumUpper(input: string): string {\n return input.replace(/[^A-Za-z0-9]/g, '').toUpperCase();\n}\n\nexport function hasLetters(input: string): boolean {\n return /[A-Za-z]/.test(input);\n}\n\nexport function looksLikeBrCode(input: string): boolean {\n const trimmed = input.trim();\n return trimmed.startsWith('00020') && trimmed.length > 20;\n}\n\nexport function looksLikeBoleto(input: string): boolean {\n const kind = detectBoletoInputKind(input);\n return kind === 'linha-digitavel' || kind === 'codigo-barras';\n}\n\nexport function isBoletoArrecadacao(input: string): boolean {\n return detectBoletoInputKind(input) === 'arrecadacao';\n}\n\nexport function looksLikeNfeChave(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === NFE_CHAVE_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjNumeric(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === CNPJ_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjAlphanumeric(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === CNPJ_LENGTH && hasLetters(input);\n}\n\nexport function looksLikeElevenDigits(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 11 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeTituloEleitor(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 12 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCep(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 8 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikePlaca(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);\n}\n\nexport function looksLikeCartao(input: string): boolean {\n const withoutMask = input.replace(/[\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return false;\n }\n const digits = stripDigits(input);\n return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;\n}\n\nexport function looksLikeIe(input: string, uf?: string): boolean {\n if (!uf) {\n return false;\n }\n if (uf === 'SP' && isSpRuralIeInput(input)) {\n return true;\n }\n const digits = stripDigits(input);\n return digits.length >= 8 && digits.length <= 14;\n}\n\nexport function looksLikePix(input: string): boolean {\n const trimmed = input.trim();\n if (trimmed.includes('@')) {\n return true;\n }\n if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {\n return true;\n }\n if (/^\\+?\\d/.test(trimmed)) {\n const digits = stripDigits(trimmed);\n return digits.length === 11 || digits.length === 14;\n }\n return false;\n}\n\nexport function looksLikeTelefone(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length >= 10 && digits.length <= 13;\n}\n\nexport {\n BOLETO_CODIGO_BARRAS_LENGTH,\n BOLETO_LINHA_LENGTH,\n};\n","/**\n * Unified document type detection — delegates to existing validators (BR-DETECT-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateArrecadacao } from '../core/boleto/arrecadacao.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateBrCode } from '../core/brcode/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 { validateIeProdutorRural } from '../core/inscricao-estadual/validate-produtor-rural.js';\nimport { isSpRuralIeInput } 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 { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport {\n isBoletoArrecadacao,\n looksLikeBoleto,\n looksLikeBrCode,\n looksLikeCartao,\n looksLikeCep,\n looksLikeCnpjAlphanumeric,\n looksLikeCnpjNumeric,\n looksLikeElevenDigits,\n looksLikeIe,\n looksLikeNfeChave,\n looksLikePix,\n looksLikePlaca,\n looksLikeTelefone,\n looksLikeTituloEleitor,\n} from './helpers.js';\nimport type { DocumentFormat, UfCode, ValidationErrorCode } from '../types/validation-result.js';\n\nexport type DetectableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'pix'\n | 'telefone'\n | 'boleto'\n | 'cartao-credito'\n | 'cnh'\n | 'renavam'\n | 'nfe-chave'\n | 'titulo-eleitor'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'brcode'\n | 'unknown';\n\nexport type DetectOptions = {\n uf?: UfCode;\n};\n\nexport type DetectSuccess = {\n type: DetectableDocumentType;\n ok: true;\n value: string;\n format?: DocumentFormat;\n meta?: Record<string, unknown>;\n};\n\nexport type DetectFailure = {\n type: DetectableDocumentType;\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type DetectResult = DetectSuccess | DetectFailure;\n\ntype Candidate = {\n canTry: (raw: string, options: DetectOptions) => boolean;\n detect: (raw: string, options: DetectOptions) => DetectResult | null;\n};\n\n/** @internal Test hook for success result branches. */\nexport function buildDetectSuccess(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return success(type, value, format, meta);\n}\n\nfunction success(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return { type, ok: true, value, ...(format ? { format } : {}), ...(meta ? { meta } : {}) };\n}\n\nfunction tryValidators(attempts: Array<() => DetectResult | null>): DetectResult | null {\n for (const attempt of attempts) {\n const result = attempt();\n if (result) {\n return result;\n }\n }\n return null;\n}\n\nconst CANDIDATES: Candidate[] = [\n {\n canTry: (raw) => isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateArrecadacao(raw);\n if (!result.ok) {\n return null;\n }\n return success('boleto', result.value, 'arrecadacao', {\n inputKind: result.inputKind,\n segment: result.segment,\n valueType: result.valueType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateBoleto(raw);\n if (!result.ok || result.format === 'arrecadacao') {\n return null;\n }\n return success('boleto', result.value, result.format, {\n inputKind: result.inputKind,\n situacao: result.situacao,\n });\n },\n },\n {\n canTry: (raw) => looksLikeNfeChave(raw),\n detect: (raw) => {\n const result = validateNfeChave(raw);\n if (!result.ok) {\n return null;\n }\n return success('nfe-chave', result.value, result.format, {\n parsed: result.parsed,\n uf: result.uf,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBrCode(raw),\n detect: (raw) => {\n const result = validateBrCode(raw);\n if (!result.ok) {\n return null;\n }\n return success('brcode', result.value, result.format, {\n merchantName: result.merchantName,\n merchantCity: result.merchantCity,\n pixKey: result.pixKey,\n pixKeyType: result.pixKeyType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeCnpjAlphanumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeCnpjNumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeElevenDigits(raw),\n detect: (raw) =>\n tryValidators([\n () => {\n const result = validateCpf(raw);\n return result.ok ? success('cpf', result.value, result.format) : null;\n },\n () => {\n const result = validateCnh(raw);\n return result.ok ? success('cnh', result.value, result.format) : null;\n },\n () => {\n const result = validatePisPasep(raw);\n return result.ok ? success('pis-pasep', result.value, result.format) : null;\n },\n ]),\n },\n {\n canTry: (raw) => looksLikeTituloEleitor(raw),\n detect: (raw) => {\n const result = validateTituloEleitor(raw);\n if (!result.ok) {\n return null;\n }\n return success('titulo-eleitor', result.value, result.format, {\n ufCode: result.ufCode,\n ...(result.uf ? { uf: result.uf } : {}),\n ...(result.exterior ? { exterior: result.exterior } : {}),\n });\n },\n },\n {\n canTry: (raw) => looksLikeCep(raw),\n detect: (raw) => {\n const result = validateCep(raw);\n if (!result.ok) {\n return null;\n }\n return success('cep', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePlaca(raw),\n detect: (raw) => {\n const result = validatePlaca(raw);\n if (!result.ok) {\n return null;\n }\n return success('placa', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePix(raw),\n detect: (raw) => {\n const result = validatePixKey(raw);\n if (!result.ok) {\n return null;\n }\n return success('pix', result.value, result.format, { keyType: result.keyType });\n },\n },\n {\n canTry: (raw) => looksLikeTelefone(raw),\n detect: (raw) => {\n const result = validateTelefone(raw);\n if (!result.ok) {\n return null;\n }\n return success('telefone', result.value, result.format, { tipo: result.tipo });\n },\n },\n {\n canTry: (raw) => looksLikeCartao(raw),\n detect: (raw) => {\n const result = validateCartaoCredito(raw);\n if (!result.ok) {\n return null;\n }\n return success('cartao-credito', result.value, result.format, { brand: result.brand });\n },\n },\n {\n canTry: (raw, options) => looksLikeIe(raw, options.uf),\n detect: (raw, options) => {\n const uf = options.uf as UfCode;\n if (uf === 'SP' && isSpRuralIeInput(raw)) {\n const result = validateIeProdutorRural(uf, raw);\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual-produtor-rural', result.value, result.format, { uf: result.uf });\n }\n const result = validateInscricaoEstadual(raw, { uf });\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual', result.value, result.format, { uf: result.uf });\n },\n },\n];\n\nexport function detect(raw: string, options: DetectOptions = {}): DetectResult {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return {\n type: 'unknown',\n ok: false,\n code: 'EMPTY_INPUT',\n message: 'Input is empty',\n };\n }\n\n for (const candidate of CANDIDATES) {\n if (!candidate.canTry(trimmed, options)) {\n continue;\n }\n const result = candidate.detect(trimmed, options);\n if (result?.ok) {\n return result;\n }\n }\n\n return {\n type: 'unknown',\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: options.uf\n ? 'No supported document type matched the input'\n : 'No supported document type matched the input; provide options.uf for Inscrição Estadual detection',\n };\n}\n"]}
@@ -0,0 +1,30 @@
1
+ // src/tse-municipios/data/metadata.json
2
+ var metadata_default = {
3
+ id: "tse-municipios",
4
+ nome: "TSE \u2194 IBGE Municipality Codes",
5
+ fonte: "TSE \u2014 C\xF3digos oficiais de UF e munic\xEDpios segundo o TSE e o IBGE",
6
+ endpoints: [
7
+ "https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip"
8
+ ],
9
+ capturadoEm: "2026-06-23",
10
+ atualizadoEm: "2026-06-23T18:20:02.432Z",
11
+ contagens: {
12
+ municipios: 5571
13
+ },
14
+ alteracoes: {
15
+ adicionados: 0,
16
+ removidos: 0,
17
+ alterados: 0,
18
+ comparadoCom: "2026-06-23"
19
+ },
20
+ verificacao: {
21
+ agendamento: "semanal",
22
+ workflow: "data-refresh-bot.yml",
23
+ ultimaExecucao: "2026-06-23T18:20:02.432Z"
24
+ },
25
+ documentacao: "docs/OFFICIAL-SOURCES.md#tse-municipios"
26
+ };
27
+
28
+ export { metadata_default };
29
+ //# sourceMappingURL=chunk-7JCJGLA3.js.map
30
+ //# sourceMappingURL=chunk-7JCJGLA3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tse-municipios/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,oCAAA;AAAA,EACR,KAAA,EAAS,6EAAA;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;AAAA,GAChB;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-7JCJGLA3.js","sourcesContent":["{\n \"id\": \"tse-municipios\",\n \"nome\": \"TSE ↔ IBGE Municipality Codes\",\n \"fonte\": \"TSE — Códigos oficiais de UF e municípios segundo o TSE e o IBGE\",\n \"endpoints\": [\n \"https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:20:02.432Z\",\n \"contagens\": {\n \"municipios\": 5571\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:02.432Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#tse-municipios\"\n}\n"]}
@@ -0,0 +1,30 @@
1
+ // src/core/cep/data/faixa-metadata.json
2
+ var faixa_metadata_default = {
3
+ id: "cep-faixas",
4
+ nome: "CEP prefix lookup (IBGE CNEFE 2022)",
5
+ fonte: "IBGE CNEFE Censo 2022 microdata by UF",
6
+ endpoints: [
7
+ "https://ftp.ibge.gov.br/Cadastro_Nacional_de_Enderecos_para_Fins_Estatisticos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/UF"
8
+ ],
9
+ capturadoEm: "2026-06-23",
10
+ atualizadoEm: "2026-06-23T16:50:26.699Z",
11
+ contagens: {
12
+ faixas: 24649
13
+ },
14
+ alteracoes: {
15
+ adicionados: 24649,
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-23T16:50:26.699Z"
24
+ },
25
+ documentacao: "docs/OFFICIAL-SOURCES.md#cep-prefix-ranges"
26
+ };
27
+
28
+ export { faixa_metadata_default };
29
+ //# sourceMappingURL=chunk-DQUMIETC.js.map
30
+ //# sourceMappingURL=chunk-DQUMIETC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/cep/data/faixa-metadata.json"],"names":[],"mappings":";AAAA,IAAA,sBAAA,GAAA;AAAA,EACE,EAAA,EAAM,YAAA;AAAA,EACN,IAAA,EAAQ,qCAAA;AAAA,EACR,KAAA,EAAS,uCAAA;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,KAAA;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-DQUMIETC.js","sourcesContent":["{\n \"id\": \"cep-faixas\",\n \"nome\": \"CEP prefix lookup (IBGE CNEFE 2022)\",\n \"fonte\": \"IBGE CNEFE Censo 2022 microdata by UF\",\n \"endpoints\": [\n \"https://ftp.ibge.gov.br/Cadastro_Nacional_de_Enderecos_para_Fins_Estatisticos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/UF\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T16:50:26.699Z\",\n \"contagens\": {\n \"faixas\": 24649\n },\n \"alteracoes\": {\n \"adicionados\": 24649,\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-23T16:50:26.699Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cep-prefix-ranges\"\n}\n"]}
@@ -0,0 +1,30 @@
1
+ // src/incoterms/data/metadata.json
2
+ var metadata_default = {
3
+ id: "incoterms",
4
+ nome: "ICC Incoterms 2020",
5
+ fonte: "International Chamber of Commerce \u2014 Incoterms 2020 (static reference)",
6
+ endpoints: [
7
+ "https://iccwbo.org/resources-for-business/incoterms-rules/"
8
+ ],
9
+ capturadoEm: "2026-06-23",
10
+ atualizadoEm: "2026-06-23T18:35:34.344Z",
11
+ contagens: {
12
+ incoterms: 11
13
+ },
14
+ alteracoes: {
15
+ adicionados: 11,
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:34.344Z"
24
+ },
25
+ documentacao: "docs/OFFICIAL-SOURCES.md#incoterms"
26
+ };
27
+
28
+ export { metadata_default };
29
+ //# sourceMappingURL=chunk-EKOSTVIA.js.map
30
+ //# sourceMappingURL=chunk-EKOSTVIA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/incoterms/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAQ,oBAAA;AAAA,EACR,KAAA,EAAS,4EAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,EAAA;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-EKOSTVIA.js","sourcesContent":["{\n \"id\": \"incoterms\",\n \"nome\": \"ICC Incoterms 2020\",\n \"fonte\": \"International Chamber of Commerce — Incoterms 2020 (static reference)\",\n \"endpoints\": [\n \"https://iccwbo.org/resources-for-business/incoterms-rules/\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:35:34.344Z\",\n \"contagens\": {\n \"incoterms\": 11\n },\n \"alteracoes\": {\n \"adicionados\": 11,\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:34.344Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#incoterms\"\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { applyCpfMask } from './chunk-P2KNN6ZR.js';
2
- import { validateCpf } from './chunk-63G7QO73.js';
1
+ import { applyCpfMask } from './chunk-KGCLQ7QX.js';
2
+ import { validateCpf } from './chunk-L7PF4KD6.js';
3
3
 
4
4
  // src/format/cpf.ts
5
5
  function formatCpf(input) {
@@ -11,5 +11,5 @@ function formatCpf(input) {
11
11
  }
12
12
 
13
13
  export { formatCpf };
14
- //# sourceMappingURL=chunk-TJCE4TVX.js.map
15
- //# sourceMappingURL=chunk-TJCE4TVX.js.map
14
+ //# sourceMappingURL=chunk-EN7PVDYB.js.map
15
+ //# sourceMappingURL=chunk-EN7PVDYB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/format/cpf.ts"],"names":[],"mappings":";;;;AAIO,SAAS,UAAU,KAAA,EAA6B;AACrD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,YAAA,CAAa,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3D","file":"chunk-TJCE4TVX.js","sourcesContent":["import { applyCpfMask } from '../core/cpf/mask.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCpf(input: string): FormatResult {\n const result = validateCpf(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCpfMask(result.value) };\n}\n"]}
1
+ {"version":3,"sources":["../src/format/cpf.ts"],"names":[],"mappings":";;;;AAIO,SAAS,UAAU,KAAA,EAA6B;AACrD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,YAAA,CAAa,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3D","file":"chunk-EN7PVDYB.js","sourcesContent":["import { applyCpfMask } from '../core/cpf/mask.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCpf(input: string): FormatResult {\n const result = validateCpf(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCpfMask(result.value) };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { validateCnh, CNH_NUMERIC_PATTERN, CNH_LENGTH } from './chunk-YNVMVDFN.js';
1
+ import { validateCnh, CNH_NUMERIC_PATTERN, CNH_LENGTH } from './chunk-VKG7UEN5.js';
2
2
 
3
3
  // src/core/cnh/mask.ts
4
4
  function applyCnhCanonicalFormat(canonical) {
@@ -18,5 +18,5 @@ function formatCnh(input) {
18
18
  }
19
19
 
20
20
  export { formatCnh };
21
- //# sourceMappingURL=chunk-VWVQWN2G.js.map
22
- //# sourceMappingURL=chunk-VWVQWN2G.js.map
21
+ //# sourceMappingURL=chunk-EQV33L7H.js.map
22
+ //# sourceMappingURL=chunk-EQV33L7H.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/cnh/mask.ts","../src/format/cnh.ts"],"names":[],"mappings":";;;AAQO,SAAS,wBAAwB,SAAA,EAA2B;AACjE,EAAA,IAAI,CAAC,mBAAA,CAAoB,IAAA,CAAK,SAAS,CAAA,EAAG;AACxC,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,sBAAA,EAAyB,UAAU,CAAA,iBAAA,CAAmB,CAAA;AAAA,EACxE;AACA,EAAA,OAAO,SAAA;AACT;;;ACTO,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,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-VWVQWN2G.js","sourcesContent":["import { CNH_LENGTH, CNH_NUMERIC_PATTERN } from './constants.js';\n\n/**\n * Official system format — 11 contiguous digits (BR-CNH-005).\n * Unlike CPF, CONTRAN/SENATRAN systems do not use dot/dash decoration.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/pt-br/servicos/validar-cnh\n */\nexport function applyCnhCanonicalFormat(canonical: string): string {\n if (!CNH_NUMERIC_PATTERN.test(canonical)) {\n throw new Error(`CNH must have exactly ${CNH_LENGTH} digits to format`);\n }\n return canonical;\n}\n","import { applyCnhCanonicalFormat } from '../core/cnh/mask.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCnh(input: string): FormatResult {\n const result = validateCnh(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCnhCanonicalFormat(result.value) };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/cnh/mask.ts","../src/format/cnh.ts"],"names":[],"mappings":";;;AAQO,SAAS,wBAAwB,SAAA,EAA2B;AACjE,EAAA,IAAI,CAAC,mBAAA,CAAoB,IAAA,CAAK,SAAS,CAAA,EAAG;AACxC,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,sBAAA,EAAyB,UAAU,CAAA,iBAAA,CAAmB,CAAA;AAAA,EACxE;AACA,EAAA,OAAO,SAAA;AACT;;;ACTO,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,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-EQV33L7H.js","sourcesContent":["import { CNH_LENGTH, CNH_NUMERIC_PATTERN } from './constants.js';\n\n/**\n * Official system format — 11 contiguous digits (BR-CNH-005).\n * Unlike CPF, CONTRAN/SENATRAN systems do not use dot/dash decoration.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/pt-br/servicos/validar-cnh\n */\nexport function applyCnhCanonicalFormat(canonical: string): string {\n if (!CNH_NUMERIC_PATTERN.test(canonical)) {\n throw new Error(`CNH must have exactly ${CNH_LENGTH} digits to format`);\n }\n return canonical;\n}\n","import { applyCnhCanonicalFormat } from '../core/cnh/mask.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCnh(input: string): FormatResult {\n const result = validateCnh(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCnhCanonicalFormat(result.value) };\n}\n"]}
@@ -0,0 +1,30 @@
1
+ // src/natureza-juridica/data/metadata.json
2
+ var metadata_default = {
3
+ id: "natureza-juridica",
4
+ nome: "RFB CNPJ Naturezas Jur\xEDdicas",
5
+ fonte: "Receita Federal \u2014 Dados Abertos CNPJ (Naturezas.zip)",
6
+ endpoints: [
7
+ "https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip"
8
+ ],
9
+ capturadoEm: "2026-06-23",
10
+ atualizadoEm: "2026-06-23T18:39:09.224Z",
11
+ contagens: {
12
+ naturezas: 90
13
+ },
14
+ alteracoes: {
15
+ adicionados: 90,
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:39:09.224Z"
24
+ },
25
+ documentacao: "docs/OFFICIAL-SOURCES.md#natureza-juridica"
26
+ };
27
+
28
+ export { metadata_default };
29
+ //# sourceMappingURL=chunk-F7IEPT22.js.map
30
+ //# sourceMappingURL=chunk-F7IEPT22.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/natureza-juridica/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,mBAAA;AAAA,EACN,IAAA,EAAQ,iCAAA;AAAA,EACR,KAAA,EAAS,2DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,EAAA;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-F7IEPT22.js","sourcesContent":["{\n \"id\": \"natureza-juridica\",\n \"nome\": \"RFB CNPJ Naturezas Jurídicas\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Naturezas.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:39:09.224Z\",\n \"contagens\": {\n \"naturezas\": 90\n },\n \"alteracoes\": {\n \"adicionados\": 90,\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:39:09.224Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#natureza-juridica\"\n}\n"]}
@@ -0,0 +1,44 @@
1
+ // src/pncp-reference/data/metadata.json
2
+ var metadata_default = {
3
+ id: "pncp-reference",
4
+ nome: "PNCP domain reference tables",
5
+ fonte: "PNCP Cadastro API \u2014 static domain tables (Lei 14.133 ecosystem)",
6
+ endpoints: [
7
+ "https://pncp.gov.br/api/pncp/v1/modalidades",
8
+ "https://pncp.gov.br/api/pncp/v1/amparos-legais",
9
+ "https://pncp.gov.br/api/pncp/v1/modos-disputas",
10
+ "https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-convocatorios",
11
+ "https://pncp.gov.br/api/pncp/v1/tipos-contratos",
12
+ "https://pncp.gov.br/api/pncp/v1/criterios-julgamentos",
13
+ "https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca",
14
+ "https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias"
15
+ ],
16
+ capturadoEm: "2026-06-23",
17
+ atualizadoEm: "2026-06-23T19:08:24.455Z",
18
+ contagens: {
19
+ modalidades: 19,
20
+ "amparos-legais": 183,
21
+ "modos-disputa": 6,
22
+ "tipos-instrumentos-convocatorios": 5,
23
+ "tipos-contrato": 12,
24
+ "criterios-julgamento": 9,
25
+ "tipos-instrumentos-cobranca": 1,
26
+ "fontes-orcamentarias": 6
27
+ },
28
+ alteracoes: {
29
+ adicionados: 0,
30
+ removidos: 0,
31
+ alterados: 0,
32
+ comparadoCom: "2026-06-23"
33
+ },
34
+ verificacao: {
35
+ agendamento: "semanal",
36
+ workflow: "data-refresh-bot.yml",
37
+ ultimaExecucao: "2026-06-23T19:08:24.455Z"
38
+ },
39
+ documentacao: "docs/OFFICIAL-SOURCES.md#pncp-reference"
40
+ };
41
+
42
+ export { metadata_default };
43
+ //# sourceMappingURL=chunk-FUYDR7JI.js.map
44
+ //# sourceMappingURL=chunk-FUYDR7JI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/pncp-reference/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,8BAAA;AAAA,EACR,KAAA,EAAS,sEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6CAAA;AAAA,IACA,gDAAA;AAAA,IACA,gDAAA;AAAA,IACA,kEAAA;AAAA,IACA,iDAAA;AAAA,IACA,uDAAA;AAAA,IACA,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,WAAA,EAAe,EAAA;AAAA,IACf,gBAAA,EAAkB,GAAA;AAAA,IAClB,eAAA,EAAiB,CAAA;AAAA,IACjB,kCAAA,EAAoC,CAAA;AAAA,IACpC,gBAAA,EAAkB,EAAA;AAAA,IAClB,sBAAA,EAAwB,CAAA;AAAA,IACxB,6BAAA,EAA+B,CAAA;AAAA,IAC/B,sBAAA,EAAwB;AAAA,GAC1B;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-FUYDR7JI.js","sourcesContent":["{\n \"id\": \"pncp-reference\",\n \"nome\": \"PNCP domain reference tables\",\n \"fonte\": \"PNCP Cadastro API — static domain tables (Lei 14.133 ecosystem)\",\n \"endpoints\": [\n \"https://pncp.gov.br/api/pncp/v1/modalidades\",\n \"https://pncp.gov.br/api/pncp/v1/amparos-legais\",\n \"https://pncp.gov.br/api/pncp/v1/modos-disputas\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-convocatorios\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-contratos\",\n \"https://pncp.gov.br/api/pncp/v1/criterios-julgamentos\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca\",\n \"https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T19:08:24.455Z\",\n \"contagens\": {\n \"modalidades\": 19,\n \"amparos-legais\": 183,\n \"modos-disputa\": 6,\n \"tipos-instrumentos-convocatorios\": 5,\n \"tipos-contrato\": 12,\n \"criterios-julgamento\": 9,\n \"tipos-instrumentos-cobranca\": 1,\n \"fontes-orcamentarias\": 6\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T19:08:24.455Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#pncp-reference\"\n}\n"]}
@@ -1,11 +1,11 @@
1
- import { normalizeTelefoneDigits, extractTelefoneDigits } from './chunk-EFEE6CMO.js';
1
+ import { stripPisPasep } from './chunk-JLCQ7MGC.js';
2
+ import { normalizeTelefoneDigits, extractTelefoneDigits } from './chunk-OOUEURR7.js';
2
3
  import { stripInscricaoEstadual } from './chunk-665E36SC.js';
3
4
  import { stripIeSpRural } from './chunk-CDNOUZEI.js';
4
- import { stripPisPasep } from './chunk-JLCQ7MGC.js';
5
5
  import { stripTituloEleitor, stripRenavam, stripCnh, stripPlaca, stripCep } from './chunk-YYHS5WQN.js';
6
6
  import { stripNfeChave } from './chunk-4SNBZFS5.js';
7
- import { stripCpf } from './chunk-UCJPSJN5.js';
8
7
  import { stripCnpj } from './chunk-EB3G4IG6.js';
8
+ import { stripCpf } from './chunk-UCJPSJN5.js';
9
9
 
10
10
  // src/sanitize/fixes.ts
11
11
  function trimFix(raw) {
@@ -131,5 +131,5 @@ function stripForType(value, type) {
131
131
  }
132
132
 
133
133
  export { applyFixes, stripForType };
134
- //# sourceMappingURL=chunk-5V6N4JWQ.js.map
135
- //# sourceMappingURL=chunk-5V6N4JWQ.js.map
134
+ //# sourceMappingURL=chunk-GWAYWBHN.js.map
135
+ //# sourceMappingURL=chunk-GWAYWBHN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sanitize/fixes.ts"],"names":[],"mappings":"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","file":"chunk-5V6N4JWQ.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 { 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 | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\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 'boleto':\n case 'titulo-eleitor':\n case 'inscricao-estadual':\n return digitsFix(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 'nfe-chave':\n return stripNfeChave(value);\n case 'boleto':\n return value.replace(/\\D/g, '');\n case 'cartao-credito':\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"]}
1
+ {"version":3,"sources":["../src/sanitize/fixes.ts"],"names":[],"mappings":"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","file":"chunk-GWAYWBHN.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 { 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 | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\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 'boleto':\n case 'titulo-eleitor':\n case 'inscricao-estadual':\n return digitsFix(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 'nfe-chave':\n return stripNfeChave(value);\n case 'boleto':\n return value.replace(/\\D/g, '');\n case 'cartao-credito':\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"]}
@@ -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 { validatePixKey, applyPixEvpKeyMask, applyPixEmailKeyMask, applyPixPhoneKeyMask, applyPixCnpjKeyMask, applyPixCpfKeyMask } from './chunk-H3MLGGFI.js';
1
+ import { validatePixKey, applyPixEvpKeyMask, applyPixEmailKeyMask, applyPixPhoneKeyMask, applyPixCnpjKeyMask, applyPixCpfKeyMask } from './chunk-KLONQL76.js';
2
2
 
3
3
  // src/format/pix.ts
4
4
  function applyPixMask(keyType, value) {
@@ -24,5 +24,5 @@ function formatPixKey(input, options) {
24
24
  }
25
25
 
26
26
  export { formatPixKey };
27
- //# sourceMappingURL=chunk-IYOPXJLY.js.map
28
- //# sourceMappingURL=chunk-IYOPXJLY.js.map
27
+ //# sourceMappingURL=chunk-JSNXKBZA.js.map
28
+ //# sourceMappingURL=chunk-JSNXKBZA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/format/pix.ts"],"names":[],"mappings":";;;AAgBA,SAAS,YAAA,CAAa,SAAqB,KAAA,EAAuB;AAChE,EAAA,QAAQ,OAAA;AAAS,IACf,KAAK,KAAA;AACH,MAAA,OAAO,mBAAmB,KAAK,CAAA;AAAA,IACjC,KAAK,MAAA;AACH,MAAA,OAAO,oBAAoB,KAAK,CAAA;AAAA,IAClC,KAAK,OAAA;AACH,MAAA,OAAO,qBAAqB,KAAK,CAAA;AAAA,IACnC,KAAK,OAAA;AACH,MAAA,OAAO,qBAAqB,KAAK,CAAA;AAAA,IACnC,KAAK,KAAA;AACH,MAAA,OAAO,mBAAmB,KAAK,CAAA;AAAA;AAErC;AAEO,SAAS,YAAA,CAAa,OAAe,OAAA,EAA+C;AACzF,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,KAAA,EAAO,OAAO,CAAA;AAC5C,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,IAAI,IAAA,EAAM,SAAA,EAAW,aAAa,MAAA,CAAO,OAAA,EAAS,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3E","file":"chunk-IYOPXJLY.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 type { ValidatePixKeyOptions } from '../core/pix/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport {\n applyPixCnpjKeyMask,\n applyPixCpfKeyMask,\n applyPixEmailKeyMask,\n applyPixEvpKeyMask,\n applyPixPhoneKeyMask,\n} from '../core/pix/mask.js';\nimport type { FormatResult, PixKeyType } from '../types/validation-result.js';\n\nfunction applyPixMask(keyType: PixKeyType, value: string): string {\n switch (keyType) {\n case 'cpf':\n return applyPixCpfKeyMask(value);\n case 'cnpj':\n return applyPixCnpjKeyMask(value);\n case 'phone':\n return applyPixPhoneKeyMask(value);\n case 'email':\n return applyPixEmailKeyMask(value);\n case 'evp':\n return applyPixEvpKeyMask(value);\n }\n}\n\nexport function formatPixKey(input: string, options?: ValidatePixKeyOptions): FormatResult {\n const result = validatePixKey(input, options);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n return { ok: true, formatted: applyPixMask(result.keyType, result.value) };\n}\n"]}
1
+ {"version":3,"sources":["../src/format/pix.ts"],"names":[],"mappings":";;;AAgBA,SAAS,YAAA,CAAa,SAAqB,KAAA,EAAuB;AAChE,EAAA,QAAQ,OAAA;AAAS,IACf,KAAK,KAAA;AACH,MAAA,OAAO,mBAAmB,KAAK,CAAA;AAAA,IACjC,KAAK,MAAA;AACH,MAAA,OAAO,oBAAoB,KAAK,CAAA;AAAA,IAClC,KAAK,OAAA;AACH,MAAA,OAAO,qBAAqB,KAAK,CAAA;AAAA,IACnC,KAAK,OAAA;AACH,MAAA,OAAO,qBAAqB,KAAK,CAAA;AAAA,IACnC,KAAK,KAAA;AACH,MAAA,OAAO,mBAAmB,KAAK,CAAA;AAAA;AAErC;AAEO,SAAS,YAAA,CAAa,OAAe,OAAA,EAA+C;AACzF,EAAA,MAAM,MAAA,GAAS,cAAA,CAAe,KAAA,EAAO,OAAO,CAAA;AAC5C,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,IAAI,IAAA,EAAM,SAAA,EAAW,aAAa,MAAA,CAAO,OAAA,EAAS,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3E","file":"chunk-JSNXKBZA.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 type { ValidatePixKeyOptions } from '../core/pix/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport {\n applyPixCnpjKeyMask,\n applyPixCpfKeyMask,\n applyPixEmailKeyMask,\n applyPixEvpKeyMask,\n applyPixPhoneKeyMask,\n} from '../core/pix/mask.js';\nimport type { FormatResult, PixKeyType } from '../types/validation-result.js';\n\nfunction applyPixMask(keyType: PixKeyType, value: string): string {\n switch (keyType) {\n case 'cpf':\n return applyPixCpfKeyMask(value);\n case 'cnpj':\n return applyPixCnpjKeyMask(value);\n case 'phone':\n return applyPixPhoneKeyMask(value);\n case 'email':\n return applyPixEmailKeyMask(value);\n case 'evp':\n return applyPixEvpKeyMask(value);\n }\n}\n\nexport function formatPixKey(input: string, options?: ValidatePixKeyOptions): FormatResult {\n const result = validatePixKey(input, options);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n return { ok: true, formatted: applyPixMask(result.keyType, result.value) };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { CPF_MASK_PATTERN } from './chunk-63G7QO73.js';
1
+ import { CPF_MASK_PATTERN } from './chunk-L7PF4KD6.js';
2
2
 
3
3
  // src/core/cpf/mask.ts
4
4
  function applyCpfMask(canonical) {
@@ -10,5 +10,5 @@ function applyCpfMask(canonical) {
10
10
  }
11
11
 
12
12
  export { applyCpfMask };
13
- //# sourceMappingURL=chunk-P2KNN6ZR.js.map
14
- //# sourceMappingURL=chunk-P2KNN6ZR.js.map
13
+ //# sourceMappingURL=chunk-KGCLQ7QX.js.map
14
+ //# sourceMappingURL=chunk-KGCLQ7QX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/cpf/mask.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,+CAA+C,CAAA;AAAA,EACjE;AACA,EAAA,OAAO,CAAA,EAAG,KAAA,CAAM,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACxD","file":"chunk-P2KNN6ZR.js","sourcesContent":["import { CPF_MASK_PATTERN } from './constants.js';\n\n/** Mask XXX.XXX.XXX-DD (BR-CPF-005). */\nexport function applyCpfMask(canonical: string): string {\n const match = CPF_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CPF must have exactly 11 digits to apply mask');\n }\n return `${match[1]}.${match[2]}.${match[3]}-${match[4]}`;\n}\n"]}
1
+ {"version":3,"sources":["../src/core/cpf/mask.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,+CAA+C,CAAA;AAAA,EACjE;AACA,EAAA,OAAO,CAAA,EAAG,KAAA,CAAM,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACxD","file":"chunk-KGCLQ7QX.js","sourcesContent":["import { CPF_MASK_PATTERN } from './constants.js';\n\n/** Mask XXX.XXX.XXX-DD (BR-CPF-005). */\nexport function applyCpfMask(canonical: string): string {\n const match = CPF_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CPF must have exactly 11 digits to apply mask');\n }\n return `${match[1]}.${match[2]}.${match[3]}-${match[4]}`;\n}\n"]}
@@ -1,9 +1,9 @@
1
- import { applyCpfMask } from './chunk-P2KNN6ZR.js';
2
- import { validateCpf } from './chunk-63G7QO73.js';
3
- import { stripCpf } from './chunk-UCJPSJN5.js';
4
1
  import { applyCnpjMask } from './chunk-CSRBRKXY.js';
5
2
  import { validateCnpj, detectCnpjFormat } from './chunk-FBARVLLP.js';
3
+ import { applyCpfMask } from './chunk-KGCLQ7QX.js';
4
+ import { validateCpf } from './chunk-L7PF4KD6.js';
6
5
  import { stripCnpj } from './chunk-EB3G4IG6.js';
6
+ import { stripCpf } from './chunk-UCJPSJN5.js';
7
7
  import { brandPixKey } from './chunk-NUQSMT4Y.js';
8
8
 
9
9
  // src/core/pix/cnpj.ts
@@ -251,5 +251,5 @@ function validatePixKey(input, options) {
251
251
  }
252
252
 
253
253
  export { PIX_DICT_API_SOURCE_URL, PIX_GOLDEN_CNPJ_ALPHANUMERIC, PIX_GOLDEN_CNPJ_NUMERIC, PIX_GOLDEN_CPF, PIX_GOLDEN_EMAIL, PIX_GOLDEN_EVP, PIX_GOLDEN_PHONE, PIX_OFFICIAL_SOURCE_URL, applyPixCnpjKeyMask, applyPixCpfKeyMask, applyPixEmailKeyMask, applyPixEvpKeyMask, applyPixPhoneKeyMask, detectPixKeyType, isValidPixKey, validatePixCnpjKey, validatePixCpfKey, validatePixEmailKey, validatePixEvpKey, validatePixKey, validatePixPhoneKey };
254
- //# sourceMappingURL=chunk-H3MLGGFI.js.map
255
- //# sourceMappingURL=chunk-H3MLGGFI.js.map
254
+ //# sourceMappingURL=chunk-KLONQL76.js.map
255
+ //# sourceMappingURL=chunk-KLONQL76.js.map