@br-validators/core 1.6.2 → 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 (293) hide show
  1. package/README.md +26 -7
  2. package/dist/aeroportos.d.ts +1 -1
  3. package/dist/anp-combustiveis.d.ts +64 -0
  4. package/dist/anp-combustiveis.js +37816 -0
  5. package/dist/anp-combustiveis.js.map +1 -0
  6. package/dist/bancos.d.ts +1 -1
  7. package/dist/batch.d.ts +3 -3
  8. package/dist/batch.js +30 -28
  9. package/dist/boleto.d.ts +2 -2
  10. package/dist/boleto.js +5 -5
  11. package/dist/brcode.d.ts +2 -2
  12. package/dist/brcode.js +9 -9
  13. package/dist/cartao-credito.d.ts +2 -2
  14. package/dist/cartao-credito.js +3 -3
  15. package/dist/cbo.d.ts +1 -1
  16. package/dist/cbo.js +1 -1
  17. package/dist/cep.d.ts +3 -3
  18. package/dist/cep.js +5 -5
  19. package/dist/cest.d.ts +1 -1
  20. package/dist/cest.js +1 -1
  21. package/dist/cfop.d.ts +1 -1
  22. package/dist/cfop.js +1 -1
  23. package/dist/{chunk-FX6JEBWO.js → chunk-26HMLR4Y.js} +3 -3
  24. package/dist/{chunk-FX6JEBWO.js.map → chunk-26HMLR4Y.js.map} +1 -1
  25. package/dist/{chunk-LPGSPM53.js → chunk-2EYJMAE2.js} +3 -3
  26. package/dist/{chunk-LPGSPM53.js.map → chunk-2EYJMAE2.js.map} +1 -1
  27. package/dist/{chunk-L3IKYN3J.js → chunk-2FQOQMS6.js} +7 -7
  28. package/dist/{chunk-L3IKYN3J.js.map → chunk-2FQOQMS6.js.map} +1 -1
  29. package/dist/{chunk-QZNAGWZB.js → chunk-2HD6TA3O.js} +4 -4
  30. package/dist/{chunk-QZNAGWZB.js.map → chunk-2HD6TA3O.js.map} +1 -1
  31. package/dist/chunk-2NSBFMTP.js +125 -0
  32. package/dist/chunk-2NSBFMTP.js.map +1 -0
  33. package/dist/{chunk-VDCITFZG.js → chunk-2ZWBFVYY.js} +3 -3
  34. package/dist/{chunk-VDCITFZG.js.map → chunk-2ZWBFVYY.js.map} +1 -1
  35. package/dist/{chunk-EGDZGSHA.js → chunk-3EVLQVBC.js} +3 -3
  36. package/dist/{chunk-EGDZGSHA.js.map → chunk-3EVLQVBC.js.map} +1 -1
  37. package/dist/{chunk-BA4I3QL5.js → chunk-3ZIXLRXZ.js} +4 -3
  38. package/dist/chunk-3ZIXLRXZ.js.map +1 -0
  39. package/dist/{chunk-BUZTJ3KC.js → chunk-47PZ7WGA.js} +23 -19
  40. package/dist/chunk-47PZ7WGA.js.map +1 -0
  41. package/dist/{chunk-ISMIJ5DH.js → chunk-4T2ZBJFM.js} +3 -3
  42. package/dist/{chunk-ISMIJ5DH.js.map → chunk-4T2ZBJFM.js.map} +1 -1
  43. package/dist/chunk-5AQKUZ6R.js +35 -0
  44. package/dist/chunk-5AQKUZ6R.js.map +1 -0
  45. package/dist/{chunk-F5OHOWZU.js → chunk-5I6WYO5R.js} +3 -3
  46. package/dist/{chunk-F5OHOWZU.js.map → chunk-5I6WYO5R.js.map} +1 -1
  47. package/dist/{chunk-Q5IK2DV4.js → chunk-6PODNJTJ.js} +4 -4
  48. package/dist/{chunk-Q5IK2DV4.js.map → chunk-6PODNJTJ.js.map} +1 -1
  49. package/dist/{chunk-UTSZKJAL.js → chunk-7EMUKPPG.js} +8 -8
  50. package/dist/{chunk-UTSZKJAL.js.map → chunk-7EMUKPPG.js.map} +1 -1
  51. package/dist/{chunk-ULNZHOMA.js → chunk-AG3VELYX.js} +5 -14
  52. package/dist/chunk-AG3VELYX.js.map +1 -0
  53. package/dist/{chunk-BKF6CKUK.js → chunk-BBKNHH72.js} +7 -7
  54. package/dist/{chunk-BKF6CKUK.js.map → chunk-BBKNHH72.js.map} +1 -1
  55. package/dist/{chunk-OZ2VAF7L.js → chunk-BBYLFHZZ.js} +5 -5
  56. package/dist/{chunk-OZ2VAF7L.js.map → chunk-BBYLFHZZ.js.map} +1 -1
  57. package/dist/chunk-BG72VA7O.js +33 -0
  58. package/dist/chunk-BG72VA7O.js.map +1 -0
  59. package/dist/{chunk-XSYO3MVO.js → chunk-BMIYI2TC.js} +7 -7
  60. package/dist/{chunk-XSYO3MVO.js.map → chunk-BMIYI2TC.js.map} +1 -1
  61. package/dist/{chunk-D5POEOY7.js → chunk-BNM3RSDY.js} +24 -19
  62. package/dist/chunk-BNM3RSDY.js.map +1 -0
  63. package/dist/{chunk-6VJAOYIG.js → chunk-BSNVQQTV.js} +25 -20
  64. package/dist/chunk-BSNVQQTV.js.map +1 -0
  65. package/dist/chunk-BSSRVJ2C.js +14 -0
  66. package/dist/chunk-BSSRVJ2C.js.map +1 -0
  67. package/dist/{chunk-WJ6M5YKH.js → chunk-CQQDYYFS.js} +5 -5
  68. package/dist/{chunk-WJ6M5YKH.js.map → chunk-CQQDYYFS.js.map} +1 -1
  69. package/dist/{chunk-2AFEQOCJ.js → chunk-DAX5PVBJ.js} +10 -8
  70. package/dist/chunk-DAX5PVBJ.js.map +1 -0
  71. package/dist/{chunk-HHYQ3GXP.js → chunk-DFPIMLGD.js} +7 -7
  72. package/dist/{chunk-HHYQ3GXP.js.map → chunk-DFPIMLGD.js.map} +1 -1
  73. package/dist/{chunk-YN4M6XL2.js → chunk-DH7N2ZS6.js} +7 -7
  74. package/dist/{chunk-YN4M6XL2.js.map → chunk-DH7N2ZS6.js.map} +1 -1
  75. package/dist/{chunk-MDFK6L72.js → chunk-DMUWIPJR.js} +3 -3
  76. package/dist/{chunk-MDFK6L72.js.map → chunk-DMUWIPJR.js.map} +1 -1
  77. package/dist/{chunk-G557DGIX.js → chunk-E2BVDZKJ.js} +3 -3
  78. package/dist/{chunk-G557DGIX.js.map → chunk-E2BVDZKJ.js.map} +1 -1
  79. package/dist/{chunk-6WHDXMTW.js → chunk-EDJC6HIP.js} +3 -3
  80. package/dist/{chunk-6WHDXMTW.js.map → chunk-EDJC6HIP.js.map} +1 -1
  81. package/dist/{chunk-4NFEM2SU.js → chunk-EMZCVV5Y.js} +9 -3
  82. package/dist/chunk-EMZCVV5Y.js.map +1 -0
  83. package/dist/chunk-FI2JE6AS.js +15 -0
  84. package/dist/chunk-FI2JE6AS.js.map +1 -0
  85. package/dist/{chunk-A5UHVGRB.js → chunk-G4YT6X7N.js} +4 -4
  86. package/dist/{chunk-A5UHVGRB.js.map → chunk-G4YT6X7N.js.map} +1 -1
  87. package/dist/chunk-G65WTGYO.js +31 -0
  88. package/dist/chunk-G65WTGYO.js.map +1 -0
  89. package/dist/{chunk-ZJQ7DRH4.js → chunk-GFYWUMYH.js} +5 -5
  90. package/dist/{chunk-ZJQ7DRH4.js.map → chunk-GFYWUMYH.js.map} +1 -1
  91. package/dist/chunk-HIWHBRFG.js +30 -0
  92. package/dist/chunk-HIWHBRFG.js.map +1 -0
  93. package/dist/{chunk-U5SLA2ZP.js → chunk-HSLV626U.js} +7 -7
  94. package/dist/{chunk-U5SLA2ZP.js.map → chunk-HSLV626U.js.map} +1 -1
  95. package/dist/{chunk-BDHKGP3S.js → chunk-J3QGK6MX.js} +33 -33
  96. package/dist/{chunk-BDHKGP3S.js.map → chunk-J3QGK6MX.js.map} +1 -1
  97. package/dist/{chunk-IHSOANVC.js → chunk-KTP26VPJ.js} +7 -7
  98. package/dist/{chunk-IHSOANVC.js.map → chunk-KTP26VPJ.js.map} +1 -1
  99. package/dist/{chunk-P3EJRH4P.js → chunk-LXB5FIAQ.js} +4 -4
  100. package/dist/{chunk-P3EJRH4P.js.map → chunk-LXB5FIAQ.js.map} +1 -1
  101. package/dist/{chunk-PDGAMTBR.js → chunk-M3RBXFYG.js} +39 -20
  102. package/dist/chunk-M3RBXFYG.js.map +1 -0
  103. package/dist/{chunk-3DLNIUBY.js → chunk-M6VUQK73.js} +5 -5
  104. package/dist/{chunk-3DLNIUBY.js.map → chunk-M6VUQK73.js.map} +1 -1
  105. package/dist/{chunk-5423O35D.js → chunk-MAJPROT7.js} +7 -7
  106. package/dist/{chunk-5423O35D.js.map → chunk-MAJPROT7.js.map} +1 -1
  107. package/dist/{chunk-RSJK46ZE.js → chunk-MLUDCL3P.js} +4 -4
  108. package/dist/{chunk-RSJK46ZE.js.map → chunk-MLUDCL3P.js.map} +1 -1
  109. package/dist/{chunk-4COFDYBY.js → chunk-MZZNNXAB.js} +27 -21
  110. package/dist/chunk-MZZNNXAB.js.map +1 -0
  111. package/dist/{chunk-DVA6QQUF.js → chunk-O3HZW2GM.js} +3 -3
  112. package/dist/{chunk-DVA6QQUF.js.map → chunk-O3HZW2GM.js.map} +1 -1
  113. package/dist/{chunk-CNJ4DIYS.js → chunk-O7RJQUAJ.js} +3 -3
  114. package/dist/{chunk-CNJ4DIYS.js.map → chunk-O7RJQUAJ.js.map} +1 -1
  115. package/dist/{chunk-IJ2DAVSD.js → chunk-OM5ELPM6.js} +3 -3
  116. package/dist/{chunk-IJ2DAVSD.js.map → chunk-OM5ELPM6.js.map} +1 -1
  117. package/dist/chunk-OPFCKUFX.js +31 -0
  118. package/dist/chunk-OPFCKUFX.js.map +1 -0
  119. package/dist/{chunk-2JSOXG2M.js → chunk-P37C3MVF.js} +3 -3
  120. package/dist/{chunk-2JSOXG2M.js.map → chunk-P37C3MVF.js.map} +1 -1
  121. package/dist/chunk-P5BDKYBC.js +3 -0
  122. package/dist/chunk-P5BDKYBC.js.map +1 -0
  123. package/dist/{chunk-LBAWZ4EV.js → chunk-PUTVO6HG.js} +4 -4
  124. package/dist/{chunk-LBAWZ4EV.js.map → chunk-PUTVO6HG.js.map} +1 -1
  125. package/dist/{chunk-26MSDS43.js → chunk-Q2CFVQ2U.js} +4 -4
  126. package/dist/{chunk-26MSDS43.js.map → chunk-Q2CFVQ2U.js.map} +1 -1
  127. package/dist/{chunk-24JBIV3A.js → chunk-QKAXRXU5.js} +4 -4
  128. package/dist/{chunk-24JBIV3A.js.map → chunk-QKAXRXU5.js.map} +1 -1
  129. package/dist/{chunk-OWD47AWI.js → chunk-QZPKTG4A.js} +3 -3
  130. package/dist/{chunk-OWD47AWI.js.map → chunk-QZPKTG4A.js.map} +1 -1
  131. package/dist/{chunk-FLZGOGER.js → chunk-RNI5G42M.js} +4 -4
  132. package/dist/{chunk-FLZGOGER.js.map → chunk-RNI5G42M.js.map} +1 -1
  133. package/dist/{chunk-72EZ2VUO.js → chunk-ROU5ZHN7.js} +4 -4
  134. package/dist/{chunk-72EZ2VUO.js.map → chunk-ROU5ZHN7.js.map} +1 -1
  135. package/dist/{chunk-SH6K4PUU.js → chunk-RP5UWF2G.js} +3 -3
  136. package/dist/{chunk-SH6K4PUU.js.map → chunk-RP5UWF2G.js.map} +1 -1
  137. package/dist/{chunk-AED7KSBM.js → chunk-RRG2HJMY.js} +6 -6
  138. package/dist/{chunk-AED7KSBM.js.map → chunk-RRG2HJMY.js.map} +1 -1
  139. package/dist/{chunk-PR7NSNQG.js → chunk-RY2BSDOR.js} +4 -4
  140. package/dist/{chunk-PR7NSNQG.js.map → chunk-RY2BSDOR.js.map} +1 -1
  141. package/dist/{chunk-QSSKPIG5.js → chunk-SIMI5XYE.js} +3 -3
  142. package/dist/{chunk-QSSKPIG5.js.map → chunk-SIMI5XYE.js.map} +1 -1
  143. package/dist/{chunk-TTDHGQEC.js → chunk-SQO7BO3Y.js} +3 -3
  144. package/dist/{chunk-TTDHGQEC.js.map → chunk-SQO7BO3Y.js.map} +1 -1
  145. package/dist/{chunk-T5NFIPTU.js → chunk-SXPLYH4N.js} +3 -3
  146. package/dist/{chunk-T5NFIPTU.js.map → chunk-SXPLYH4N.js.map} +1 -1
  147. package/dist/{chunk-EEFQYVLF.js → chunk-UANHHEWY.js} +4 -4
  148. package/dist/{chunk-EEFQYVLF.js.map → chunk-UANHHEWY.js.map} +1 -1
  149. package/dist/{chunk-MF47DACR.js → chunk-UGSA7FSW.js} +7 -7
  150. package/dist/{chunk-MF47DACR.js.map → chunk-UGSA7FSW.js.map} +1 -1
  151. package/dist/{chunk-TAOFFAG3.js → chunk-UJXGDUKJ.js} +3 -3
  152. package/dist/{chunk-TAOFFAG3.js.map → chunk-UJXGDUKJ.js.map} +1 -1
  153. package/dist/chunk-VXHJLWMA.js +115 -0
  154. package/dist/chunk-VXHJLWMA.js.map +1 -0
  155. package/dist/chunk-W64OQYC4.js +13 -0
  156. package/dist/chunk-W64OQYC4.js.map +1 -0
  157. package/dist/{chunk-C7WXL7UR.js → chunk-WAVBQYPE.js} +4 -4
  158. package/dist/{chunk-C7WXL7UR.js.map → chunk-WAVBQYPE.js.map} +1 -1
  159. package/dist/{chunk-CYBWPBXJ.js → chunk-WE6RG6OC.js} +4 -4
  160. package/dist/{chunk-CYBWPBXJ.js.map → chunk-WE6RG6OC.js.map} +1 -1
  161. package/dist/{chunk-Z7KH65RZ.js → chunk-WKDCI3NI.js} +3 -3
  162. package/dist/{chunk-Z7KH65RZ.js.map → chunk-WKDCI3NI.js.map} +1 -1
  163. package/dist/chunk-XFKSJRWM.js +14 -0
  164. package/dist/chunk-XFKSJRWM.js.map +1 -0
  165. package/dist/chunk-XHHJTKSP.js +33 -0
  166. package/dist/chunk-XHHJTKSP.js.map +1 -0
  167. package/dist/chunk-XVT5QOAL.js +30 -0
  168. package/dist/chunk-XVT5QOAL.js.map +1 -0
  169. package/dist/{chunk-VE2XZSKP.js → chunk-YA7RWTAE.js} +3 -3
  170. package/dist/{chunk-VE2XZSKP.js.map → chunk-YA7RWTAE.js.map} +1 -1
  171. package/dist/chunk-YAHKWOSP.js +35 -0
  172. package/dist/chunk-YAHKWOSP.js.map +1 -0
  173. package/dist/{chunk-G4OYYXVP.js → chunk-YJBKWUCE.js} +4 -3
  174. package/dist/chunk-YJBKWUCE.js.map +1 -0
  175. package/dist/cnaes.d.ts +4 -2
  176. package/dist/cnaes.js +3 -2
  177. package/dist/cnaes.js.map +1 -1
  178. package/dist/cnh.d.ts +2 -2
  179. package/dist/cnh.js +5 -5
  180. package/dist/cnis.d.ts +50 -0
  181. package/dist/cnis.js +7 -0
  182. package/dist/cnis.js.map +1 -0
  183. package/dist/cnpj-motivos.d.ts +52 -0
  184. package/dist/cnpj-motivos.js +292 -0
  185. package/dist/cnpj-motivos.js.map +1 -0
  186. package/dist/cnpj.d.ts +2 -2
  187. package/dist/cnpj.js +5 -5
  188. package/dist/compare.d.ts +3 -3
  189. package/dist/compare.js +32 -30
  190. package/dist/cpf.d.ts +2 -2
  191. package/dist/cpf.js +5 -5
  192. package/dist/cst.d.ts +73 -0
  193. package/dist/cst.js +482 -0
  194. package/dist/cst.js.map +1 -0
  195. package/dist/data-catalog.d.ts +2 -2
  196. package/dist/data-catalog.js +45 -29
  197. package/dist/data-catalog.js.map +1 -1
  198. package/dist/detect.d.ts +2 -2
  199. package/dist/detect.js +28 -26
  200. package/dist/diff.d.ts +3 -3
  201. package/dist/diff.js +32 -30
  202. package/dist/ean.d.ts +43 -0
  203. package/dist/ean.js +6 -0
  204. package/dist/ean.js.map +1 -0
  205. package/dist/esocial.d.ts +45 -0
  206. package/dist/esocial.js +387 -0
  207. package/dist/esocial.js.map +1 -0
  208. package/dist/feriados.d.ts +1 -1
  209. package/dist/generate.d.ts +1 -1
  210. package/dist/generate.js +41 -39
  211. package/dist/ibge.d.ts +34 -2
  212. package/dist/ibge.js +109 -1
  213. package/dist/ibge.js.map +1 -1
  214. package/dist/ibpt.d.ts +74 -0
  215. package/dist/ibpt.js +166 -0
  216. package/dist/ibpt.js.map +1 -0
  217. package/dist/incoterms.d.ts +1 -1
  218. package/dist/incoterms.js +1 -1
  219. package/dist/{index-CJ5ACErT.d.ts → index-BmoilwS2.d.ts} +2 -2
  220. package/dist/index.d.ts +11 -9
  221. package/dist/index.js +77 -67
  222. package/dist/index.js.map +1 -1
  223. package/dist/{inscricao-estadual-produtor-rural-BNAyLQPY.d.ts → inscricao-estadual-produtor-rural-Hfq6jN1n.d.ts} +1 -1
  224. package/dist/inscricao-estadual-produtor-rural.d.ts +2 -2
  225. package/dist/inscricao-estadual-produtor-rural.js +3 -3
  226. package/dist/inscricao-estadual.d.ts +3 -3
  227. package/dist/inscricao-estadual.js +4 -4
  228. package/dist/lc116.d.ts +42 -0
  229. package/dist/lc116.js +866 -0
  230. package/dist/lc116.js.map +1 -0
  231. package/dist/mask.d.ts +3 -3
  232. package/dist/mask.js +44 -40
  233. package/dist/moedas.d.ts +1 -1
  234. package/dist/moedas.js +1 -1
  235. package/dist/natureza-juridica.d.ts +1 -1
  236. package/dist/natureza-juridica.js +1 -1
  237. package/dist/nbs.d.ts +1 -1
  238. package/dist/nbs.js +1 -1
  239. package/dist/ncm.d.ts +1 -1
  240. package/dist/ncm.js +1 -1
  241. package/dist/nfe-chave.d.ts +2 -2
  242. package/dist/nfe-chave.js +3 -3
  243. package/dist/paises-bacen.d.ts +1 -1
  244. package/dist/paises-bacen.js +1 -1
  245. package/dist/pis-pasep.d.ts +2 -2
  246. package/dist/pis-pasep.js +5 -3
  247. package/dist/{pix-QsM0lMas.d.ts → pix-BcPQzXRx.d.ts} +1 -1
  248. package/dist/pix.d.ts +2 -2
  249. package/dist/pix.js +9 -9
  250. package/dist/placa.d.ts +2 -2
  251. package/dist/placa.js +4 -4
  252. package/dist/pncp-reference.d.ts +1 -1
  253. package/dist/pncp-reference.js +1 -1
  254. package/dist/portos.d.ts +1 -1
  255. package/dist/portos.js +1 -1
  256. package/dist/processo-judicial.d.ts +2 -2
  257. package/dist/processo-judicial.js +3 -3
  258. package/dist/ptax.d.ts +53 -0
  259. package/dist/ptax.js +485 -0
  260. package/dist/ptax.js.map +1 -0
  261. package/dist/renavam.d.ts +2 -2
  262. package/dist/renavam.js +5 -5
  263. package/dist/rg.d.ts +2 -2
  264. package/dist/rg.js +2 -2
  265. package/dist/sanitize.d.ts +2 -2
  266. package/dist/sanitize.js +27 -25
  267. package/dist/simples-nacional.d.ts +67 -0
  268. package/dist/simples-nacional.js +178 -0
  269. package/dist/simples-nacional.js.map +1 -0
  270. package/dist/telefone.d.ts +3 -3
  271. package/dist/telefone.js +4 -4
  272. package/dist/titulo-eleitor.d.ts +2 -2
  273. package/dist/titulo-eleitor.js +5 -5
  274. package/dist/transparencia-snapshots.d.ts +1 -1
  275. package/dist/transparencia-snapshots.js +3 -3
  276. package/dist/transparencia-snapshots.js.map +1 -1
  277. package/dist/tse-municipios.d.ts +1 -1
  278. package/dist/{types-CCKLomYy.d.ts → types-CnePu8im.d.ts} +1 -1
  279. package/dist/{types-CQvCmvGu.d.ts → types-DTtrW1Km.d.ts} +2 -2
  280. package/dist/{validation-result-hfVg2-Mc.d.ts → validation-result-Rb7C0_xj.d.ts} +30 -2
  281. package/package.json +52 -2
  282. package/dist/chunk-2AFEQOCJ.js.map +0 -1
  283. package/dist/chunk-4COFDYBY.js.map +0 -1
  284. package/dist/chunk-4NFEM2SU.js.map +0 -1
  285. package/dist/chunk-6VJAOYIG.js.map +0 -1
  286. package/dist/chunk-BA4I3QL5.js.map +0 -1
  287. package/dist/chunk-BUZTJ3KC.js.map +0 -1
  288. package/dist/chunk-D5POEOY7.js.map +0 -1
  289. package/dist/chunk-G4OYYXVP.js.map +0 -1
  290. package/dist/chunk-PDGAMTBR.js.map +0 -1
  291. package/dist/chunk-ULNZHOMA.js.map +0 -1
  292. package/dist/chunk-WAYYRZ2L.js +0 -23
  293. package/dist/chunk-WAYYRZ2L.js.map +0 -1
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # @br-validators/core
2
2
 
