@br-validators/core 1.9.0 → 1.10.0-data.2

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 (200) hide show
  1. package/README.md +57 -7
  2. package/dist/aeroportos.js +1 -1
  3. package/dist/anp-combustiveis.js +13523 -13795
  4. package/dist/anp-combustiveis.js.map +1 -1
  5. package/dist/bancos.js +3 -3
  6. package/dist/bancos.js.map +1 -1
  7. package/dist/batch.d.ts +24 -3
  8. package/dist/batch.js +16 -15
  9. package/dist/brcode.js +6 -6
  10. package/dist/cbo.js +1 -1
  11. package/dist/cep.js +6 -3
  12. package/dist/{chunk-S4WEXFHC.js → chunk-2COBLRJZ.js} +3 -3
  13. package/dist/{chunk-S4WEXFHC.js.map → chunk-2COBLRJZ.js.map} +1 -1
  14. package/dist/{chunk-W524B2G5.js → chunk-2ONUMGUO.js} +6 -6
  15. package/dist/{chunk-W524B2G5.js.map → chunk-2ONUMGUO.js.map} +1 -1
  16. package/dist/{chunk-F6LVFAJT.js → chunk-4NS47CJG.js} +3 -3
  17. package/dist/{chunk-F6LVFAJT.js.map → chunk-4NS47CJG.js.map} +1 -1
  18. package/dist/{chunk-GREFQOOJ.js → chunk-56LI2WFN.js} +6 -6
  19. package/dist/{chunk-GREFQOOJ.js.map → chunk-56LI2WFN.js.map} +1 -1
  20. package/dist/chunk-5V2TNYC7.js +3 -0
  21. package/dist/{chunk-KLPONHBL.js.map → chunk-5V2TNYC7.js.map} +1 -1
  22. package/dist/{chunk-62P6SKG3.js → chunk-5V7RWZMP.js} +23 -21
  23. package/dist/chunk-5V7RWZMP.js.map +1 -0
  24. package/dist/{chunk-YYHS5WQN.js → chunk-6BWOYNQD.js} +2 -2
  25. package/dist/{chunk-YYHS5WQN.js.map → chunk-6BWOYNQD.js.map} +1 -1
  26. package/dist/{chunk-DQPSNERX.js → chunk-6CGSM6BR.js} +12 -11
  27. package/dist/chunk-6CGSM6BR.js.map +1 -0
  28. package/dist/{chunk-5M4S6ZMM.js → chunk-6JPPWIE6.js} +6 -6
  29. package/dist/{chunk-5M4S6ZMM.js.map → chunk-6JPPWIE6.js.map} +1 -1
  30. package/dist/chunk-6LCZGDCZ.js +27862 -0
  31. package/dist/chunk-6LCZGDCZ.js.map +1 -0
  32. package/dist/{chunk-MSYTS5K7.js → chunk-6WBUKUHD.js} +3 -3
  33. package/dist/{chunk-MSYTS5K7.js.map → chunk-6WBUKUHD.js.map} +1 -1
  34. package/dist/{chunk-LBR6N2CQ.js → chunk-73SUS6JB.js} +6 -6
  35. package/dist/{chunk-LBR6N2CQ.js.map → chunk-73SUS6JB.js.map} +1 -1
  36. package/dist/{chunk-DS6MOO5K.js → chunk-7XVCTDJE.js} +6 -65
  37. package/dist/chunk-7XVCTDJE.js.map +1 -0
  38. package/dist/{chunk-4HQ4J2J5.js → chunk-A255RZZ7.js} +3 -3
  39. package/dist/{chunk-4HQ4J2J5.js.map → chunk-A255RZZ7.js.map} +1 -1
  40. package/dist/chunk-AOBSYTR2.js +31 -0
  41. package/dist/chunk-AOBSYTR2.js.map +1 -0
  42. package/dist/{chunk-3FDHWX2H.js → chunk-BTRWDUZF.js} +3 -3
  43. package/dist/{chunk-3FDHWX2H.js.map → chunk-BTRWDUZF.js.map} +1 -1
  44. package/dist/{chunk-55IZCKNL.js → chunk-C4E2AE2A.js} +3 -3
  45. package/dist/{chunk-55IZCKNL.js.map → chunk-C4E2AE2A.js.map} +1 -1
  46. package/dist/{chunk-4ORSIPZU.js → chunk-CHCND76E.js} +6 -6
  47. package/dist/{chunk-4ORSIPZU.js.map → chunk-CHCND76E.js.map} +1 -1
  48. package/dist/{chunk-W5LOXC7J.js → chunk-DQQNXXGO.js} +12 -3
  49. package/dist/chunk-DQQNXXGO.js.map +1 -0
  50. package/dist/{chunk-56ZN3TBH.js → chunk-DXKHCIMV.js} +3 -3
  51. package/dist/{chunk-56ZN3TBH.js.map → chunk-DXKHCIMV.js.map} +1 -1
  52. package/dist/{chunk-MOND6K5Z.js → chunk-E533RFGN.js} +6 -6
  53. package/dist/{chunk-MOND6K5Z.js.map → chunk-E533RFGN.js.map} +1 -1
  54. package/dist/{chunk-GXCW6FM7.js → chunk-EWTOIHM7.js} +6 -6
  55. package/dist/{chunk-GXCW6FM7.js.map → chunk-EWTOIHM7.js.map} +1 -1
  56. package/dist/chunk-FA5ZM5UA.js +63 -0
  57. package/dist/chunk-FA5ZM5UA.js.map +1 -0
  58. package/dist/{chunk-N2MDJI4B.js → chunk-FEPV2XB5.js} +3 -3
  59. package/dist/{chunk-N2MDJI4B.js.map → chunk-FEPV2XB5.js.map} +1 -1
  60. package/dist/{chunk-7HEMXLDS.js → chunk-GQRHLW5W.js} +3 -4
  61. package/dist/chunk-GQRHLW5W.js.map +1 -0
  62. package/dist/{chunk-WOIO7FLJ.js → chunk-H725FTFS.js} +6 -6
  63. package/dist/{chunk-WOIO7FLJ.js.map → chunk-H725FTFS.js.map} +1 -1
  64. package/dist/{chunk-ZL5RDZJM.js → chunk-HEPUV3XR.js} +3 -4
  65. package/dist/chunk-HEPUV3XR.js.map +1 -0
  66. package/dist/{chunk-UBIQFNIP.js → chunk-HIY6R6UA.js} +6 -6
  67. package/dist/{chunk-UBIQFNIP.js.map → chunk-HIY6R6UA.js.map} +1 -1
  68. package/dist/{chunk-FIZWWQ64.js → chunk-IZ5ZOZKI.js} +6 -6
  69. package/dist/{chunk-FIZWWQ64.js.map → chunk-IZ5ZOZKI.js.map} +1 -1
  70. package/dist/{chunk-56A6XUJP.js → chunk-JCVDLFPG.js} +6 -6
  71. package/dist/{chunk-56A6XUJP.js.map → chunk-JCVDLFPG.js.map} +1 -1
  72. package/dist/chunk-JUQMINSZ.js +52 -0
  73. package/dist/chunk-JUQMINSZ.js.map +1 -0
  74. package/dist/{chunk-DL4TSGE5.js → chunk-JZOS2MO7.js} +3 -3
  75. package/dist/{chunk-DL4TSGE5.js.map → chunk-JZOS2MO7.js.map} +1 -1
  76. package/dist/{chunk-2BNGYQFQ.js → chunk-KCRWHMDY.js} +3 -3
  77. package/dist/{chunk-2BNGYQFQ.js.map → chunk-KCRWHMDY.js.map} +1 -1
  78. package/dist/{chunk-UNBIJPJU.js → chunk-L3WG36Y4.js} +3 -3
  79. package/dist/{chunk-UNBIJPJU.js.map → chunk-L3WG36Y4.js.map} +1 -1
  80. package/dist/{chunk-S6ZNVXSM.js → chunk-LFZAE7Y2.js} +9 -9
  81. package/dist/{chunk-S6ZNVXSM.js.map → chunk-LFZAE7Y2.js.map} +1 -1
  82. package/dist/{chunk-NQIKXTMI.js → chunk-LKDZEPWZ.js} +3 -3
  83. package/dist/{chunk-NQIKXTMI.js.map → chunk-LKDZEPWZ.js.map} +1 -1
  84. package/dist/chunk-LLJSXMO2.js +32 -0
  85. package/dist/chunk-LLJSXMO2.js.map +1 -0
  86. package/dist/{chunk-SRVFQ34Q.js → chunk-LSMFX4JD.js} +6 -6
  87. package/dist/{chunk-SRVFQ34Q.js.map → chunk-LSMFX4JD.js.map} +1 -1
  88. package/dist/{chunk-2RZXK6C3.js → chunk-MGFDTECS.js} +13 -32
  89. package/dist/chunk-MGFDTECS.js.map +1 -0
  90. package/dist/{chunk-CIOSYWV4.js → chunk-MWDNHKK3.js} +3 -3
  91. package/dist/{chunk-CIOSYWV4.js.map → chunk-MWDNHKK3.js.map} +1 -1
  92. package/dist/{chunk-6F7G6Z5B.js → chunk-NVQX4ODB.js} +6 -6
  93. package/dist/{chunk-6F7G6Z5B.js.map → chunk-NVQX4ODB.js.map} +1 -1
  94. package/dist/{chunk-KSDAKRG5.js → chunk-OGVBMB7Z.js} +16 -11
  95. package/dist/chunk-OGVBMB7Z.js.map +1 -0
  96. package/dist/{chunk-5IYHOWQU.js → chunk-OTKEKB3W.js} +99 -13
  97. package/dist/chunk-OTKEKB3W.js.map +1 -0
  98. package/dist/{chunk-HZ4UGWFE.js → chunk-OZHEHUBV.js} +3 -3
  99. package/dist/{chunk-HZ4UGWFE.js.map → chunk-OZHEHUBV.js.map} +1 -1
  100. package/dist/{chunk-JNAZI3HU.js → chunk-PBZMBJEX.js} +12 -11
  101. package/dist/chunk-PBZMBJEX.js.map +1 -0
  102. package/dist/{chunk-SCBXZLZ5.js → chunk-PHXIWJFQ.js} +20 -15
  103. package/dist/{chunk-SCBXZLZ5.js.map → chunk-PHXIWJFQ.js.map} +1 -1
  104. package/dist/{chunk-KVJL4MTV.js → chunk-PRSHGHAS.js} +10 -9
  105. package/dist/chunk-PRSHGHAS.js.map +1 -0
  106. package/dist/{chunk-TMHKYUPU.js → chunk-R3R3OIH7.js} +6 -6
  107. package/dist/{chunk-TMHKYUPU.js.map → chunk-R3R3OIH7.js.map} +1 -1
  108. package/dist/{chunk-RKL64IOG.js → chunk-TO3DSIJY.js} +8 -8
  109. package/dist/{chunk-RKL64IOG.js.map → chunk-TO3DSIJY.js.map} +1 -1
  110. package/dist/{chunk-BDYNBRT7.js → chunk-UG2YICWH.js} +3 -3
  111. package/dist/{chunk-BDYNBRT7.js.map → chunk-UG2YICWH.js.map} +1 -1
  112. package/dist/{chunk-X5TJG22D.js → chunk-VHG4CIYB.js} +6 -6
  113. package/dist/{chunk-X5TJG22D.js.map → chunk-VHG4CIYB.js.map} +1 -1
  114. package/dist/{chunk-BLSDFC3C.js → chunk-XYNX7PUL.js} +22 -4
  115. package/dist/chunk-XYNX7PUL.js.map +1 -0
  116. package/dist/{chunk-N6CALNFU.js → chunk-YC4GZZJP.js} +3 -3
  117. package/dist/{chunk-N6CALNFU.js.map → chunk-YC4GZZJP.js.map} +1 -1
  118. package/dist/{chunk-MOMQLTSD.js → chunk-YFLJB247.js} +11 -11
  119. package/dist/{chunk-MOMQLTSD.js.map → chunk-YFLJB247.js.map} +1 -1
  120. package/dist/{chunk-IBXICIOY.js → chunk-YGFTNDAQ.js} +6 -6
  121. package/dist/{chunk-IBXICIOY.js.map → chunk-YGFTNDAQ.js.map} +1 -1
  122. package/dist/chunk-YQN6RNJN.js +30 -0
  123. package/dist/chunk-YQN6RNJN.js.map +1 -0
  124. package/dist/{chunk-GFRG6ZPY.js → chunk-ZKPOHCVZ.js} +6 -6
  125. package/dist/{chunk-GFRG6ZPY.js.map → chunk-ZKPOHCVZ.js.map} +1 -1
  126. package/dist/cnaes.js +1 -1
  127. package/dist/cnh.js +6 -3
  128. package/dist/cnpj-motivos.js +1 -1
  129. package/dist/cnpj.js +3 -3
  130. package/dist/compare.d.ts +2 -2
  131. package/dist/compare.js +18 -17
  132. package/dist/cpf.js +2 -3
  133. package/dist/csosn.d.ts +54 -0
  134. package/dist/csosn.js +96 -0
  135. package/dist/csosn.js.map +1 -0
  136. package/dist/data-catalog.js +43 -41
  137. package/dist/data-catalog.js.map +1 -1
  138. package/dist/detect.js +15 -14
  139. package/dist/diff.d.ts +2 -2
  140. package/dist/diff.js +18 -17
  141. package/dist/esocial.d.ts +29 -1
  142. package/dist/esocial.js +1720 -2
  143. package/dist/esocial.js.map +1 -1
  144. package/dist/generate.js +25 -24
  145. package/dist/ibge.js +2 -27860
  146. package/dist/ibge.js.map +1 -1
  147. package/dist/incoterms.js +1 -1
  148. package/dist/{index-CttohJuk.d.ts → index-CmpOAd8U.d.ts} +1 -1
  149. package/dist/index.d.ts +4 -4
  150. package/dist/index.js +41 -40
  151. package/dist/index.js.map +1 -1
  152. package/dist/iss-municipal.d.ts +71 -3
  153. package/dist/iss-municipal.js +45366 -235
  154. package/dist/iss-municipal.js.map +1 -1
  155. package/dist/mask.js +24 -23
  156. package/dist/moedas.js +1 -1
  157. package/dist/natureza-juridica.js +1 -1
  158. package/dist/nbs.js +1 -1
  159. package/dist/ncm.js +1 -1
  160. package/dist/paises-bacen.js +1 -1
  161. package/dist/{pix-B8_PfK2D.d.ts → pix-DhAb6Iho.d.ts} +3 -1
  162. package/dist/pix.d.ts +1 -1
  163. package/dist/pix.js +8 -7
  164. package/dist/placa.js +6 -3
  165. package/dist/pncp-reference.js +1 -1
  166. package/dist/portos.js +1 -1
  167. package/dist/ptax.d.ts +12 -4
  168. package/dist/ptax.js +8367 -252
  169. package/dist/ptax.js.map +1 -1
  170. package/dist/renavam.js +6 -3
  171. package/dist/sanitize.d.ts +1 -1
  172. package/dist/sanitize.js +16 -12
  173. package/dist/selic.js +17 -17
  174. package/dist/selic.js.map +1 -1
  175. package/dist/telefone.js +3 -3
  176. package/dist/titulo-eleitor.js +6 -3
  177. package/dist/transparencia-snapshots.js +2 -2
  178. package/dist/transparencia-snapshots.js.map +1 -1
  179. package/dist/tse-municipios.js +1 -1
  180. package/dist/{types-CTLx5zMu.d.ts → types-DLuN-sEJ.d.ts} +1 -1
  181. package/package.json +5 -1
  182. package/dist/chunk-2RZXK6C3.js.map +0 -1
  183. package/dist/chunk-5IYHOWQU.js.map +0 -1
  184. package/dist/chunk-62P6SKG3.js.map +0 -1
  185. package/dist/chunk-7HEMXLDS.js.map +0 -1
  186. package/dist/chunk-BLSDFC3C.js.map +0 -1
  187. package/dist/chunk-DQPSNERX.js.map +0 -1
  188. package/dist/chunk-DS6MOO5K.js.map +0 -1
  189. package/dist/chunk-JNAZI3HU.js.map +0 -1
  190. package/dist/chunk-KLPONHBL.js +0 -3
  191. package/dist/chunk-KSDAKRG5.js.map +0 -1
  192. package/dist/chunk-KVJL4MTV.js.map +0 -1
  193. package/dist/chunk-RUQDVHR7.js +0 -14
  194. package/dist/chunk-RUQDVHR7.js.map +0 -1
  195. package/dist/chunk-VBFKN3NR.js +0 -14
  196. package/dist/chunk-VBFKN3NR.js.map +0 -1
  197. package/dist/chunk-W5LOXC7J.js.map +0 -1
  198. package/dist/chunk-YUAMWVIU.js +0 -30
  199. package/dist/chunk-YUAMWVIU.js.map +0 -1
  200. package/dist/chunk-ZL5RDZJM.js.map +0 -1
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://iccwbo.org/resources-for-business/incoterms-rules/"
8
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:08:14.567Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T06:52:46.252Z",
11
11
  contagens: {
12
12
  incoterms: 11
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-06-26"
18
+ comparadoCom: "2026-06-29"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-26T13:08:14.567Z"
23
+ ultimaExecucao: "2026-06-30T06:52:46.252Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#incoterms"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-4ORSIPZU.js.map
30
- //# sourceMappingURL=chunk-4ORSIPZU.js.map
29
+ //# sourceMappingURL=chunk-CHCND76E.js.map
30
+ //# sourceMappingURL=chunk-CHCND76E.js.map
@@ -1 +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,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-4ORSIPZU.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-26\",\n \"atualizadoEm\": \"2026-06-26T13:08:14.567Z\",\n \"contagens\": {\n \"incoterms\": 11\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:08:14.567Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#incoterms\"\n}\n"]}
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,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-CHCND76E.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-30\",\n \"atualizadoEm\": \"2026-06-30T06:52:46.252Z\",\n \"contagens\": {\n \"incoterms\": 11\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T06:52:46.252Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#incoterms\"\n}\n"]}
@@ -68,6 +68,15 @@ function validateCpf(input) {
68
68
  return failure("INVALID_CHECK_DIGIT", "CPF check digits are invalid");
69
69
  }
