@br-validators/core 1.6.1 → 1.7.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 (165) hide show
  1. package/README.md +1 -0
  2. package/dist/aeroportos.d.ts +1 -1
  3. package/dist/aeroportos.js +1 -1
  4. package/dist/anp-combustiveis.d.ts +64 -0
  5. package/dist/anp-combustiveis.js +37816 -0
  6. package/dist/anp-combustiveis.js.map +1 -0
  7. package/dist/bancos.d.ts +1 -1
  8. package/dist/bancos.js +1 -1
  9. package/dist/batch.js +19 -19
  10. package/dist/brcode.js +7 -7
  11. package/dist/cbo.d.ts +1 -1
  12. package/dist/cbo.js +1 -1
  13. package/dist/cep.d.ts +1 -1
  14. package/dist/cep.js +3 -3
  15. package/dist/cest.d.ts +1 -1
  16. package/dist/cest.js +1 -1
  17. package/dist/cfop.d.ts +1 -1
  18. package/dist/cfop.js +1 -1
  19. package/dist/{chunk-SH6K4PUU.js → chunk-274K6AOM.js} +3 -3
  20. package/dist/{chunk-SH6K4PUU.js.map → chunk-274K6AOM.js.map} +1 -1
  21. package/dist/{chunk-6EF7GQRS.js → chunk-2FQOQMS6.js} +8 -8
  22. package/dist/{chunk-6EF7GQRS.js.map → chunk-2FQOQMS6.js.map} +1 -1
  23. package/dist/{chunk-RSJK46ZE.js → chunk-2M4RVHRO.js} +3 -3
  24. package/dist/{chunk-RSJK46ZE.js.map → chunk-2M4RVHRO.js.map} +1 -1
  25. package/dist/{chunk-72EZ2VUO.js → chunk-37IHHQKK.js} +3 -3
  26. package/dist/{chunk-72EZ2VUO.js.map → chunk-37IHHQKK.js.map} +1 -1
  27. package/dist/{chunk-ISMIJ5DH.js → chunk-3OTYX7QX.js} +3 -3
  28. package/dist/{chunk-ISMIJ5DH.js.map → chunk-3OTYX7QX.js.map} +1 -1
  29. package/dist/{chunk-OH4CXHFH.js → chunk-3ZALSJZT.js} +3 -3
  30. package/dist/{chunk-OH4CXHFH.js.map → chunk-3ZALSJZT.js.map} +1 -1
  31. package/dist/{chunk-MDFK6L72.js → chunk-43FQHKCC.js} +3 -3
  32. package/dist/{chunk-MDFK6L72.js.map → chunk-43FQHKCC.js.map} +1 -1
  33. package/dist/{chunk-F5OHOWZU.js → chunk-4GMBZLAS.js} +3 -3
  34. package/dist/{chunk-F5OHOWZU.js.map → chunk-4GMBZLAS.js.map} +1 -1
  35. package/dist/{chunk-6VNCWSHA.js → chunk-4TOP3CZQ.js} +11 -11
  36. package/dist/{chunk-6VNCWSHA.js.map → chunk-4TOP3CZQ.js.map} +1 -1
  37. package/dist/chunk-5AQKUZ6R.js +35 -0
  38. package/dist/chunk-5AQKUZ6R.js.map +1 -0
  39. package/dist/{chunk-CNJ4DIYS.js → chunk-5S3IURHL.js} +3 -3
  40. package/dist/{chunk-CNJ4DIYS.js.map → chunk-5S3IURHL.js.map} +1 -1
  41. package/dist/{chunk-O4AO4YWC.js → chunk-6PODNJTJ.js} +5 -5
  42. package/dist/{chunk-O4AO4YWC.js.map → chunk-6PODNJTJ.js.map} +1 -1
  43. package/dist/{chunk-CGN5ST5W.js → chunk-A2JXKXPS.js} +3 -3
  44. package/dist/{chunk-CGN5ST5W.js.map → chunk-A2JXKXPS.js.map} +1 -1
  45. package/dist/{chunk-ILKF7HP7.js → chunk-AF5FGAI3.js} +3 -3
  46. package/dist/{chunk-ILKF7HP7.js.map → chunk-AF5FGAI3.js.map} +1 -1
  47. package/dist/{chunk-OY53JDPO.js → chunk-B4LJI7EP.js} +11 -11
  48. package/dist/{chunk-OY53JDPO.js.map → chunk-B4LJI7EP.js.map} +1 -1
  49. package/dist/{chunk-UGW266DF.js → chunk-BBKNHH72.js} +8 -8
  50. package/dist/{chunk-UGW266DF.js.map → chunk-BBKNHH72.js.map} +1 -1
  51. package/dist/{chunk-ZWAYSR5K.js → chunk-BBYLFHZZ.js} +6 -6
  52. package/dist/{chunk-ZWAYSR5K.js.map → chunk-BBYLFHZZ.js.map} +1 -1
  53. package/dist/{chunk-5CBVZIQC.js → chunk-BMIYI2TC.js} +8 -8
  54. package/dist/chunk-BMIYI2TC.js.map +1 -0
  55. package/dist/{chunk-FUYDR7JI.js → chunk-CQQDYYFS.js} +6 -6
  56. package/dist/{chunk-FUYDR7JI.js.map → chunk-CQQDYYFS.js.map} +1 -1
  57. package/dist/{chunk-XQ6MMGV2.js → chunk-DFPIMLGD.js} +8 -8
  58. package/dist/{chunk-XQ6MMGV2.js.map → chunk-DFPIMLGD.js.map} +1 -1
  59. package/dist/{chunk-SC6YCHT7.js → chunk-DH7N2ZS6.js} +8 -8
  60. package/dist/{chunk-SC6YCHT7.js.map → chunk-DH7N2ZS6.js.map} +1 -1
  61. package/dist/{chunk-7JCJGLA3.js → chunk-EJX4OM7K.js} +3 -3
  62. package/dist/{chunk-7JCJGLA3.js.map → chunk-EJX4OM7K.js.map} +1 -1
  63. package/dist/{chunk-A5UHVGRB.js → chunk-EOXFX7MM.js} +3 -3
  64. package/dist/{chunk-A5UHVGRB.js.map → chunk-EOXFX7MM.js.map} +1 -1
  65. package/dist/{chunk-CJKVA7VS.js → chunk-F7G4ISQB.js} +3 -3
  66. package/dist/{chunk-CJKVA7VS.js.map → chunk-F7G4ISQB.js.map} +1 -1
  67. package/dist/{chunk-IRERFIL5.js → chunk-FL4UUTAC.js} +3 -3
  68. package/dist/{chunk-IRERFIL5.js.map → chunk-FL4UUTAC.js.map} +1 -1
  69. package/dist/{chunk-WSUAPD5M.js → chunk-FR6Y743Q.js} +6 -6
  70. package/dist/{chunk-WSUAPD5M.js.map → chunk-FR6Y743Q.js.map} +1 -1
  71. package/dist/{chunk-24JBIV3A.js → chunk-GAU2MGUQ.js} +3 -3
  72. package/dist/{chunk-24JBIV3A.js.map → chunk-GAU2MGUQ.js.map} +1 -1
  73. package/dist/{chunk-RWO34ORS.js → chunk-GFYWUMYH.js} +6 -6
  74. package/dist/{chunk-RWO34ORS.js.map → chunk-GFYWUMYH.js.map} +1 -1
  75. package/dist/{chunk-VJT3UGN2.js → chunk-GVQMJ45R.js} +13 -13
  76. package/dist/{chunk-VJT3UGN2.js.map → chunk-GVQMJ45R.js.map} +1 -1
  77. package/dist/{chunk-LBAWZ4EV.js → chunk-HCH6G5XY.js} +3 -3
  78. package/dist/{chunk-LBAWZ4EV.js.map → chunk-HCH6G5XY.js.map} +1 -1
  79. package/dist/{chunk-NTVB7R3A.js → chunk-HSLV626U.js} +8 -8
  80. package/dist/{chunk-NTVB7R3A.js.map → chunk-HSLV626U.js.map} +1 -1
  81. package/dist/{chunk-WH6W3NUA.js → chunk-JOEHEKVE.js} +3 -3
  82. package/dist/{chunk-WH6W3NUA.js.map → chunk-JOEHEKVE.js.map} +1 -1
  83. package/dist/{chunk-F7IEPT22.js → chunk-KTP26VPJ.js} +8 -8
  84. package/dist/{chunk-F7IEPT22.js.map → chunk-KTP26VPJ.js.map} +1 -1
  85. package/dist/{chunk-EKOSTVIA.js → chunk-MAJPROT7.js} +8 -8
  86. package/dist/{chunk-EKOSTVIA.js.map → chunk-MAJPROT7.js.map} +1 -1
  87. package/dist/{chunk-C7WXL7UR.js → chunk-MNBNKSMF.js} +4 -4
  88. package/dist/{chunk-C7WXL7UR.js.map → chunk-MNBNKSMF.js.map} +1 -1
  89. package/dist/{chunk-T5NFIPTU.js → chunk-MXOYICSK.js} +3 -3
  90. package/dist/{chunk-T5NFIPTU.js.map → chunk-MXOYICSK.js.map} +1 -1
  91. package/dist/{chunk-HZWERBZB.js → chunk-MXWI7LLA.js} +11 -11
  92. package/dist/{chunk-HZWERBZB.js.map → chunk-MXWI7LLA.js.map} +1 -1
  93. package/dist/{chunk-3JAYOBSG.js → chunk-NWXFSSGF.js} +3 -3
  94. package/dist/{chunk-3JAYOBSG.js.map → chunk-NWXFSSGF.js.map} +1 -1
  95. package/dist/{chunk-26MSDS43.js → chunk-PN4XUBLV.js} +3 -3
  96. package/dist/{chunk-26MSDS43.js.map → chunk-PN4XUBLV.js.map} +1 -1
  97. package/dist/{chunk-LCY6USO2.js → chunk-RNT4GCP3.js} +12 -12
  98. package/dist/{chunk-LCY6USO2.js.map → chunk-RNT4GCP3.js.map} +1 -1
  99. package/dist/{chunk-RRVGW333.js → chunk-RRG2HJMY.js} +7 -7
  100. package/dist/{chunk-RRVGW333.js.map → chunk-RRG2HJMY.js.map} +1 -1
  101. package/dist/{chunk-DQUMIETC.js → chunk-RY2BSDOR.js} +5 -5
  102. package/dist/{chunk-DQUMIETC.js.map → chunk-RY2BSDOR.js.map} +1 -1
  103. package/dist/{chunk-W2K4RQ3M.js → chunk-SCCMKFSR.js} +21 -21
  104. package/dist/{chunk-W2K4RQ3M.js.map → chunk-SCCMKFSR.js.map} +1 -1
  105. package/dist/{chunk-YOL43ZNQ.js → chunk-SVRNYFMY.js} +3 -3
  106. package/dist/{chunk-YOL43ZNQ.js.map → chunk-SVRNYFMY.js.map} +1 -1
  107. package/dist/{chunk-475HS4CJ.js → chunk-UGSA7FSW.js} +8 -8
  108. package/dist/{chunk-475HS4CJ.js.map → chunk-UGSA7FSW.js.map} +1 -1
  109. package/dist/{chunk-FLZGOGER.js → chunk-URNYB2CC.js} +4 -4
  110. package/dist/{chunk-FLZGOGER.js.map → chunk-URNYB2CC.js.map} +1 -1
  111. package/dist/{chunk-DLXE3RNI.js → chunk-UXH6EHK6.js} +3 -3
  112. package/dist/{chunk-DLXE3RNI.js.map → chunk-UXH6EHK6.js.map} +1 -1
  113. package/dist/{chunk-PTZR6C7Y.js → chunk-YEVKV2NP.js} +3 -3
  114. package/dist/{chunk-PTZR6C7Y.js.map → chunk-YEVKV2NP.js.map} +1 -1
  115. package/dist/{chunk-UTSZKJAL.js → chunk-ZZN5JNVJ.js} +6 -6
  116. package/dist/{chunk-UTSZKJAL.js.map → chunk-ZZN5JNVJ.js.map} +1 -1
  117. package/dist/cnaes.d.ts +1 -1
  118. package/dist/cnaes.js +1 -1
  119. package/dist/cnh.js +3 -3
  120. package/dist/cnpj.js +4 -4
  121. package/dist/compare.js +21 -21
  122. package/dist/cpf.js +4 -4
  123. package/dist/data-catalog.d.ts +2 -2
  124. package/dist/data-catalog.js +24 -22
  125. package/dist/data-catalog.js.map +1 -1
  126. package/dist/detect.js +18 -18
  127. package/dist/diff.js +21 -21
  128. package/dist/feriados.d.ts +1 -1
  129. package/dist/feriados.js +1 -1
  130. package/dist/generate.js +28 -28
  131. package/dist/ibge.d.ts +1 -1
  132. package/dist/ibge.js +1 -1
  133. package/dist/incoterms.d.ts +1 -1
  134. package/dist/incoterms.js +1 -1
  135. package/dist/index.d.ts +1 -1
  136. package/dist/index.js +43 -43
  137. package/dist/mask.js +27 -27
  138. package/dist/moedas.d.ts +1 -1
  139. package/dist/moedas.js +1 -1
  140. package/dist/natureza-juridica.d.ts +1 -1
  141. package/dist/natureza-juridica.js +1 -1
  142. package/dist/nbs.d.ts +1 -1
  143. package/dist/nbs.js +1 -1
  144. package/dist/ncm.d.ts +1 -1
  145. package/dist/ncm.js +1 -1
  146. package/dist/paises-bacen.d.ts +1 -1
  147. package/dist/paises-bacen.js +1 -1
  148. package/dist/pix.js +7 -7
  149. package/dist/pncp-reference.d.ts +1 -1
  150. package/dist/pncp-reference.js +1 -1
  151. package/dist/portos.d.ts +1 -1
  152. package/dist/portos.js +1 -1
  153. package/dist/renavam.js +3 -3
  154. package/dist/sanitize.js +16 -16
  155. package/dist/telefone.d.ts +1 -1
  156. package/dist/telefone.js +3 -3
  157. package/dist/titulo-eleitor.js +3 -3
  158. package/dist/transparencia-snapshots.d.ts +1 -1
  159. package/dist/transparencia-snapshots.js +2 -2
  160. package/dist/transparencia-snapshots.js.map +1 -1
  161. package/dist/tse-municipios.d.ts +1 -1
  162. package/dist/tse-municipios.js +1 -1
  163. package/dist/{types-CBIZxgfG.d.ts → types-CCKLomYy.d.ts} +1 -1
  164. package/package.json +6 -1
  165. package/dist/chunk-5CBVZIQC.js.map +0 -1