3
3
  > **The** Brazilian document validation library for TypeScript.
4
- > Validate, format, and generate CPF, CNPJ (including the new alphanumeric format), NF-e, BR Code PIX, boleto, IE (all 27 states), and 15+ more — zero dependencies, fully typed, never throws.
4
+ > Validate, format, and generate CPF, CNPJ (including the new alphanumeric format), NF-e, BR Code PIX, boleto, IE (all 27 states), ANP fuel prices, and 15+ more — zero dependencies, fully typed, never throws.
5
5
 
6
6
  [![npm](https://img.shields.io/npm/v/@br-validators/core)](https://www.npmjs.com/package/@br-validators/core)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@br-validators/core?label=downloads)](https://www.npmjs.com/package/@br-validators/core)
7
8
  [![MIT](https://img.shields.io/badge/license-MIT-blue)](https://github.com/AlexandreZanata/br-validators/blob/main/LICENSE)
8
9
  [![Node ≥ 18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)]()
10
+ [![GitHub release](https://img.shields.io/github/v/release/AlexandreZanata/br-validators)](https://github.com/AlexandreZanata/br-validators/releases)
9
11
 
10
12
  ```bash
11
13
  npm install @br-validators/core
@@ -29,7 +31,7 @@ Every Brazilian SaaS eventually reinvents CPF validation — usually wrong.
29
31
  - ✅ **Zero runtime dependencies** — pure TypeScript logic, no HTTP calls
30
32
  - ✅ **Never throws** — every function returns `{ ok: true, value } | { ok: false, message, code }`
31
33
  - ✅ **Tree-shakeable** — subpath imports per document type
32
- - ✅ **Reference data** — IBGE, Bacen banks, DDD lookup, national holidays, CNAE, CFOP, NCM, CBO, natureza jurídica, NBS, CEST, moedas, países Bacen, Incoterms, portos, aeroportos — embedded offline with weekly freshness ([DATA-FRESHNESS.md](../../docs/DATA-FRESHNESS.md))
34
+ - ✅ **Reference data** — IBGE, Bacen banks, DDD lookup, national holidays, CNAE, CFOP, NCM, CBO, natureza jurídica, NBS, CEST, eSocial categorias, moedas, PTAX cotações, países Bacen, Incoterms, portos, aeroportos, **ANP fuel prices (LPC)** — embedded offline with daily freshness ([DATA-FRESHNESS.md](../../docs/DATA-FRESHNESS.md); ANP weekly)
33
35
  - ✅ **ESM only**, Node ≥ 18, works in browser, Bun, Deno
34
36
 
35
37
  ---
@@ -272,16 +274,21 @@ Embedded JSON from official `.gov.br` sources — **no runtime HTTP**. Each modu
272
274
  | Bacen STR banks (COMPE / ISPB) | `@br-validators/core/bancos` | `bancos lookup` · `list` | `/data/bancos` | `getBancos`, `getBancoPorCodigo`, `getBancoPorIspb` | [Bacen Participantes STR](https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv) |
273
275
  | ANAC public aerodromos | `@br-validators/core/aeroportos` | `aeroportos lookup` | `/data/logistics` | `getAeroportos`, `getAeroportoPorIata`, `getAeroportoPorIcao`, `getAeroportosPorMunicipio` | [ANAC aeródromos públicos CSV](https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv) |
274
276
  | ANTAQ port installations | `@br-validators/core/portos` | `portos lookup` | `/data/logistics` | `getPortoPorCodigo`, `searchPortos`, `getPortosPorMunicipio` | [ANTAQ instalações portuárias zip](https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip) |
277
+ | ANP fuel prices (LPC) | `@br-validators/core/anp-combustiveis` | — | `/data/logistics` | `getAnpPrecosMedios`, `getAnpPrecosMediosPorIbge`, `getAnpSemanaAtual` | [ANP levantamento LPC](https://www.gov.br/anp/pt-br/assuntos/precos-e-defesa-da-concorrencia/precos/levantamento-de-precos-de-combustiveis-ultimas-semanas-pesquisadas) |
275
278
  | TSE ↔ IBGE municipality codes | `@br-validators/core/tse-municipios` | `tse-municipios lookup` | `/data/ibge` (cross-ref) | `getMapeamentoTseIbge`, `getMunicipioIbgePorCodigoTse`, `getCodigosTsePorMunicipio` | [TSE municipio_tse_ibge.zip](https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip) |
276
279
  | DDD geographic lookup | `@br-validators/core/telefone` | `ddd lookup` | — | `getDddInfo` (extends telefone validator) | [Anatel DDD panel](https://informacoes.anatel.gov.br/paineis/areas-tarifarias/codigos-nacionais) |
277
280
  | National holidays | `@br-validators/core/feriados` | `feriados list --year` | `/data/calendar` | `isFeriadoNacional`, `getFeriadosNacionais`, `getProximoDiaUtil` | [Lei 662/1949](https://www.planalto.gov.br/ccivil_03/leis/l0662.htm) + annual Portaria MGI |
278
281
  | CNAE 2.3 subclasses | `@br-validators/core/cnaes` | `cnae lookup` · `search` | `/data/fiscal` | `getCnaePorCodigo`, `searchCnaes` | [IBGE CNAE API v2](https://servicodados.ibge.gov.br/api/docs/cnae) |
279
282
  | CFOP fiscal operations | `@br-validators/core/cfop` | `cfop lookup` · `search` | `/data/fiscal` | `getCfopPorCodigo`, `searchCfop` | [CONFAZ CFOP SINIEF](https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente) |
283
+ | CST (ICMS, IPI, PIS, COFINS) | `@br-validators/core/cst` | — | `/data/fiscal` | `getCstIcmsPorCodigo`, `getCstIpiPorCodigo`, `searchCstIcms` | [RFB SPED CST tables](http://www.sped.fazenda.gov.br/spedtabelas/AppConsulta/publico/aspx/ConsultaTabelasExternas.aspx?CodSistema=SpedFiscal) |
284
+ | LC 116 ISS services | `@br-validators/core/lc116` | — | `/data/fiscal` | `getLc116PorCodigo`, `searchLc116` | [LC 116/2003 Planalto](https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp116.htm) |
285
+ | eSocial worker categories | `@br-validators/core/esocial` | — | `/data/fiscal` | `getEsocialCategoriaPorCodigo`, `searchEsocialCategorias` | [eSocial S-1.3 Tabelas](https://www.gov.br/esocial/pt-br/documentacao-tecnica/leiautes-esocial-versao-s-1-3-nt-06-2026/tabelas.html) |
280
286
  | NCM Mercosur nomenclature | `@br-validators/core/ncm` | `ncm lookup` · `search` | `/data/fiscal` | `getNcmPorCodigo`, `searchNcm` | [Siscomex NCM JSON](https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json) |
281
287
  | Natureza jurídica (CNPJ) | `@br-validators/core/natureza-juridica` | `natureza-juridica lookup` | `/data/fiscal` | `getNaturezaJuridicaPorCodigo` | [RFB Naturezas.zip](https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj/) |
282
288
  | NBS (NFSe Nacional) | `@br-validators/core/nbs` | `nbs lookup` | `/data/fiscal` | `getNbsPorCodigo`, `searchNbs` | [NFSe Anexo B NBS2 xlsx](https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx) |
283
289
  | CEST (substituição tributária) | `@br-validators/core/cest` | `cest lookup` | `/data/fiscal` | `getCestPorCodigo`, `getCestPorNcm`, `searchCest` | [CONFAZ ICMS 142/2018](https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18) |
284
290
  | ISO 4217 + Bacen PTAX moedas | `@br-validators/core/moedas` | `moedas lookup` | `/data/trade` | `getMoedaPorCodigo`, `searchMoedas` | [Bacen PTAX Moedas API](https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas) |
291
+ | Bacen PTAX Fechamento | `@br-validators/core/ptax` | — | `/data/trade` | `getPtaxCotacao`, `getPtaxUltimoDiaUtil` | [Bacen Olinda PTAX API](https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/swagger-ui3) |
285
292
  | NF-e Bacen country codes | `@br-validators/core/paises-bacen` | `paises-bacen lookup` | `/data/trade` | `getPaisPorCodigoBacen`, `getPaisesBacen` | [NF-e country table](http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=) |
286
293
  | ICC Incoterms 2020 | `@br-validators/core/incoterms` | `incoterms lookup` | `/data/trade` | `getIncotermPorCodigo`, `getIncoterms` | [ICC Incoterms rules](https://iccwbo.org/resources-for-business/incoterms-rules/) |
287
294
  | CBO 2002 occupations | `@br-validators/core/cbo` | `cbo lookup` · `search` | `/data/fiscal` | `getCboPorCodigo`, `searchCbo` | [MTE CBO downloads](https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads) |
@@ -295,6 +302,8 @@ import { getDddInfo } from '@br-validators/core/telefone';
295
302
  import { isFeriadoNacional } from '@br-validators/core/feriados';
296
303
  import { getCnaePorCodigo } from '@br-validators/core/cnaes';
297
304
  import { getCfopPorCodigo } from '@br-validators/core/cfop';
305
+ import { getCstIcmsPorCodigo } from '@br-validators/core/cst';
306
+ import { getLc116PorCodigo } from '@br-validators/core/lc116';
298
307
  import { getNcmPorCodigo } from '@br-validators/core/ncm';
299
308
  import { getCboPorCodigo } from '@br-validators/core/cbo';
300
309
  import { getNaturezaJuridicaPorCodigo } from '@br-validators/core/natureza-juridica';
@@ -305,6 +314,7 @@ import { getPaisPorCodigoBacen } from '@br-validators/core/paises-bacen';
305
314
  import { getIncotermPorCodigo } from '@br-validators/core/incoterms';
306
315
  import { getAeroportoPorIata } from '@br-validators/core/aeroportos';
307
316
  import { getPortoPorCodigo } from '@br-validators/core/portos';
317
+ import { getAnpPrecosMedios } from '@br-validators/core/anp-combustiveis';
308
318
  import { getDataCatalog } from '@br-validators/core/data-catalog';
309
319
 
310
320
  getMunicipioPorCodigo(3550308)?.nome; // São Paulo
@@ -323,10 +333,17 @@ getPaisPorCodigoBacen('1058')?.nome; // Brasil (NF-e cPais)
323
333
  getIncotermPorCodigo('FOB')?.nome; // Free On Board
324
334
  getAeroportoPorIata('GRU')?.nome; // Guarulhos — SP
325
335
  getPortoPorCodigo('BRSSZ')?.nome; // Santos organized port
336
+ getAnpPrecosMedios({ uf: 'SP', municipio: 'São Paulo', produto: 'GASOLINE_REGULAR' })?.precoMedio;
326
337
  getDataCatalog().length; // registered datasets
327
338
  ```
328
339
 
329
- Freshness table (auto-updated weekly): [docs/DATA-FRESHNESS.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/DATA-FRESHNESS.md) · Per-type official URLs: [docs/OFFICIAL-SOURCES.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/OFFICIAL-SOURCES.md)
340
+ Freshness table (auto-updated daily; ANP weekly): [docs/DATA-FRESHNESS.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/DATA-FRESHNESS.md) · Per-type official URLs: [docs/OFFICIAL-SOURCES.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/OFFICIAL-SOURCES.md)
341
+
342
+ ---
343
+
344
+ ## Current release
345
+
346
+ **v1.7.0** — all six `@br-validators/*` packages ship the same semver. New in core: `@br-validators/core/anp-combustiveis` (`getAnpPrecosMedios`, `getAnpPrecosMediosPorIbge`, `getAnpSemanaAtual`). [CHANGELOG](https://github.com/AlexandreZanata/br-validators/blob/main/CHANGELOG.md#170---2026-06-24)
330
347
 
331
348
  ---
332
349
 
@@ -344,11 +361,13 @@ import { parseNfeChave } from '@br-validators/core/nfe-chave';
344
361
 
345
362
  ## Related packages
346
363
 
347
- | Package | Status |
364
+ | Package | npm |
348
365
  |---|---|
349
- | [`@br-validators/cli`](https://www.npmjs.com/package/@br-validators/cli) | Published |
350
- | [`@br-validators/zod`](https://www.npmjs.com/package/@br-validators/zod) | Published — Zod 3/4 schemas |
351
- | [`@br-validators/react-hook-form`](https://www.npmjs.com/package/@br-validators/react-hook-form) | Published RHF resolvers |
366
+ | [`@br-validators/cli`](https://www.npmjs.com/package/@br-validators/cli) | Terminal — validate, format, detect, generate |
367
+ | [`@br-validators/zod`](https://www.npmjs.com/package/@br-validators/zod) | Zod 3/4 schemas |
368
+ | [`@br-validators/react-hook-form`](https://www.npmjs.com/package/@br-validators/react-hook-form) | RHF rules + resolvers |
369
+ | [`@br-validators/express`](https://www.npmjs.com/package/@br-validators/express) | Express + Fastify middleware |
370
+ | [`@br-validators/vue`](https://www.npmjs.com/package/@br-validators/vue) | Vue 3 composables |
352
371
 
353
372
  ---
354
373
 
@@ -1,4 +1,4 @@
1
- import { b as DatasetChanges, c as DatasetVerification } from './types-CCKLomYy.js';
1
+ import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
2
2
 
3
3
  interface Aeroporto {
4
4
  iata: string | null;
@@ -0,0 +1,64 @@
1
+ import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
2
+
3
+ declare const ANP_COMBUSTIVEL_VALUES: readonly ["ETHANOL", "GASOLINE_REGULAR", "GASOLINE_PREMIUM", "DIESEL_S500", "DIESEL_S10", "CNG", "LPG_P13"];
4
+ type AnpCombustivel = (typeof ANP_COMBUSTIVEL_VALUES)[number];
5
+ interface AnpSemanaPesquisa {
6
+ inicio: string;
7
+ fim: string;
8
+ }
9
+ interface AnpPrecoMedio {
10
+ semanaInicio: string;
11
+ semanaFim: string;
12
+ uf: string;
13
+ estadoNome: string;
14
+ municipioNome: string;
15
+ municipioIbge: number | null;
16
+ produto: AnpCombustivel;
17
+ postosPesquisados: number;
18
+ unidade: string;
19
+ precoMedio: number;
20
+ precoMinimo: number;
21
+ precoMaximo: number;
22
+ desvioPadrao: number | null;
23
+ coeficienteVariacao: number | null;
24
+ }
25
+ interface AnpPrecosMediosQuery {
26
+ uf: string;
27
+ municipio: string;
28
+ produto: AnpCombustivel;
29
+ semanaInicio?: string;
30
+ }
31
+ interface AnpCombustiveisDataVersion {
32
+ id: 'anp-combustiveis';
33
+ nome: string;
34
+ fonte: string;
35
+ endpoints: string[];
36
+ capturadoEm: string;
37
+ atualizadoEm: string;
38
+ contagens: {
39
+ semanas: number;
40
+ precosMedios: number;
41
+ municipios: number;
42
+ produtos: number;
43
+ ufs: number;
44
+ };
45
+ alteracoes: DatasetChanges;
46
+ verificacao: DatasetVerification;
47
+ documentacao: string;
48
+ }
49
+
50
+ /**
51
+ * ANP weekly fuel price survey — offline embedded municipal averages.
52
+ * @see docs/OFFICIAL-SOURCES.md#anp-combustiveis
53
+ */
54
+
55
+ declare function getAnpSemanasPesquisa(): readonly AnpSemanaPesquisa[];
56
+ declare function getAnpSemanaAtual(): AnpSemanaPesquisa | undefined;
57
+ declare function getAnpPrecosMedios(query: AnpPrecosMediosQuery): AnpPrecoMedio | undefined;
58
+ declare function getAnpPrecosMediosPorIbge(codigo: number, produto: AnpCombustivel, semanaInicio?: string): AnpPrecoMedio | undefined;
59
+
60
+ declare const ANP_LPC_LISTING_URL = "https://www.gov.br/anp/pt-br/assuntos/precos-e-defesa-da-concorrencia/precos/levantamento-de-precos-de-combustiveis-ultimas-semanas-pesquisadas";
61
+
62
+ declare const ANP_COMBUSTIVEIS_DATA_VERSION: AnpCombustiveisDataVersion;
63
+
64
+ export { ANP_COMBUSTIVEIS_DATA_VERSION, ANP_COMBUSTIVEL_VALUES, ANP_LPC_LISTING_URL, type AnpCombustiveisDataVersion, type AnpCombustivel, type AnpPrecoMedio, type AnpPrecosMediosQuery, type AnpSemanaPesquisa, getAnpPrecosMedios, getAnpPrecosMediosPorIbge, getAnpSemanaAtual, getAnpSemanasPesquisa };