70
70
 
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-W5LOXC7J.js.map
73
- //# sourceMappingURL=chunk-W5LOXC7J.js.map
71
+ // src/core/cpf/mask.ts
72
+ function applyCpfMask(canonical) {
73
+ const match = CPF_MASK_PATTERN.exec(canonical);
74
+ if (!match) {
75
+ throw new Error("CPF must have exactly 11 digits to apply mask");
76
+ }
77
+ return `${match[1]}.${match[2]}.${match[3]}-${match[4]}`;
78
+ }
79
+
80
+ export { CPF_BASE_LENGTH, CPF_DV1_WEIGHTS, CPF_DV2_WEIGHTS, CPF_GOLDEN_PRIMARY, CPF_GOLDEN_PRIMARY_MASKED, CPF_GOLDEN_SECONDARY, CPF_OFFICIAL_SOURCE_URL, applyCpfMask, isValidCpf, validateCpf };
81
+ //# sourceMappingURL=chunk-DQQNXXGO.js.map
82
+ //# sourceMappingURL=chunk-DQQNXXGO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/cpf/constants.ts","../src/core/cpf/index.ts","../src/core/cpf/mask.ts"],"names":[],"mappings":"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","file":"chunk-DQQNXXGO.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 { Cpf, 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<Cpf> {\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","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,4 +1,4 @@
1
- import { validateCep, CEP_MASK_PATTERN } from './chunk-55IZCKNL.js';
1
+ import { validateCep, CEP_MASK_PATTERN } from './chunk-C4E2AE2A.js';
2
2
 
