@br-validators/core 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/README.md +25 -7
  2. package/dist/aeroportos.d.ts +1 -1
  3. package/dist/anp-combustiveis.d.ts +1 -1
  4. package/dist/bancos.d.ts +1 -1
  5. package/dist/batch.d.ts +3 -3
  6. package/dist/batch.js +27 -25
  7. package/dist/boleto.d.ts +2 -2
  8. package/dist/boleto.js +5 -5
  9. package/dist/brcode.d.ts +2 -2
  10. package/dist/brcode.js +8 -8
  11. package/dist/cartao-credito.d.ts +2 -2
  12. package/dist/cartao-credito.js +3 -3
  13. package/dist/cbo.d.ts +1 -1
  14. package/dist/cep.d.ts +3 -3
  15. package/dist/cep.js +4 -4
  16. package/dist/cest.d.ts +1 -1
  17. package/dist/cfop.d.ts +1 -1
  18. package/dist/{chunk-FL4UUTAC.js → chunk-26HMLR4Y.js} +3 -3
  19. package/dist/{chunk-FL4UUTAC.js.map → chunk-26HMLR4Y.js.map} +1 -1
  20. package/dist/{chunk-LPGSPM53.js → chunk-2EYJMAE2.js} +3 -3
  21. package/dist/{chunk-LPGSPM53.js.map → chunk-2EYJMAE2.js.map} +1 -1
  22. package/dist/{chunk-NWXFSSGF.js → chunk-2HD6TA3O.js} +3 -3
  23. package/dist/{chunk-NWXFSSGF.js.map → chunk-2HD6TA3O.js.map} +1 -1
  24. package/dist/chunk-2NSBFMTP.js +125 -0
  25. package/dist/chunk-2NSBFMTP.js.map +1 -0
  26. package/dist/{chunk-VDCITFZG.js → chunk-2ZWBFVYY.js} +3 -3
  27. package/dist/{chunk-VDCITFZG.js.map → chunk-2ZWBFVYY.js.map} +1 -1
  28. package/dist/{chunk-EGDZGSHA.js → chunk-3EVLQVBC.js} +3 -3
  29. package/dist/{chunk-EGDZGSHA.js.map → chunk-3EVLQVBC.js.map} +1 -1
  30. package/dist/{chunk-A2JXKXPS.js → chunk-3ZIXLRXZ.js} +4 -3
  31. package/dist/chunk-3ZIXLRXZ.js.map +1 -0
  32. package/dist/{chunk-MXWI7LLA.js → chunk-47PZ7WGA.js} +23 -19
  33. package/dist/chunk-47PZ7WGA.js.map +1 -0
  34. package/dist/{chunk-3OTYX7QX.js → chunk-4T2ZBJFM.js} +3 -3
  35. package/dist/{chunk-3OTYX7QX.js.map → chunk-4T2ZBJFM.js.map} +1 -1
  36. package/dist/{chunk-4GMBZLAS.js → chunk-5I6WYO5R.js} +3 -3
  37. package/dist/{chunk-4GMBZLAS.js.map → chunk-5I6WYO5R.js.map} +1 -1
  38. package/dist/{chunk-ZZN5JNVJ.js → chunk-7EMUKPPG.js} +8 -8
  39. package/dist/{chunk-ZZN5JNVJ.js.map → chunk-7EMUKPPG.js.map} +1 -1
  40. package/dist/{chunk-ULNZHOMA.js → chunk-AG3VELYX.js} +5 -14
  41. package/dist/chunk-AG3VELYX.js.map +1 -0
  42. package/dist/chunk-BG72VA7O.js +33 -0
  43. package/dist/chunk-BG72VA7O.js.map +1 -0
  44. package/dist/{chunk-4TOP3CZQ.js → chunk-BNM3RSDY.js} +24 -19
  45. package/dist/chunk-BNM3RSDY.js.map +1 -0
  46. package/dist/{chunk-RNT4GCP3.js → chunk-BSNVQQTV.js} +25 -20
  47. package/dist/chunk-BSNVQQTV.js.map +1 -0
  48. package/dist/chunk-BSSRVJ2C.js +14 -0
  49. package/dist/chunk-BSSRVJ2C.js.map +1 -0
  50. package/dist/{chunk-YEVKV2NP.js → chunk-DAX5PVBJ.js} +10 -8
  51. package/dist/chunk-DAX5PVBJ.js.map +1 -0
  52. package/dist/{chunk-43FQHKCC.js → chunk-DMUWIPJR.js} +3 -3
  53. package/dist/{chunk-43FQHKCC.js.map → chunk-DMUWIPJR.js.map} +1 -1
  54. package/dist/{chunk-G557DGIX.js → chunk-E2BVDZKJ.js} +3 -3
  55. package/dist/{chunk-G557DGIX.js.map → chunk-E2BVDZKJ.js.map} +1 -1
  56. package/dist/{chunk-UXH6EHK6.js → chunk-EDJC6HIP.js} +3 -3
  57. package/dist/{chunk-UXH6EHK6.js.map → chunk-EDJC6HIP.js.map} +1 -1
  58. package/dist/{chunk-4NFEM2SU.js → chunk-EMZCVV5Y.js} +9 -3
  59. package/dist/chunk-EMZCVV5Y.js.map +1 -0
  60. package/dist/chunk-FI2JE6AS.js +15 -0
  61. package/dist/chunk-FI2JE6AS.js.map +1 -0
  62. package/dist/{chunk-EOXFX7MM.js → chunk-G4YT6X7N.js} +3 -3
  63. package/dist/{chunk-EOXFX7MM.js.map → chunk-G4YT6X7N.js.map} +1 -1
  64. package/dist/chunk-G65WTGYO.js +31 -0
  65. package/dist/chunk-G65WTGYO.js.map +1 -0
  66. package/dist/chunk-HIWHBRFG.js +30 -0
  67. package/dist/chunk-HIWHBRFG.js.map +1 -0
  68. package/dist/{chunk-SCCMKFSR.js → chunk-J3QGK6MX.js} +33 -33
  69. package/dist/{chunk-SCCMKFSR.js.map → chunk-J3QGK6MX.js.map} +1 -1
  70. package/dist/{chunk-P3EJRH4P.js → chunk-LXB5FIAQ.js} +4 -4
  71. package/dist/{chunk-P3EJRH4P.js.map → chunk-LXB5FIAQ.js.map} +1 -1
  72. package/dist/{chunk-B4LJI7EP.js → chunk-M3RBXFYG.js} +39 -20
  73. package/dist/chunk-M3RBXFYG.js.map +1 -0
  74. package/dist/{chunk-3DLNIUBY.js → chunk-M6VUQK73.js} +5 -5
  75. package/dist/{chunk-3DLNIUBY.js.map → chunk-M6VUQK73.js.map} +1 -1
  76. package/dist/{chunk-2M4RVHRO.js → chunk-MLUDCL3P.js} +3 -3
  77. package/dist/{chunk-2M4RVHRO.js.map → chunk-MLUDCL3P.js.map} +1 -1
  78. package/dist/{chunk-GVQMJ45R.js → chunk-MZZNNXAB.js} +27 -21
  79. package/dist/chunk-MZZNNXAB.js.map +1 -0
  80. package/dist/{chunk-DVA6QQUF.js → chunk-O3HZW2GM.js} +3 -3
  81. package/dist/{chunk-DVA6QQUF.js.map → chunk-O3HZW2GM.js.map} +1 -1
  82. package/dist/{chunk-5S3IURHL.js → chunk-O7RJQUAJ.js} +3 -3
  83. package/dist/{chunk-5S3IURHL.js.map → chunk-O7RJQUAJ.js.map} +1 -1
  84. package/dist/{chunk-IJ2DAVSD.js → chunk-OM5ELPM6.js} +3 -3
  85. package/dist/{chunk-IJ2DAVSD.js.map → chunk-OM5ELPM6.js.map} +1 -1
  86. package/dist/chunk-OPFCKUFX.js +31 -0
  87. package/dist/chunk-OPFCKUFX.js.map +1 -0
  88. package/dist/{chunk-2JSOXG2M.js → chunk-P37C3MVF.js} +3 -3
  89. package/dist/{chunk-2JSOXG2M.js.map → chunk-P37C3MVF.js.map} +1 -1
  90. package/dist/chunk-P5BDKYBC.js +3 -0
  91. package/dist/chunk-P5BDKYBC.js.map +1 -0
  92. package/dist/{chunk-HCH6G5XY.js → chunk-PUTVO6HG.js} +3 -3
  93. package/dist/{chunk-HCH6G5XY.js.map → chunk-PUTVO6HG.js.map} +1 -1
  94. package/dist/{chunk-PN4XUBLV.js → chunk-Q2CFVQ2U.js} +3 -3
  95. package/dist/{chunk-PN4XUBLV.js.map → chunk-Q2CFVQ2U.js.map} +1 -1
  96. package/dist/{chunk-GAU2MGUQ.js → chunk-QKAXRXU5.js} +3 -3
  97. package/dist/{chunk-GAU2MGUQ.js.map → chunk-QKAXRXU5.js.map} +1 -1
  98. package/dist/{chunk-OWD47AWI.js → chunk-QZPKTG4A.js} +3 -3
  99. package/dist/{chunk-OWD47AWI.js.map → chunk-QZPKTG4A.js.map} +1 -1
  100. package/dist/{chunk-URNYB2CC.js → chunk-RNI5G42M.js} +4 -4
  101. package/dist/{chunk-URNYB2CC.js.map → chunk-RNI5G42M.js.map} +1 -1
  102. package/dist/{chunk-37IHHQKK.js → chunk-ROU5ZHN7.js} +4 -4
  103. package/dist/{chunk-37IHHQKK.js.map → chunk-ROU5ZHN7.js.map} +1 -1
  104. package/dist/{chunk-274K6AOM.js → chunk-RP5UWF2G.js} +3 -3
  105. package/dist/{chunk-274K6AOM.js.map → chunk-RP5UWF2G.js.map} +1 -1
  106. package/dist/{chunk-QSSKPIG5.js → chunk-SIMI5XYE.js} +3 -3
  107. package/dist/{chunk-QSSKPIG5.js.map → chunk-SIMI5XYE.js.map} +1 -1
  108. package/dist/{chunk-TTDHGQEC.js → chunk-SQO7BO3Y.js} +3 -3
  109. package/dist/{chunk-TTDHGQEC.js.map → chunk-SQO7BO3Y.js.map} +1 -1
  110. package/dist/{chunk-MXOYICSK.js → chunk-SXPLYH4N.js} +3 -3
  111. package/dist/{chunk-MXOYICSK.js.map → chunk-SXPLYH4N.js.map} +1 -1
  112. package/dist/{chunk-F7G4ISQB.js → chunk-UANHHEWY.js} +3 -3
  113. package/dist/{chunk-F7G4ISQB.js.map → chunk-UANHHEWY.js.map} +1 -1
  114. package/dist/{chunk-TAOFFAG3.js → chunk-UJXGDUKJ.js} +3 -3
  115. package/dist/{chunk-TAOFFAG3.js.map → chunk-UJXGDUKJ.js.map} +1 -1
  116. package/dist/chunk-VXHJLWMA.js +115 -0
  117. package/dist/chunk-VXHJLWMA.js.map +1 -0
  118. package/dist/chunk-W64OQYC4.js +13 -0
  119. package/dist/chunk-W64OQYC4.js.map +1 -0
  120. package/dist/{chunk-MNBNKSMF.js → chunk-WAVBQYPE.js} +4 -4
  121. package/dist/{chunk-MNBNKSMF.js.map → chunk-WAVBQYPE.js.map} +1 -1
  122. package/dist/{chunk-CYBWPBXJ.js → chunk-WE6RG6OC.js} +4 -4
  123. package/dist/{chunk-CYBWPBXJ.js.map → chunk-WE6RG6OC.js.map} +1 -1
  124. package/dist/{chunk-Z7KH65RZ.js → chunk-WKDCI3NI.js} +3 -3
  125. package/dist/{chunk-Z7KH65RZ.js.map → chunk-WKDCI3NI.js.map} +1 -1
  126. package/dist/chunk-XFKSJRWM.js +14 -0
  127. package/dist/chunk-XFKSJRWM.js.map +1 -0
  128. package/dist/chunk-XHHJTKSP.js +33 -0
  129. package/dist/chunk-XHHJTKSP.js.map +1 -0
  130. package/dist/chunk-XVT5QOAL.js +30 -0
  131. package/dist/chunk-XVT5QOAL.js.map +1 -0
  132. package/dist/{chunk-VE2XZSKP.js → chunk-YA7RWTAE.js} +3 -3
  133. package/dist/{chunk-VE2XZSKP.js.map → chunk-YA7RWTAE.js.map} +1 -1
  134. package/dist/chunk-YAHKWOSP.js +35 -0
  135. package/dist/chunk-YAHKWOSP.js.map +1 -0
  136. package/dist/{chunk-3ZALSJZT.js → chunk-YJBKWUCE.js} +4 -3
  137. package/dist/chunk-YJBKWUCE.js.map +1 -0
  138. package/dist/cnaes.d.ts +4 -2
  139. package/dist/cnaes.js +2 -1
  140. package/dist/cnaes.js.map +1 -1
  141. package/dist/cnh.d.ts +2 -2
  142. package/dist/cnh.js +4 -4
  143. package/dist/cnis.d.ts +50 -0
  144. package/dist/cnis.js +7 -0
  145. package/dist/cnis.js.map +1 -0
  146. package/dist/cnpj-motivos.d.ts +52 -0
  147. package/dist/cnpj-motivos.js +292 -0
  148. package/dist/cnpj-motivos.js.map +1 -0
  149. package/dist/cnpj.d.ts +2 -2
  150. package/dist/cnpj.js +4 -4
  151. package/dist/compare.d.ts +3 -3
  152. package/dist/compare.js +29 -27
  153. package/dist/cpf.d.ts +2 -2
  154. package/dist/cpf.js +4 -4
  155. package/dist/cst.d.ts +73 -0
  156. package/dist/cst.js +482 -0
  157. package/dist/cst.js.map +1 -0
  158. package/dist/data-catalog.d.ts +2 -2
  159. package/dist/data-catalog.js +42 -28
  160. package/dist/data-catalog.js.map +1 -1
  161. package/dist/detect.d.ts +2 -2
  162. package/dist/detect.js +25 -23
  163. package/dist/diff.d.ts +3 -3
  164. package/dist/diff.js +29 -27
  165. package/dist/ean.d.ts +43 -0
  166. package/dist/ean.js +6 -0
  167. package/dist/ean.js.map +1 -0
  168. package/dist/esocial.d.ts +45 -0
  169. package/dist/esocial.js +387 -0
  170. package/dist/esocial.js.map +1 -0
  171. package/dist/feriados.d.ts +1 -1
  172. package/dist/generate.d.ts +1 -1
  173. package/dist/generate.js +38 -36
  174. package/dist/ibge.d.ts +34 -2
  175. package/dist/ibge.js +109 -1
  176. package/dist/ibge.js.map +1 -1
  177. package/dist/ibpt.d.ts +74 -0
  178. package/dist/ibpt.js +166 -0
  179. package/dist/ibpt.js.map +1 -0
  180. package/dist/incoterms.d.ts +1 -1
  181. package/dist/{index-CJ5ACErT.d.ts → index-BmoilwS2.d.ts} +2 -2
  182. package/dist/index.d.ts +11 -9
  183. package/dist/index.js +70 -60
  184. package/dist/index.js.map +1 -1
  185. package/dist/{inscricao-estadual-produtor-rural-BNAyLQPY.d.ts → inscricao-estadual-produtor-rural-Hfq6jN1n.d.ts} +1 -1
  186. package/dist/inscricao-estadual-produtor-rural.d.ts +2 -2
  187. package/dist/inscricao-estadual-produtor-rural.js +3 -3
  188. package/dist/inscricao-estadual.d.ts +3 -3
  189. package/dist/inscricao-estadual.js +4 -4
  190. package/dist/lc116.d.ts +42 -0
  191. package/dist/lc116.js +866 -0
  192. package/dist/lc116.js.map +1 -0
  193. package/dist/mask.d.ts +3 -3
  194. package/dist/mask.js +41 -37
  195. package/dist/moedas.d.ts +1 -1
  196. package/dist/natureza-juridica.d.ts +1 -1
  197. package/dist/nbs.d.ts +1 -1
  198. package/dist/ncm.d.ts +1 -1
  199. package/dist/nfe-chave.d.ts +2 -2
  200. package/dist/nfe-chave.js +3 -3
  201. package/dist/paises-bacen.d.ts +1 -1
  202. package/dist/pis-pasep.d.ts +2 -2
  203. package/dist/pis-pasep.js +5 -3
  204. package/dist/{pix-QsM0lMas.d.ts → pix-BcPQzXRx.d.ts} +1 -1
  205. package/dist/pix.d.ts +2 -2
  206. package/dist/pix.js +8 -8
  207. package/dist/placa.d.ts +2 -2
  208. package/dist/placa.js +4 -4
  209. package/dist/pncp-reference.d.ts +1 -1
  210. package/dist/portos.d.ts +1 -1
  211. package/dist/processo-judicial.d.ts +2 -2
  212. package/dist/processo-judicial.js +3 -3
  213. package/dist/ptax.d.ts +53 -0
  214. package/dist/ptax.js +485 -0
  215. package/dist/ptax.js.map +1 -0
  216. package/dist/renavam.d.ts +2 -2
  217. package/dist/renavam.js +4 -4
  218. package/dist/rg.d.ts +2 -2
  219. package/dist/rg.js +2 -2
  220. package/dist/sanitize.d.ts +2 -2
  221. package/dist/sanitize.js +24 -22
  222. package/dist/simples-nacional.d.ts +67 -0
  223. package/dist/simples-nacional.js +178 -0
  224. package/dist/simples-nacional.js.map +1 -0
  225. package/dist/telefone.d.ts +3 -3
  226. package/dist/telefone.js +3 -3
  227. package/dist/titulo-eleitor.d.ts +2 -2
  228. package/dist/titulo-eleitor.js +4 -4
  229. package/dist/transparencia-snapshots.d.ts +1 -1
  230. package/dist/transparencia-snapshots.js +1 -1
  231. package/dist/tse-municipios.d.ts +1 -1
  232. package/dist/{types-CCKLomYy.d.ts → types-CnePu8im.d.ts} +1 -1
  233. package/dist/{types-CQvCmvGu.d.ts → types-DTtrW1Km.d.ts} +2 -2
  234. package/dist/{validation-result-hfVg2-Mc.d.ts → validation-result-Rb7C0_xj.d.ts} +30 -2
  235. package/package.json +47 -2
  236. package/dist/chunk-3ZALSJZT.js.map +0 -1
  237. package/dist/chunk-4NFEM2SU.js.map +0 -1
  238. package/dist/chunk-4TOP3CZQ.js.map +0 -1
  239. package/dist/chunk-A2JXKXPS.js.map +0 -1
  240. package/dist/chunk-B4LJI7EP.js.map +0 -1
  241. package/dist/chunk-GVQMJ45R.js.map +0 -1
  242. package/dist/chunk-MXWI7LLA.js.map +0 -1
  243. package/dist/chunk-RNT4GCP3.js.map +0 -1
  244. package/dist/chunk-ULNZHOMA.js.map +0 -1
  245. package/dist/chunk-WAYYRZ2L.js +0 -23
  246. package/dist/chunk-WAYYRZ2L.js.map +0 -1
  247. package/dist/chunk-YEVKV2NP.js.map +0 -1