@@ -6,25 +6,25 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads/cbo2002-ocupacao.csv"
8
8
  ],
9
- capturadoEm: "2026-06-23",
10
- atualizadoEm: "2026-06-23T16:12:08.064Z",
9
+ capturadoEm: "2026-06-24",
10
+ atualizadoEm: "2026-06-24T15:43:01.168Z",
11
11
  contagens: {
12
12
  cbo: 2694
13
13
  },
14
14
  alteracoes: {
15
- adicionados: 2694,
15
+ adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: null
18
+ comparadoCom: "2026-06-23"
19
19
  },
20
20
  verificacao: {
21
- agendamento: "semanal",
21
+ agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-23T16:12:08.064Z"
23
+ ultimaExecucao: "2026-06-24T15:43:01.168Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#cbo-occupations"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-XQ6MMGV2.js.map
30
- //# sourceMappingURL=chunk-XQ6MMGV2.js.map
29
+ //# sourceMappingURL=chunk-DFPIMLGD.js.map
30
+ //# sourceMappingURL=chunk-DFPIMLGD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cbo/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,uCAAA;AAAA,EACR,KAAA,EAAS,2BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,GAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,IAAA;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-XQ6MMGV2.js","sourcesContent":["{\n \"id\": \"cbo\",\n \"nome\": \"CBO 2002 — Brazilian Occupations\",\n \"fonte\": \"MTE CBO 2002 ocupacao.csv\",\n \"endpoints\": [\n \"https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads/cbo2002-ocupacao.csv\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T16:12:08.064Z\",\n \"contagens\": {\n \"cbo\": 2694\n },\n \"alteracoes\": {\n \"adicionados\": 2694,\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:12:08.064Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cbo-occupations\"\n}\n"]}
1
+ {"version":3,"sources":["../src/cbo/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,uCAAA;AAAA,EACR,KAAA,EAAS,2BAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,GAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-DFPIMLGD.js","sourcesContent":["{\n \"id\": \"cbo\",\n \"nome\": \"CBO 2002 — Brazilian Occupations\",\n \"fonte\": \"MTE CBO 2002 ocupacao.csv\",\n \"endpoints\": [\n \"https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads/cbo2002-ocupacao.csv\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:43:01.168Z\",\n \"contagens\": {\n \"cbo\": 2694\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:43:01.168Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cbo-occupations\"\n}\n"]}
@@ -6,25 +6,25 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente"
8
8
  ],
9
- capturadoEm: "2026-06-23",
10
- atualizadoEm: "2026-06-23T16:12:06.317Z",
9
+ capturadoEm: "2026-06-24",
10
+ atualizadoEm: "2026-06-24T15:36:54.822Z",
11
11
  contagens: {
12
12
  cfop: 689
13
13
  },
14
14
  alteracoes: {
15
- adicionados: 689,
15
+ adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: null
18
+ comparadoCom: "2026-06-23"
19
19
  },
20
20
  verificacao: {
21
- agendamento: "semanal",
21
+ agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-06-23T16:12:06.317Z"
23
+ ultimaExecucao: "2026-06-24T15:36:54.822Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-SC6YCHT7.js.map
30
- //# sourceMappingURL=chunk-SC6YCHT7.js.map
29
+ //# sourceMappingURL=chunk-DH7N2ZS6.js.map
30
+ //# sourceMappingURL=chunk-DH7N2ZS6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-SC6YCHT7.js","sourcesContent":["{\n \"id\": \"cfop\",\n \"nome\": \"CONFAZ CFOP\",\n \"fonte\": \"CONFAZ SINIEF Convênio s/nº 1970 — Anexo II\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T16:12:06.317Z\",\n \"contagens\": {\n \"cfop\": 689\n },\n \"alteracoes\": {\n \"adicionados\": 689,\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:12:06.317Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations\"\n}\n"]}
1
+ {"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-DH7N2ZS6.js","sourcesContent":["{\n \"id\": \"cfop\",\n \"nome\": \"CONFAZ CFOP\",\n \"fonte\": \"CONFAZ SINIEF Convênio s/nº 1970 — Anexo II\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente\"\n ],\n \"capturadoEm\": \"2026-06-24\",\n \"atualizadoEm\": \"2026-06-24T15:36:54.822Z\",\n \"contagens\": {\n \"cfop\": 689\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-24T15:36:54.822Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations\"\n}\n"]}
@@ -18,7 +18,7 @@ var metadata_default = {
18
18
  comparadoCom: "2026-06-23"
19
19
  },
20
20
  verificacao: {
21
- agendamento: "semanal",
21
+ agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
23
  ultimaExecucao: "2026-06-23T18:20:02.432Z"
24
24
  },
@@ -26,5 +26,5 @@ var metadata_default = {
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-7JCJGLA3.js.map
30
- //# sourceMappingURL=chunk-7JCJGLA3.js.map
29
+ //# sourceMappingURL=chunk-EJX4OM7K.js.map
30
+ //# sourceMappingURL=chunk-EJX4OM7K.js.map
@@ -1 +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"]}
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,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-EJX4OM7K.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\": \"diario\",\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"]}
@@ -1,5 +1,5 @@
1
- import { weightedSum } from './chunk-OTZHMJYE.js';
2
1
  import { stripCnh } from './chunk-YYHS5WQN.js';
2
+ import { weightedSum } from './chunk-OTZHMJYE.js';
3
3
  import { brandCnh } from './chunk-4NFEM2SU.js';
4
4
 
5
5
  // src/core/cnh/constants.ts
@@ -100,5 +100,5 @@ function validateCnh(input) {
100
100
  }
101
101
 
102
102
  export { CNH_BASE_LENGTH, CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS, CNH_GOLDEN_DISCOUNT_CASE, CNH_GOLDEN_PRIMARY, CNH_GOLDEN_PRIMARY_DECORATED_INPUT, CNH_GOLDEN_SECONDARY, CNH_LENGTH, CNH_NUMERIC_PATTERN, CNH_OFFICIAL_SOURCE_URL, CNH_SENATRAN_VALIDAR_URL, computeCnhCheckDigits, isValidCnh, validateCnh };
103
- //# sourceMappingURL=chunk-A5UHVGRB.js.map
104
- //# sourceMappingURL=chunk-A5UHVGRB.js.map
103
+ //# sourceMappingURL=chunk-EOXFX7MM.js.map
104
+ //# sourceMappingURL=chunk-EOXFX7MM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/cnh/constants.ts","../src/core/cnh/check-digits.ts","../src/core/cnh/index.ts"],"names":[],"mappings":"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","file":"chunk-A5UHVGRB.js","sourcesContent":["/**\n * CNH constants — Registro Nacional modulo 11 (CONTRAN / SENATRAN).\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/Resolucao8862021.pdf\n * @see https://www.gov.br/pt-br/servicos/validar-cnh\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n * @see https://www.geravalida.com.br/validador-cnh — implementation cross-check\n * @see https://geradorbr.com/validador-de-cnh/ — implementation cross-check\n */\nexport const CNH_DV1_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2, 1] as const;\nexport const CNH_DV2_WEIGHTS = [1, 2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport const CNH_LENGTH = 11;\nexport const CNH_BASE_LENGTH = 9;\nexport const CNH_NUMERIC_PATTERN = /^\\d{11}$/;\n\n/** Golden primary — DV walkthrough: base `624729276` → DV `37`. */\nexport const CNH_GOLDEN_PRIMARY = '62472927637';\nexport const CNH_GOLDEN_SECONDARY = '69044271146';\nexport const CNH_GOLDEN_DISCOUNT_CASE = '00000001801';\n\n/** Non-official CPF-style decoration — accepted on input via strip, never emitted by format. */\nexport const CNH_GOLDEN_PRIMARY_DECORATED_INPUT = '624.729.276-37';\n\nexport const CNH_OFFICIAL_SOURCE_URL =\n 'https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf';\n\n/** SENATRAN online validation — requires plain 11-digit registration number. */\nexport const CNH_SENATRAN_VALIDAR_URL = 'https://www.gov.br/pt-br/servicos/validar-cnh';\n","/**\n * CNH check digits — modulo 11 with inter-DV discount (desconto).\n * DV1 and DV2 weighted sums are computed in parallel on the same 9 base digits.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n */\nimport { weightedSum } from '../cnpj/modulo11.js';\nimport { CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS } from './constants.js';\n\nfunction digitValues(chars: string): number[] {\n const values: number[] = [];\n for (let i = 0; i < chars.length; i++) {\n values.push(Number(chars.charAt(i)));\n }\n return values;\n}\n\nexport function computeCnhFirstCheckDigit(base: string): { dv: number; discount: number } {\n const remainder = weightedSum(digitValues(base), CNH_DV1_WEIGHTS) % 11;\n if (remainder >= 10) {\n return { dv: 0, discount: 2 };\n }\n return { dv: remainder, discount: 0 };\n}\n\nexport function computeCnhSecondCheckDigit(base: string, discount: number): number {\n let dv = weightedSum(digitValues(base), CNH_DV2_WEIGHTS) % 11;\n if (discount === 2) {\n if (dv - 2 < 0) {\n dv += 9;\n } else {\n dv -= 2;\n }\n }\n if (dv > 9) {\n dv = 0;\n }\n return dv;\n}\n\nexport function computeCnhCheckDigits(base: string): string {\n const { dv: dv1, discount } = computeCnhFirstCheckDigit(base);\n const dv2 = computeCnhSecondCheckDigit(base, discount);\n return `${String(dv1)}${String(dv2)}`;\n}\n","/**\n * CNH validation — Registro Nacional modulo 11 with inter-DV discount.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/infraestrutura/pt-br/assuntos/transito/senatran\n */\nimport { stripCnh } from '../../strip/index.js';\nimport type { Cnh, ValidationResult } from '../../types/validation-result.js';\nimport { brandCnh } from '../../types/validation-result.js';\nimport { computeCnhCheckDigits } from './check-digits.js';\nimport { CNH_BASE_LENGTH, CNH_LENGTH } from './constants.js';\n\nexport {\n CNH_BASE_LENGTH,\n CNH_DV1_WEIGHTS,\n CNH_DV2_WEIGHTS,\n CNH_GOLDEN_DISCOUNT_CASE,\n CNH_GOLDEN_PRIMARY,\n CNH_GOLDEN_PRIMARY_DECORATED_INPUT,\n CNH_GOLDEN_SECONDARY,\n CNH_LENGTH,\n CNH_NUMERIC_PATTERN,\n CNH_OFFICIAL_SOURCE_URL,\n CNH_SENATRAN_VALIDAR_URL,\n} from './constants.js';\n\ntype FailedResult = Extract<ValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction hasRepeatedDigits(value: string): boolean {\n const first = value[0];\n for (let i = 1; i < value.length; i++) {\n if (value[i] !== first) {\n return false;\n }\n }\n return true;\n}\n\nfunction isValidCnhChecksum(stripped: string): boolean {\n const base = stripped.slice(0, CNH_BASE_LENGTH);\n const expected = computeCnhCheckDigits(base);\n return stripped.slice(CNH_BASE_LENGTH) === expected;\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'CNH input is empty');\n }\n\n const withoutMask = input.replace(/[.\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'CNH contains invalid characters');\n }\n\n if (stripped.length !== CNH_LENGTH) {\n return failure('INVALID_LENGTH', `CNH must have ${CNH_LENGTH} digits after normalization`);\n }\n\n if (hasRepeatedDigits(stripped)) {\n return failure('KNOWN_INVALID_PATTERN', 'CNH with all identical digits is invalid');\n }\n\n return null;\n}\n\nexport function isValidCnh(input: string): boolean {\n return validateCnh(input).ok;\n}\n\nexport function validateCnh(input: string): ValidationResult<Cnh> {\n const stripped = stripCnh(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n if (isValidCnhChecksum(stripped)) {\n return { ok: true, value: brandCnh(stripped), format: 'numeric' };\n }\n\n return failure('INVALID_CHECK_DIGIT', 'CNH check digits are invalid');\n}\n"]}
1
+ {"version":3,"sources":["../src/core/cnh/constants.ts","../src/core/cnh/check-digits.ts","../src/core/cnh/index.ts"],"names":[],"mappings":";;;;;AASO,IAAM,eAAA,GAAkB,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAC;AAClD,IAAM,eAAA,GAAkB,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAC;AAClD,IAAM,UAAA,GAAa;AACnB,IAAM,eAAA,GAAkB;AACxB,IAAM,mBAAA,GAAsB;AAG5B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,wBAAA,GAA2B;AAGjC,IAAM,kCAAA,GAAqC;AAE3C,IAAM,uBAAA,GACX;AAGK,IAAM,wBAAA,GAA2B;;;AClBxC,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,MAAM,SAAmB,EAAC;AAC1B,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,IAAA,MAAA,CAAO,KAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA;AAAA,EACrC;AACA,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,0BAA0B,IAAA,EAAgD;AACxF,EAAA,MAAM,YAAY,WAAA,CAAY,WAAA,CAAY,IAAI,CAAA,EAAG,eAAe,CAAA,GAAI,EAAA;AACpE,EAAA,IAAI,aAAa,EAAA,EAAI;AACnB,IAAA,OAAO,EAAE,EAAA,EAAI,CAAA,EAAG,QAAA,EAAU,CAAA,EAAE;AAAA,EAC9B;AACA,EAAA,OAAO,EAAE,EAAA,EAAI,SAAA,EAAW,QAAA,EAAU,CAAA,EAAE;AACtC;AAEO,SAAS,0BAAA,CAA2B,MAAc,QAAA,EAA0B;AACjF,EAAA,IAAI,KAAK,WAAA,CAAY,WAAA,CAAY,IAAI,CAAA,EAAG,eAAe,CAAA,GAAI,EAAA;AAC3D,EAAA,IAAI,aAAa,CAAA,EAAG;AAClB,IAAA,IAAI,EAAA,GAAK,IAAI,CAAA,EAAG;AACd,MAAA,EAAA,IAAM,CAAA;AAAA,IACR,CAAA,MAAO;AACL,MAAA,EAAA,IAAM,CAAA;AAAA,IACR;AAAA,EACF;AACA,EAAA,IAAI,KAAK,CAAA,EAAG;AACV,IAAA,EAAA,GAAK,CAAA;AAAA,EACP;AACA,EAAA,OAAO,EAAA;AACT;AAEO,SAAS,sBAAsB,IAAA,EAAsB;AAC1D,EAAA,MAAM,EAAE,EAAA,EAAI,GAAA,EAAK,QAAA,EAAS,GAAI,0BAA0B,IAAI,CAAA;AAC5D,EAAA,MAAM,GAAA,GAAM,0BAAA,CAA2B,IAAA,EAAM,QAAQ,CAAA;AACrD,EAAA,OAAO,GAAG,MAAA,CAAO,GAAG,CAAC,CAAA,EAAG,MAAA,CAAO,GAAG,CAAC,CAAA,CAAA;AACrC;;;ACjBA,SAAS,OAAA,CAAQ,MAA4B,OAAA,EAA+B;AAC1E,EAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AACpC;AAEA,SAAS,kBAAkB,KAAA,EAAwB;AACjD,EAAA,MAAM,KAAA,GAAQ,MAAM,CAAC,CAAA;AACrB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,IAAA,IAAI,KAAA,CAAM,CAAC,CAAA,KAAM,KAAA,EAAO;AACtB,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,mBAAmB,QAAA,EAA2B;AACrD,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,eAAe,CAAA;AAC9C,EAAA,MAAM,QAAA,GAAW,sBAAsB,IAAI,CAAA;AAC3C,EAAA,OAAO,QAAA,CAAS,KAAA,CAAM,eAAe,CAAA,KAAM,QAAA;AAC7C;AAEA,SAAS,iBAAA,CAAkB,OAAe,QAAA,EAAuC;AAC/E,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA,CAAQ,eAAe,oBAAoB,CAAA;AAAA,EACpD;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,OAAA,CAAQ,SAAA,EAAW,EAAE,CAAA;AAC/C,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,OAAA,CAAQ,qBAAqB,iCAAiC,CAAA;AAAA,EACvE;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,UAAA,EAAY;AAClC,IAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,CAAA,cAAA,EAAiB,UAAU,CAAA,2BAAA,CAA6B,CAAA;AAAA,EAC3F;AAEA,EAAA,IAAI,iBAAA,CAAkB,QAAQ,CAAA,EAAG;AAC/B,IAAA,OAAO,OAAA,CAAQ,yBAAyB,0CAA0C,CAAA;AAAA,EACpF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,CAAE,EAAA;AAC5B;AAEO,SAAS,YAAY,KAAA,EAAsC;AAChE,EAAA,MAAM,QAAA,GAAW,SAAS,KAAK,CAAA;AAC/B,EAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,KAAA,EAAO,QAAQ,CAAA;AACpD,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,IAAI,kBAAA,CAAmB,QAAQ,CAAA,EAAG;AAChC,IAAA,OAAO,EAAE,IAAI,IAAA,EAAM,KAAA,EAAO,SAAS,QAAQ,CAAA,EAAG,QAAQ,SAAA,EAAU;AAAA,EAClE;AAEA,EAAA,OAAO,OAAA,CAAQ,uBAAuB,8BAA8B,CAAA;AACtE","file":"chunk-EOXFX7MM.js","sourcesContent":["/**\n * CNH constants — Registro Nacional modulo 11 (CONTRAN / SENATRAN).\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/Resolucao8862021.pdf\n * @see https://www.gov.br/pt-br/servicos/validar-cnh\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n * @see https://www.geravalida.com.br/validador-cnh — implementation cross-check\n * @see https://geradorbr.com/validador-de-cnh/ — implementation cross-check\n */\nexport const CNH_DV1_WEIGHTS = [9, 8, 7, 6, 5, 4, 3, 2, 1] as const;\nexport const CNH_DV2_WEIGHTS = [1, 2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport const CNH_LENGTH = 11;\nexport const CNH_BASE_LENGTH = 9;\nexport const CNH_NUMERIC_PATTERN = /^\\d{11}$/;\n\n/** Golden primary — DV walkthrough: base `624729276` → DV `37`. */\nexport const CNH_GOLDEN_PRIMARY = '62472927637';\nexport const CNH_GOLDEN_SECONDARY = '69044271146';\nexport const CNH_GOLDEN_DISCOUNT_CASE = '00000001801';\n\n/** Non-official CPF-style decoration — accepted on input via strip, never emitted by format. */\nexport const CNH_GOLDEN_PRIMARY_DECORATED_INPUT = '624.729.276-37';\n\nexport const CNH_OFFICIAL_SOURCE_URL =\n 'https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf';\n\n/** SENATRAN online validation — requires plain 11-digit registration number. */\nexport const CNH_SENATRAN_VALIDAR_URL = 'https://www.gov.br/pt-br/servicos/validar-cnh';\n","/**\n * CNH check digits — modulo 11 with inter-DV discount (desconto).\n * DV1 and DV2 weighted sums are computed in parallel on the same 9 base digits.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://siga0984.wordpress.com/2019/05/01/algoritmos-validacao-de-cnh/ — algorithm cross-check (AdvPL)\n */\nimport { weightedSum } from '../cnpj/modulo11.js';\nimport { CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS } from './constants.js';\n\nfunction digitValues(chars: string): number[] {\n const values: number[] = [];\n for (let i = 0; i < chars.length; i++) {\n values.push(Number(chars.charAt(i)));\n }\n return values;\n}\n\nexport function computeCnhFirstCheckDigit(base: string): { dv: number; discount: number } {\n const remainder = weightedSum(digitValues(base), CNH_DV1_WEIGHTS) % 11;\n if (remainder >= 10) {\n return { dv: 0, discount: 2 };\n }\n return { dv: remainder, discount: 0 };\n}\n\nexport function computeCnhSecondCheckDigit(base: string, discount: number): number {\n let dv = weightedSum(digitValues(base), CNH_DV2_WEIGHTS) % 11;\n if (discount === 2) {\n if (dv - 2 < 0) {\n dv += 9;\n } else {\n dv -= 2;\n }\n }\n if (dv > 9) {\n dv = 0;\n }\n return dv;\n}\n\nexport function computeCnhCheckDigits(base: string): string {\n const { dv: dv1, discount } = computeCnhFirstCheckDigit(base);\n const dv2 = computeCnhSecondCheckDigit(base, discount);\n return `${String(dv1)}${String(dv2)}`;\n}\n","/**\n * CNH validation — Registro Nacional modulo 11 with inter-DV discount.\n * @see https://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * @see https://www.gov.br/infraestrutura/pt-br/assuntos/transito/senatran\n */\nimport { stripCnh } from '../../strip/index.js';\nimport type { Cnh, ValidationResult } from '../../types/validation-result.js';\nimport { brandCnh } from '../../types/validation-result.js';\nimport { computeCnhCheckDigits } from './check-digits.js';\nimport { CNH_BASE_LENGTH, CNH_LENGTH } from './constants.js';\n\nexport {\n CNH_BASE_LENGTH,\n CNH_DV1_WEIGHTS,\n CNH_DV2_WEIGHTS,\n CNH_GOLDEN_DISCOUNT_CASE,\n CNH_GOLDEN_PRIMARY,\n CNH_GOLDEN_PRIMARY_DECORATED_INPUT,\n CNH_GOLDEN_SECONDARY,\n CNH_LENGTH,\n CNH_NUMERIC_PATTERN,\n CNH_OFFICIAL_SOURCE_URL,\n CNH_SENATRAN_VALIDAR_URL,\n} from './constants.js';\n\ntype FailedResult = Extract<ValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction hasRepeatedDigits(value: string): boolean {\n const first = value[0];\n for (let i = 1; i < value.length; i++) {\n if (value[i] !== first) {\n return false;\n }\n }\n return true;\n}\n\nfunction isValidCnhChecksum(stripped: string): boolean {\n const base = stripped.slice(0, CNH_BASE_LENGTH);\n const expected = computeCnhCheckDigits(base);\n return stripped.slice(CNH_BASE_LENGTH) === expected;\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'CNH input is empty');\n }\n\n const withoutMask = input.replace(/[.\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'CNH contains invalid characters');\n }\n\n if (stripped.length !== CNH_LENGTH) {\n return failure('INVALID_LENGTH', `CNH must have ${CNH_LENGTH} digits after normalization`);\n }\n\n if (hasRepeatedDigits(stripped)) {\n return failure('KNOWN_INVALID_PATTERN', 'CNH with all identical digits is invalid');\n }\n\n return null;\n}\n\nexport function isValidCnh(input: string): boolean {\n return validateCnh(input).ok;\n}\n\nexport function validateCnh(input: string): ValidationResult<Cnh> {\n const stripped = stripCnh(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n if (isValidCnhChecksum(stripped)) {\n return { ok: true, value: brandCnh(stripped), format: 'numeric' };\n }\n\n return failure('INVALID_CHECK_DIGIT', 'CNH check digits are invalid');\n}\n"]}
@@ -1,5 +1,5 @@
1
+ import { faixa_metadata_default } from './chunk-RY2BSDOR.js';
1
2
  import { stripCep } from './chunk-YYHS5WQN.js';
2
- import { faixa_metadata_default } from './chunk-DQUMIETC.js';
3
3
  import { brandCep } from './chunk-4NFEM2SU.js';
4
4
 
5
5
  // src/core/cep/constants.ts
@@ -147969,5 +147969,5 @@ function validateCep(input) {
147969
147969
  }
147970
147970
 
147971
147971
  export { CEP_FAIXA_CNEFE_BASE_URL, CEP_FAIXA_DATA_VERSION, CEP_FAIXA_GOLDEN_PREFIX_RJ, CEP_FAIXA_GOLDEN_PREFIX_SP, CEP_FAIXA_MAX_PREFIXES, CEP_FAIXA_MIN_PREFIXES, CEP_GOLDEN_PRIMARY, CEP_GOLDEN_PRIMARY_MASKED, CEP_GOLDEN_SECONDARY, CEP_MASK_PATTERN, CEP_OFFICIAL_SOURCE_URL, getCepFaixaInfo, getCepFaixas, isValidCep, validateCep };
147972
- //# sourceMappingURL=chunk-CJKVA7VS.js.map
147973
- //# sourceMappingURL=chunk-CJKVA7VS.js.map
147972
+ //# sourceMappingURL=chunk-F7G4ISQB.js.map
147973
+ //# sourceMappingURL=chunk-F7G4ISQB.js.map