3
3
  // src/core/cep/mask.ts
4
4
  function applyCepMask(canonical) {
@@ -19,5 +19,5 @@ function formatCep(input) {
19
19
  }
20
20
 
21
21
  export { formatCep };
22
- //# sourceMappingURL=chunk-56ZN3TBH.js.map
23
- //# sourceMappingURL=chunk-56ZN3TBH.js.map
22
+ //# sourceMappingURL=chunk-DXKHCIMV.js.map
23
+ //# sourceMappingURL=chunk-DXKHCIMV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/cep/mask.ts","../src/format/cep.ts"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,SAAA,EAA2B;AACtD,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAC7C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAChC;;;ACLO,SAAS,UAAU,KAAA,EAA6B;AACrD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,YAAA,CAAa,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3D","file":"chunk-56ZN3TBH.js","sourcesContent":["import { CEP_MASK_PATTERN } from './constants.js';\n\n/** Mask XXXXX-XXX (BR-CEP-004). */\nexport function applyCepMask(canonical: string): string {\n const match = CEP_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CEP must have exactly 8 digits to apply mask');\n }\n return `${match[1]}-${match[2]}`;\n}\n","import { applyCepMask } from '../core/cep/mask.js';\nimport { validateCep } from '../core/cep/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCep(input: string): FormatResult {\n const result = validateCep(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCepMask(result.value) };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/cep/mask.ts","../src/format/cep.ts"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,SAAA,EAA2B;AACtD,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAC7C,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAG,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAChC;;;ACLO,SAAS,UAAU,KAAA,EAA6B;AACrD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,YAAA,CAAa,MAAA,CAAO,KAAK,CAAA,EAAE;AAC3D","file":"chunk-DXKHCIMV.js","sourcesContent":["import { CEP_MASK_PATTERN } from './constants.js';\n\n/** Mask XXXXX-XXX (BR-CEP-004). */\nexport function applyCepMask(canonical: string): string {\n const match = CEP_MASK_PATTERN.exec(canonical);\n if (!match) {\n throw new Error('CEP must have exactly 8 digits to apply mask');\n }\n return `${match[1]}-${match[2]}`;\n}\n","import { applyCepMask } from '../core/cep/mask.js';\nimport { validateCep } from '../core/cep/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCep(input: string): FormatResult {\n const result = validateCep(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCepMask(result.value) };\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://servicodados.ibge.gov.br/api/v2/cnae/subclasses"
8
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:08:38.615Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T06:52:54.244Z",
11
11
  contagens: {
12
12
  cnaes: 1332
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-06-26"
18
+ comparadoCom: "2026-06-29"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-26T13:08:38.615Z"
23
+ ultimaExecucao: "2026-06-30T06:52:54.244Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#cnae-economic-activity"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-MOND6K5Z.js.map
30
- //# sourceMappingURL=chunk-MOND6K5Z.js.map
29
+ //# sourceMappingURL=chunk-E533RFGN.js.map
30
+ //# sourceMappingURL=chunk-E533RFGN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cnaes/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,OAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,8BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,KAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-MOND6K5Z.js","sourcesContent":["{\n \"id\": \"cnaes\",\n \"nome\": \"IBGE CNAE 2.3 Subclasses\",\n \"fonte\": \"IBGE API v2 /cnae/subclasses\",\n \"endpoints\": [\n \"https://servicodados.ibge.gov.br/api/v2/cnae/subclasses\"\n ],\n \"capturadoEm\": \"2026-06-26\",\n \"atualizadoEm\": \"2026-06-26T13:08:38.615Z\",\n \"contagens\": {\n \"cnaes\": 1332\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:08:38.615Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cnae-economic-activity\"\n}\n"]}
1
+ {"version":3,"sources":["../src/cnaes/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,OAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,8BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,KAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-E533RFGN.js","sourcesContent":["{\n \"id\": \"cnaes\",\n \"nome\": \"IBGE CNAE 2.3 Subclasses\",\n \"fonte\": \"IBGE API v2 /cnae/subclasses\",\n \"endpoints\": [\n \"https://servicodados.ibge.gov.br/api/v2/cnae/subclasses\"\n ],\n \"capturadoEm\": \"2026-06-30\",\n \"atualizadoEm\": \"2026-06-30T06:52:54.244Z\",\n \"contagens\": {\n \"cnaes\": 1332\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T06:52:54.244Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cnae-economic-activity\"\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Motivos.zip"
8
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:29:39.835Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T07:13:55.414Z",
11
11
  contagens: {
12
12
  motivos: 61
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-06-26"
18
+ comparadoCom: "2026-06-29"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-26T13:29:39.835Z"
23
+ ultimaExecucao: "2026-06-30T07:13:55.414Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#cnpj-motivos-situacao-cadastral"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-GXCW6FM7.js.map
30
- //# sourceMappingURL=chunk-GXCW6FM7.js.map
29
+ //# sourceMappingURL=chunk-EWTOIHM7.js.map
30
+ //# sourceMappingURL=chunk-EWTOIHM7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cnpj-motivos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,cAAA;AAAA,EACN,IAAA,EAAQ,8CAAA;AAAA,EACR,KAAA,EAAS,yDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-GXCW6FM7.js","sourcesContent":["{\n \"id\": \"cnpj-motivos\",\n \"nome\": \"RFB CNPJ Motivos de Situação Cadastral\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Motivos.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Motivos.zip\"\n ],\n \"capturadoEm\": \"2026-06-26\",\n \"atualizadoEm\": \"2026-06-26T13:29:39.835Z\",\n \"contagens\": {\n \"motivos\": 61\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:29:39.835Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cnpj-motivos-situacao-cadastral\"\n}\n"]}
1
+ {"version":3,"sources":["../src/cnpj-motivos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,cAAA;AAAA,EACN,IAAA,EAAQ,8CAAA;AAAA,EACR,KAAA,EAAS,yDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-EWTOIHM7.js","sourcesContent":["{\n \"id\": \"cnpj-motivos\",\n \"nome\": \"RFB CNPJ Motivos de Situação Cadastral\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Motivos.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Motivos.zip\"\n ],\n \"capturadoEm\": \"2026-06-30\",\n \"atualizadoEm\": \"2026-06-30T07:13:55.414Z\",\n \"contagens\": {\n \"motivos\": 61\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T07:13:55.414Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cnpj-motivos-situacao-cadastral\"\n}\n"]}
@@ -0,0 +1,63 @@
1
+ import { stripCpf } from './chunk-UCJPSJN5.js';
2
+ import { detectCnpjFormat } from './chunk-LLJSXMO2.js';
3
+ import { stripCnpj } from './chunk-EB3G4IG6.js';
4
+
5
+ // src/core/pix/constants.ts
6
+ var PIX_EMAIL_MAX_LENGTH = 77;
7
+ var PIX_EMAIL_PATTERN = /^[a-z0-9.!#$'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/;
8
+ var PIX_PHONE_E164_PATTERN = /^\+[1-9]\d{1,14}$/;
9
+ var PIX_PHONE_BR_MOBILE_PATTERN = /^\+55\d{2}9\d{8}$/;
10
+ var PIX_EVP_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
11
+ var PIX_CPF_DIGITS_PATTERN = /^[0-9]{11}$/;
12
+ var PIX_GOLDEN_CPF = "12345678909";
13
+ var PIX_GOLDEN_CNPJ_NUMERIC = "11222333000181";
14
+ var PIX_GOLDEN_CNPJ_ALPHANUMERIC = "12ABC34501DE35";
15
+ var PIX_GOLDEN_EMAIL = "pix@bcb.gov.br";
16
+ var PIX_GOLDEN_PHONE = "+5510998765432";
17
+ var PIX_GOLDEN_EVP = "123e4567-e89b-12d3-a456-426655440000";
18
+ var PIX_OFFICIAL_SOURCE_URL = "https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf";
19
+ var PIX_DICT_API_SOURCE_URL = "https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html";
20
+
21
+ // src/core/pix/detect.ts
22
+ function isCpfShapedInput(input) {
23
+ const trimmed = input.trim();
24
+ const stripped = stripCpf(trimmed);
25
+ if (!PIX_CPF_DIGITS_PATTERN.test(stripped)) {
26
+ return false;
27
+ }
28
+ return /^[\d.\-\s]+$/.test(trimmed);
29
+ }
30
+ function isCnpjShapedInput(input) {
31
+ const trimmed = input.trim();
32
+ const stripped = stripCnpj(trimmed);
33
+ if (detectCnpjFormat(stripped) === "unknown") {
34
+ return false;
35
+ }
36
+ return /^[A-Za-z0-9./\-\s]+$/.test(trimmed);
37
+ }
38
+ function detectPixKeyType(input) {
39
+ const trimmed = input.trim();
40
+ if (trimmed.length === 0) {
41
+ return "unknown";
42
+ }
43
+ if (trimmed.includes("@")) {
44
+ return "email";
45
+ }
46
+ if (trimmed.startsWith("+")) {
47
+ return "phone";
48
+ }
49
+ if (PIX_EVP_PATTERN.test(trimmed)) {
50
+ return "evp";
51
+ }
52
+ if (isCpfShapedInput(trimmed)) {
53
+ return "cpf";
54
+ }
55
+ if (isCnpjShapedInput(trimmed)) {
56
+ return "cnpj";
57
+ }
58
+ return "unknown";
59
+ }
60
+
61
+ export { PIX_DICT_API_SOURCE_URL, PIX_EMAIL_MAX_LENGTH, PIX_EMAIL_PATTERN, PIX_EVP_PATTERN, PIX_GOLDEN_CNPJ_ALPHANUMERIC, PIX_GOLDEN_CNPJ_NUMERIC, PIX_GOLDEN_CPF, PIX_GOLDEN_EMAIL, PIX_GOLDEN_EVP, PIX_GOLDEN_PHONE, PIX_OFFICIAL_SOURCE_URL, PIX_PHONE_BR_MOBILE_PATTERN, PIX_PHONE_E164_PATTERN, detectPixKeyType };
62
+ //# sourceMappingURL=chunk-FA5ZM5UA.js.map
63
+ //# sourceMappingURL=chunk-FA5ZM5UA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/pix/constants.ts","../src/core/pix/detect.ts"],"names":[],"mappings":";;;;;AAMO,IAAM,oBAAA,GAAuB;AAC7B,IAAM,iBAAA,GACX;AAEK,IAAM,sBAAA,GAAyB;AAC/B,IAAM,2BAAA,GAA8B;AAEpC,IAAM,eAAA,GACX;AAEK,IAAM,sBAAA,GAAyB,aAAA;AAE/B,IAAM,cAAA,GAAiB;AACvB,IAAM,uBAAA,GAA0B;AAChC,IAAM,4BAAA,GAA+B;AACrC,IAAM,gBAAA,GAAmB;AACzB,IAAM,gBAAA,GAAmB;AAEzB,IAAM,cAAA,GAAiB;AAGvB,IAAM,uBAAA,GACX;AAEK,IAAM,uBAAA,GACX;;;ACpBF,SAAS,iBAAiB,KAAA,EAAwB;AAChD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,MAAM,QAAA,GAAW,SAAS,OAAO,CAAA;AACjC,EAAA,IAAI,CAAC,sBAAA,CAAuB,IAAA,CAAK,QAAQ,CAAA,EAAG;AAC1C,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,cAAA,CAAe,KAAK,OAAO,CAAA;AACpC;AAEA,SAAS,kBAAkB,KAAA,EAAwB;AACjD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,MAAM,QAAA,GAAW,UAAU,OAAO,CAAA;AAClC,EAAA,IAAI,gBAAA,CAAiB,QAAQ,CAAA,KAAM,SAAA,EAAW;AAC5C,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,sBAAA,CAAuB,KAAK,OAAO,CAAA;AAC5C;AAEO,SAAS,iBAAiB,KAAA,EAAmC;AAClE,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,SAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAA,CAAQ,UAAA,CAAW,GAAG,CAAA,EAAG;AAC3B,IAAA,OAAO,OAAA;AAAA,EACT;AAEA,EAAA,IAAI,eAAA,CAAgB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,gBAAA,CAAiB,OAAO,CAAA,EAAG;AAC7B,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,iBAAA,CAAkB,OAAO,CAAA,EAAG;AAC9B,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,SAAA;AACT","file":"chunk-FA5ZM5UA.js","sourcesContent":["/**\n * PIX key constants — Bacen DICT API + Manual de Iniciação do Pix.\n * @see https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html\n * @see https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nexport const PIX_EMAIL_MAX_LENGTH = 77;\nexport const PIX_EMAIL_PATTERN =\n /^[a-z0-9.!#$'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/;\n\nexport const PIX_PHONE_E164_PATTERN = /^\\+[1-9]\\d{1,14}$/;\nexport const PIX_PHONE_BR_MOBILE_PATTERN = /^\\+55\\d{2}9\\d{8}$/;\n\nexport const PIX_EVP_PATTERN =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;\n\nexport const PIX_CPF_DIGITS_PATTERN = /^[0-9]{11}$/;\n\nexport const PIX_GOLDEN_CPF = '12345678909';\nexport const PIX_GOLDEN_CNPJ_NUMERIC = '11222333000181';\nexport const PIX_GOLDEN_CNPJ_ALPHANUMERIC = '12ABC34501DE35';\nexport const PIX_GOLDEN_EMAIL = 'pix@bcb.gov.br';\nexport const PIX_GOLDEN_PHONE = '+5510998765432';\nexport const PIX_GOLDEN_PHONE_SECONDARY = '+5561912345678';\nexport const PIX_GOLDEN_EVP = '123e4567-e89b-12d3-a456-426655440000';\nexport const PIX_GOLDEN_EMAIL_SECONDARY = 'fulano_da_silva.recebedor@example.com';\n\nexport const PIX_OFFICIAL_SOURCE_URL =\n 'https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf';\n\nexport const PIX_DICT_API_SOURCE_URL =\n 'https://aprendervalor.bcb.gov.br/content/estabilidadefinanceira/pix/API-DICT_v2-9-0.html';\n","import { stripCnpj } from '../../strip/cnpj.js';\nimport { stripCpf } from '../../strip/cpf.js';\nimport type { PixKeyType } from '../../types/validation-result.js';\nimport { detectCnpjFormat } from '../cnpj/detect.js';\nimport {\n PIX_CPF_DIGITS_PATTERN,\n PIX_EVP_PATTERN,\n} from './constants.js';\n\nexport type DetectedPixKeyType = PixKeyType | 'unknown';\n\nfunction isCpfShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCpf(trimmed);\n if (!PIX_CPF_DIGITS_PATTERN.test(stripped)) {\n return false;\n }\n return /^[\\d.\\-\\s]+$/.test(trimmed);\n}\n\nfunction isCnpjShapedInput(input: string): boolean {\n const trimmed = input.trim();\n const stripped = stripCnpj(trimmed);\n if (detectCnpjFormat(stripped) === 'unknown') {\n return false;\n }\n return /^[A-Za-z0-9./\\-\\s]+$/.test(trimmed);\n}\n\nexport function detectPixKeyType(input: string): DetectedPixKeyType {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return 'unknown';\n }\n\n if (trimmed.includes('@')) {\n return 'email';\n }\n\n if (trimmed.startsWith('+')) {\n return 'phone';\n }\n\n if (PIX_EVP_PATTERN.test(trimmed)) {\n return 'evp';\n }\n\n if (isCpfShapedInput(trimmed)) {\n return 'cpf';\n }\n\n if (isCnpjShapedInput(trimmed)) {\n return 'cnpj';\n }\n\n return 'unknown';\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { normalizeForPlatform } from './chunk-SCBXZLZ5.js';
1
+ import { normalizeForPlatform } from './chunk-PHXIWJFQ.js';
2
2
 
3
3
  // src/diff/index.ts
4
4
  function diff(a, b, type, options = {}) {
@@ -100,5 +100,5 @@ function splitFields(value, type) {
100
100
  }
101
101
 
102
102
  export { diff };
103
- //# sourceMappingURL=chunk-N2MDJI4B.js.map
104
- //# sourceMappingURL=chunk-N2MDJI4B.js.map
103
+ //# sourceMappingURL=chunk-FEPV2XB5.js.map
104
+ //# sourceMappingURL=chunk-FEPV2XB5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-N2MDJI4B.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 'ean':\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
+ {"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-FEPV2XB5.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 'ean':\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,5 +1,4 @@
1
- import { applyCpfMask } from './chunk-VBFKN3NR.js';
2
- import { validateCpf } from './chunk-W5LOXC7J.js';
1
+ import { validateCpf, applyCpfMask } from './chunk-DQQNXXGO.js';
3
2
 
4
3
  // src/format/cpf.ts
5
4
  function formatCpf(input) {
@@ -11,5 +10,5 @@ function formatCpf(input) {
11
10
  }
12
11
 
13
12
  export { formatCpf };
14
- //# sourceMappingURL=chunk-7HEMXLDS.js.map
15
- //# sourceMappingURL=chunk-7HEMXLDS.js.map
13
+ //# sourceMappingURL=chunk-GQRHLW5W.js.map
14
+ //# sourceMappingURL=chunk-GQRHLW5W.js.map
@@ -0,0 +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-GQRHLW5W.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"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
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
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:08:01.869Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T06:52:31.132Z",
11
11
  contagens: {
12
12
  aeroportos: 533,
13
13
  comIata: 87
@@ -16,16 +16,16 @@ var metadata_default = {
16
16
  adicionados: 0,
17
17
  removidos: 0,
18
18
  alterados: 0,
19
- comparadoCom: "2026-06-26"
19
+ comparadoCom: "2026-06-29"
20
20
  },
21
21
  verificacao: {
22
22
  agendamento: "diario",
23
23
  workflow: "data-refresh-bot.yml",
24
- ultimaExecucao: "2026-06-26T13:08:01.869Z"
24
+ ultimaExecucao: "2026-06-30T06:52:31.132Z"
25
25
  },
26
26
  documentacao: "docs/OFFICIAL-SOURCES.md#aeroportos"
27
27
  };
28
28
 
29
29
  export { metadata_default };
30
- //# sourceMappingURL=chunk-WOIO7FLJ.js.map
31
- //# sourceMappingURL=chunk-WOIO7FLJ.js.map
30
+ //# sourceMappingURL=chunk-H725FTFS.js.map
31
+ //# sourceMappingURL=chunk-H725FTFS.js.map
@@ -1 +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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-WOIO7FLJ.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-26\",\n \"atualizadoEm\": \"2026-06-26T13:08:01.869Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:08:01.869Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-H725FTFS.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-30\",\n \"atualizadoEm\": \"2026-06-30T06:52:31.132Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T06:52:31.132Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
@@ -1,5 +1,4 @@
1
- import { applyCnpjMask } from './chunk-RUQDVHR7.js';
2
- import { validateCnpj } from './chunk-2RZXK6C3.js';
1
+ import { validateCnpj, applyCnpjMask } from './chunk-MGFDTECS.js';
3
2
 
4
3
  // src/format/cnpj.ts
5
4
  function formatCnpj(input) {
@@ -17,5 +16,5 @@ function formatCnpjAlphanumeric(input) {
17
16
  }
18
17
 
19
18
  export { formatCnpj, formatCnpjAlphanumeric, formatCnpjNumeric };
20
- //# sourceMappingURL=chunk-ZL5RDZJM.js.map
21
- //# sourceMappingURL=chunk-ZL5RDZJM.js.map
19
+ //# sourceMappingURL=chunk-HEPUV3XR.js.map
20
+ //# sourceMappingURL=chunk-HEPUV3XR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/format/cnpj.ts"],"names":[],"mappings":";;;AAIO,SAAS,WAAW,KAAA,EAA6B;AACtD,EAAA,MAAM,MAAA,GAAS,aAAa,KAAK,CAAA;AACjC,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,aAAA,CAAc,MAAA,CAAO,KAAK,CAAA,EAAE;AAC5D;AAEO,SAAS,kBAAkB,KAAA,EAA6B;AAC7D,EAAA,OAAO,WAAW,KAAK,CAAA;AACzB;AAEO,SAAS,uBAAuB,KAAA,EAA6B;AAClE,EAAA,OAAO,WAAW,KAAK,CAAA;AACzB","file":"chunk-HEPUV3XR.js","sourcesContent":["import { applyCnpjMask } from '../core/cnpj/mask.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatCnpj(input: string): FormatResult {\n const result = validateCnpj(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyCnpjMask(result.value) };\n}\n\nexport function formatCnpjNumeric(input: string): FormatResult {\n return formatCnpj(input);\n}\n\nexport function formatCnpjAlphanumeric(input: string): FormatResult {\n return formatCnpj(input);\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas"
8
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:08:05.754Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T06:52:34.897Z",
11
11
  contagens: {
12
12
  moedas: 154
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-06-26"
18
+ comparadoCom: "2026-06-29"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-26T13:08:05.754Z"
23
+ ultimaExecucao: "2026-06-30T06:52:34.897Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#moedas"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-UBIQFNIP.js.map
30
- //# sourceMappingURL=chunk-UBIQFNIP.js.map
29
+ //# sourceMappingURL=chunk-HIY6R6UA.js.map
30
+ //# sourceMappingURL=chunk-HIY6R6UA.js.map
@@ -1 +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,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-UBIQFNIP.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-26\",\n \"atualizadoEm\": \"2026-06-26T13:08:05.754Z\",\n \"contagens\": {\n \"moedas\": 154\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:08:05.754Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#moedas\"\n}\n"]}
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,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-HIY6R6UA.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-30\",\n \"atualizadoEm\": \"2026-06-30T06:52:34.897Z\",\n \"contagens\": {\n \"moedas\": 154\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T06:52:34.897Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#moedas\"\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip"
8
8
  ],
9
- capturadoEm: "2026-06-26",
10
- atualizadoEm: "2026-06-26T13:38:46.952Z",
9
+ capturadoEm: "2026-06-30",
10
+ atualizadoEm: "2026-06-30T07:23:09.934Z",
11
11
  contagens: {
12
12
  portos: 1094
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-06-26"
18
+ comparadoCom: "2026-06-29"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-26T13:38:46.952Z"
23
+ ultimaExecucao: "2026-06-30T07:23:09.934Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#portos"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-FIZWWQ64.js.map
30
- //# sourceMappingURL=chunk-FIZWWQ64.js.map
29
+ //# sourceMappingURL=chunk-IZ5ZOZKI.js.map
30
+ //# sourceMappingURL=chunk-IZ5ZOZKI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/portos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,uEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-FIZWWQ64.js","sourcesContent":["{\n \"id\": \"portos\",\n \"nome\": \"ANTAQ port installations\",\n \"fonte\": \"ANTAQ — Instalações Portuárias Outorgadas (Portos.xlsx)\",\n \"endpoints\": [\n \"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip\"\n ],\n \"capturadoEm\": \"2026-06-26\",\n \"atualizadoEm\": \"2026-06-26T13:38:46.952Z\",\n \"contagens\": {\n \"portos\": 1094\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:38:46.952Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portos\"\n}\n"]}
1
+ {"version":3,"sources":["../src/portos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,uEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-IZ5ZOZKI.js","sourcesContent":["{\n \"id\": \"portos\",\n \"nome\": \"ANTAQ port installations\",\n \"fonte\": \"ANTAQ — Instalações Portuárias Outorgadas (Portos.xlsx)\",\n \"endpoints\": [\n \"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip\"\n ],\n \"capturadoEm\": \"2026-06-30\",\n \"atualizadoEm\": \"2026-06-30T07:23:09.934Z\",\n \"contagens\": {\n \"portos\": 1094\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T07:23:09.934Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portos\"\n}\n"]}
@@ -7,8 +7,8 @@ var metadata_default = {
7
7
  "https://servicodados.ibge.gov.br/api/v1/localidades/estados",
8
8
  "https://servicodados.ibge.gov.br/api/v1/localidades/municipios"
9
9
  ],
10
- capturadoEm: "2026-06-26",
11
- atualizadoEm: "2026-06-26T13:07:57.242Z",
10
+ capturadoEm: "2026-06-30",
11
+ atualizadoEm: "2026-06-30T06:52:26.252Z",
12
12
  contagens: {
13
13
  estados: 27,
14
14
  municipios: 5571
@@ -17,16 +17,16 @@ var metadata_default = {
17
17
  adicionados: 0,
18
18
  removidos: 0,
19
19
  alterados: 0,
20
- comparadoCom: "2026-06-26"
20
+ comparadoCom: "2026-06-29"
21
21
  },
22
22
  verificacao: {
23
23
  agendamento: "diario",
24
24
  workflow: "data-refresh-bot.yml",
25
- ultimaExecucao: "2026-06-26T13:07:57.242Z"
25
+ ultimaExecucao: "2026-06-30T06:52:26.252Z"
26
26
  },
27
27
  documentacao: "docs/OFFICIAL-SOURCES.md#ibge-localities"
28
28
  };
29
29
 
30
30
  export { metadata_default };
31
- //# sourceMappingURL=chunk-56A6XUJP.js.map
32
- //# sourceMappingURL=chunk-56A6XUJP.js.map
31
+ //# sourceMappingURL=chunk-JCVDLFPG.js.map
32
+ //# sourceMappingURL=chunk-JCVDLFPG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ibge/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,kBAAA;AAAA,EACR,KAAA,EAAS,0BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,OAAA,EAAW,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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-56A6XUJP.js","sourcesContent":["{\n \"id\": \"ibge\",\n \"nome\": \"IBGE Localidades\",\n \"fonte\": \"IBGE API v1 /localidades\",\n \"endpoints\": [\n \"https://servicodados.ibge.gov.br/api/v1/localidades/estados\",\n \"https://servicodados.ibge.gov.br/api/v1/localidades/municipios\"\n ],\n \"capturadoEm\": \"2026-06-26\",\n \"atualizadoEm\": \"2026-06-26T13:07:57.242Z\",\n \"contagens\": {\n \"estados\": 27,\n \"municipios\": 5571\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-26\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-26T13:07:57.242Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#ibge-localities\"\n}\n"]}
1
+ {"version":3,"sources":["../src/ibge/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,kBAAA;AAAA,EACR,KAAA,EAAS,0BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,OAAA,EAAW,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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-JCVDLFPG.js","sourcesContent":["{\n \"id\": \"ibge\",\n \"nome\": \"IBGE Localidades\",\n \"fonte\": \"IBGE API v1 /localidades\",\n \"endpoints\": [\n \"https://servicodados.ibge.gov.br/api/v1/localidades/estados\",\n \"https://servicodados.ibge.gov.br/api/v1/localidades/municipios\"\n ],\n \"capturadoEm\": \"2026-06-30\",\n \"atualizadoEm\": \"2026-06-30T06:52:26.252Z\",\n \"contagens\": {\n \"estados\": 27,\n \"municipios\": 5571\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-29\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-30T06:52:26.252Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#ibge-localities\"\n}\n"]}
@@ -0,0 +1,52 @@
1
+ import { detectPixKeyType, PIX_EVP_PATTERN } from './chunk-FA5ZM5UA.js';
2
+ import { stripCpf } from './chunk-UCJPSJN5.js';
3
+ import { stripCnpj } from './chunk-EB3G4IG6.js';
4
+
5
+ // src/strip/pix.ts
6
+ function isEvpShaped(input) {
7
+ const trimmed = input.trim();
8
+ if (PIX_EVP_PATTERN.test(trimmed)) {
9
+ return true;
10
+ }
11
+ return /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/.test(trimmed);
12
+ }
13
+ function stripPixPhone(value) {
14
+ const trimmed = value.trim();
15
+ if (trimmed.startsWith("+")) {
16
+ return `+${trimmed.slice(1).replace(/\D/g, "")}`;
17
+ }
18
+ const digits = trimmed.replace(/\D/g, "");
19
+ if (digits.startsWith("55") && digits.length >= 12) {
20
+ return `+${digits}`;
21
+ }
22
+ if (digits.length === 10 || digits.length === 11) {
23
+ return `+55${digits}`;
24
+ }
25
+ return trimmed.replace(/[\s()-]/g, "");
26
+ }
27
+ function stripPixKey(input) {
28
+ const trimmed = input.trim();
29
+ if (trimmed.length === 0) {
30
+ return "";
31
+ }
32
+ if (isEvpShaped(trimmed)) {
33
+ return trimmed.toLowerCase();
34
+ }
35
+ const keyType = detectPixKeyType(trimmed);
36
+ switch (keyType) {
37
+ case "email":
38
+ return trimmed.toLowerCase();
39
+ case "phone":
40
+ return stripPixPhone(trimmed);
41
+ case "cpf":
42
+ return stripCpf(trimmed);
43
+ case "cnpj":
44
+ return stripCnpj(trimmed);
45
+ default:
46
+ return trimmed;
47
+ }
48
+ }
49
+
50
+ export { stripPixKey };
51
+ //# sourceMappingURL=chunk-JUQMINSZ.js.map
52
+ //# sourceMappingURL=chunk-JUQMINSZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/strip/pix.ts"],"names":[],"mappings":";;;;;AASA,SAAS,YAAY,KAAA,EAAwB;AAC3C,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,eAAA,CAAgB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,gEAAA,CAAiE,KAAK,OAAO,CAAA;AACtF;AAEA,SAAS,cAAc,KAAA,EAAuB;AAC5C,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,UAAA,CAAW,GAAG,CAAA,EAAG;AAC3B,IAAA,OAAO,CAAA,CAAA,EAAI,QAAQ,KAAA,CAAM,CAAC,EAAE,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAC,CAAA,CAAA;AAAA,EAChD;AAEA,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACxC,EAAA,IAAI,OAAO,UAAA,CAAW,IAAI,CAAA,IAAK,MAAA,CAAO,UAAU,EAAA,EAAI;AAClD,IAAA,OAAO,IAAI,MAAM,CAAA,CAAA;AAAA,EACnB;AACA,EAAA,IAAI,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,MAAA,CAAO,WAAW,EAAA,EAAI;AAChD,IAAA,OAAO,MAAM,MAAM,CAAA,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,UAAA,EAAY,EAAE,CAAA;AACvC;AAEO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,IAAI,WAAA,CAAY,OAAO,CAAA,EAAG;AACxB,IAAA,OAAO,QAAQ,WAAA,EAAY;AAAA,EAC7B;AAEA,EAAA,MAAM,OAAA,GAAU,iBAAiB,OAAO,CAAA;AACxC,EAAA,QAAQ,OAAA;AAAS,IACf,KAAK,OAAA;AACH,MAAA,OAAO,QAAQ,WAAA,EAAY;AAAA,IAC7B,KAAK,OAAA;AACH,MAAA,OAAO,cAAc,OAAO,CAAA;AAAA,IAC9B,KAAK,KAAA;AACH,MAAA,OAAO,SAAS,OAAO,CAAA;AAAA,IACzB,KAAK,MAAA;AACH,MAAA,OAAO,UAAU,OAAO,CAAA;AAAA,IAC1B;AACE,MAAA,OAAO,OAAA;AAAA;AAEb","file":"chunk-JUQMINSZ.js","sourcesContent":["/**\n * PIX key normalization before validate (BR-PIX-001).\n * @see docs/use-cases/UC-005-validate-pix-key.md\n */\nimport { detectPixKeyType } from '../core/pix/detect.js';\nimport { PIX_EVP_PATTERN } from '../core/pix/constants.js';\nimport { stripCnpj } from './cnpj.js';\nimport { stripCpf } from './cpf.js';\n\nfunction isEvpShaped(input: string): boolean {\n const trimmed = input.trim();\n if (PIX_EVP_PATTERN.test(trimmed)) {\n return true;\n }\n return /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/.test(trimmed);\n}\n\nfunction stripPixPhone(value: string): string {\n const trimmed = value.trim();\n if (trimmed.startsWith('+')) {\n return `+${trimmed.slice(1).replace(/\\D/g, '')}`;\n }\n\n const digits = trimmed.replace(/\\D/g, '');\n if (digits.startsWith('55') && digits.length >= 12) {\n return `+${digits}`;\n }\n if (digits.length === 10 || digits.length === 11) {\n return `+55${digits}`;\n }\n return trimmed.replace(/[\\s()-]/g, '');\n}\n\nexport function stripPixKey(input: string): string {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return '';\n }\n\n if (isEvpShaped(trimmed)) {\n return trimmed.toLowerCase();\n }\n\n const keyType = detectPixKeyType(trimmed);\n switch (keyType) {\n case 'email':\n return trimmed.toLowerCase();\n case 'phone':\n return stripPixPhone(trimmed);\n case 'cpf':\n return stripCpf(trimmed);\n case 'cnpj':\n return stripCnpj(trimmed);\n default:\n return trimmed;\n }\n}\n"]}