package/dist/ibge.js CHANGED
@@ -38,6 +38,11 @@ var IBGE_GOLDEN_MUNICIPIO_SP = 3550308;
38
38
  var IBGE_GOLDEN_MUNICIPIO_SORRISO = 5107925;
39
39
  var IBGE_GOLDEN_MUNICIPIO_BRASILIA = 5300108;
40
40
  var IBGE_GOLDEN_ESTADO_SP = 35;
41
+ var IBGE_MUNICIPIO_CODIGOS_URL = "https://www.ibge.gov.br/explica/codigos-dos-municipios.php";
42
+ var NFE_MOC_ANEXO_I_URL = "https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=BMPFMBoln3w=";
43
+ var CMUNFG_GOLDEN_BASE_SAO_PAULO = "355030";
44
+ var CMUNFG_GOLDEN_SAO_PAULO = 3550308;
45
+ var CMUNFG_GOLDEN_EXCEPTION_BOM_PRINCIPIO = 2201919;
41
46
 
42
47
  // src/ibge/data/estados.json
43
48
  var estados_default = [
@@ -28166,9 +28171,112 @@ function getMunicipioPorCodigo(codigo) {
28166
28171
  return municipios.find((municipio) => municipio.codigo === codigo);
28167
28172
  }
28168
28173
 
28174
+ // src/ibge/cmunfg-exceptions.ts
28175
+ var CMUNFG_DV_EXCEPTIONS = {
28176
+ "220191": 2201919,
28177
+ "220225": 2202251,
28178
+ "220198": 2201988,
28179
+ "261153": 2611533,
28180
+ "311783": 3117836,
28181
+ "315213": 3152131,
28182
+ "430587": 4305871,
28183
+ "520393": 5203939,
28184
+ "520396": 5203962
28185
+ };
28186
+
28187
+ // src/ibge/cmunfg.ts
28188
+ var CMUNFG_LENGTH = 7;
28189
+ var CMUNFG_BASE_LENGTH = 6;
28190
+ function digitsOnlyFromNumber(codigo) {
28191
+ if (!Number.isFinite(codigo) || !Number.isInteger(codigo) || codigo < 0) {
28192
+ return "";
28193
+ }
28194
+ return String(codigo);
28195
+ }
28196
+ function normalizeInputDigits(codigo) {
28197
+ if (typeof codigo === "number") {
28198
+ return digitsOnlyFromNumber(codigo);
28199
+ }
28200
+ return codigo.trim().replace(/\D/g, "");
28201
+ }
28202
+ function hasInvalidCharacters(code) {
28203
+ return !/^[\d.\-\s]+$/u.test(code.trim());
28204
+ }
28205
+ function sumDigitPair(doubled) {
28206
+ if (doubled > 9) {
28207
+ return Math.floor(doubled / 10) + doubled % 10;
28208
+ }
28209
+ return doubled;
28210
+ }
28211
+ function computeCmunFgCheckDigit(base6) {
28212
+ if (!/^\d{6}$/u.test(base6)) {
28213
+ return void 0;
28214
+ }
28215
+ let sum = 0;
28216
+ for (let index = 0; index < CMUNFG_BASE_LENGTH; index += 1) {
28217
+ const digit = Number.parseInt(base6.charAt(index), 10);
28218
+ const position = index + 1;
28219
+ if (position % 2 === 0) {
28220
+ sum += sumDigitPair(digit * 2);
28221
+ } else {
28222
+ sum += digit;
28223
+ }
28224
+ }
28225
+ return (10 - sum % 10) % 10;
28226
+ }
28227
+ function buildCmunFgFromBase6(base6) {
28228
+ const exception = CMUNFG_DV_EXCEPTIONS[base6];
28229
+ if (exception !== void 0) {
28230
+ return String(exception).padStart(CMUNFG_LENGTH, "0");
28231
+ }
28232
+ const checkDigit = computeCmunFgCheckDigit(base6);
28233
+ return `${base6}${String(checkDigit)}`;
28234
+ }
28235
+ function padCmunFg(digits) {
28236
+ return digits.padStart(CMUNFG_LENGTH, "0");
28237
+ }
28238
+ function toCmunFg(codigo) {
28239
+ const digits = normalizeInputDigits(codigo);
28240
+ if (digits.length === CMUNFG_BASE_LENGTH) {
28241
+ return buildCmunFgFromBase6(digits);
28242
+ }
28243
+ if (digits.length === CMUNFG_LENGTH) {
28244
+ const base6 = digits.slice(0, CMUNFG_BASE_LENGTH);
28245
+ const canonical = buildCmunFgFromBase6(base6);
28246
+ return padCmunFg(digits) === canonical ? canonical : void 0;
28247
+ }
28248
+ return void 0;
28249
+ }
28250
+ function parseCmunFg(code) {
28251
+ const trimmed = code.trim();
28252
+ if (trimmed.length === 0) {
28253
+ return { ok: false, reason: "EMPTY_INPUT" };
28254
+ }
28255
+ if (hasInvalidCharacters(trimmed)) {
28256
+ return { ok: false, reason: "INVALID_CHARS" };
28257
+ }
28258
+ const digits = trimmed.replace(/\D/g, "");
28259
+ if (digits.length !== CMUNFG_LENGTH) {
28260
+ return { ok: false, reason: "INVALID_LENGTH" };
28261
+ }
28262
+ const padded = padCmunFg(digits);
28263
+ const base6 = padded.slice(0, CMUNFG_BASE_LENGTH);
28264
+ const checkDigit = Number.parseInt(padded.charAt(CMUNFG_BASE_LENGTH), 10);
28265
+ const expected = buildCmunFgFromBase6(base6);
28266
+ if (expected !== padded) {
28267
+ return { ok: false, reason: "CHECK_DIGIT_MISMATCH" };
28268
+ }
28269
+ return {
28270
+ ok: true,
28271
+ codigo: Number.parseInt(padded, 10),
28272
+ base6,
28273
+ checkDigit
28274
+ };
28275
+ }
28276
+
28169
28277
  // src/ibge/version.ts
28170
28278
  var IBGE_DATA_VERSION = metadata_default;
28171
28279
 
28172
- export { IBGE_DATA_VERSION, IBGE_ESTADOS_URL, IBGE_GOLDEN_ESTADO_SP, IBGE_GOLDEN_MUNICIPIO_BRASILIA, IBGE_GOLDEN_MUNICIPIO_SORRISO, IBGE_GOLDEN_MUNICIPIO_SP, IBGE_MUNICIPIOS_URL, IBGE_OFFICIAL_DOCS_URL, IBGE_UF_SIGLAS, getEstados, getMunicipioPorCodigo, getMunicipios };
28280
+ export { CMUNFG_GOLDEN_BASE_SAO_PAULO, CMUNFG_GOLDEN_EXCEPTION_BOM_PRINCIPIO, CMUNFG_GOLDEN_SAO_PAULO, IBGE_DATA_VERSION, IBGE_ESTADOS_URL, IBGE_GOLDEN_ESTADO_SP, IBGE_GOLDEN_MUNICIPIO_BRASILIA, IBGE_GOLDEN_MUNICIPIO_SORRISO, IBGE_GOLDEN_MUNICIPIO_SP, IBGE_MUNICIPIOS_URL, IBGE_MUNICIPIO_CODIGOS_URL, IBGE_OFFICIAL_DOCS_URL, IBGE_UF_SIGLAS, NFE_MOC_ANEXO_I_URL, computeCmunFgCheckDigit, getEstados, getMunicipioPorCodigo, getMunicipios, parseCmunFg, toCmunFg };
28173
28281
  //# sourceMappingURL=ibge.js.map
28174
28282
  //# sourceMappingURL=ibge.js.map