@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/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
  ---
@@ -278,11 +280,15 @@ Embedded JSON from official `.gov.br` sources — **no runtime HTTP**. Each modu
278
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 |
279
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) |
280
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) |
281
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) |
282
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/) |
283
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) |
284
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) |
285
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) |
286
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=) |
287
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/) |
288
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) |
@@ -296,6 +302,8 @@ import { getDddInfo } from '@br-validators/core/telefone';
296
302
  import { isFeriadoNacional } from '@br-validators/core/feriados';
297
303
  import { getCnaePorCodigo } from '@br-validators/core/cnaes';
298
304
  import { getCfopPorCodigo } from '@br-validators/core/cfop';
305
+ import { getCstIcmsPorCodigo } from '@br-validators/core/cst';
306
+ import { getLc116PorCodigo } from '@br-validators/core/lc116';
299
307
  import { getNcmPorCodigo } from '@br-validators/core/ncm';
300
308
  import { getCboPorCodigo } from '@br-validators/core/cbo';
301
309
  import { getNaturezaJuridicaPorCodigo } from '@br-validators/core/natureza-juridica';
@@ -306,6 +314,7 @@ import { getPaisPorCodigoBacen } from '@br-validators/core/paises-bacen';
306
314
  import { getIncotermPorCodigo } from '@br-validators/core/incoterms';
307
315
  import { getAeroportoPorIata } from '@br-validators/core/aeroportos';
308
316
  import { getPortoPorCodigo } from '@br-validators/core/portos';
317
+ import { getAnpPrecosMedios } from '@br-validators/core/anp-combustiveis';
309
318
  import { getDataCatalog } from '@br-validators/core/data-catalog';
310
319
 
311
320
  getMunicipioPorCodigo(3550308)?.nome; // São Paulo
@@ -324,10 +333,17 @@ getPaisPorCodigoBacen('1058')?.nome; // Brasil (NF-e cPais)
324
333
  getIncotermPorCodigo('FOB')?.nome; // Free On Board
325
334
  getAeroportoPorIata('GRU')?.nome; // Guarulhos — SP
326
335
  getPortoPorCodigo('BRSSZ')?.nome; // Santos organized port
336
+ getAnpPrecosMedios({ uf: 'SP', municipio: 'São Paulo', produto: 'GASOLINE_REGULAR' })?.precoMedio;
327
337
  getDataCatalog().length; // registered datasets
328
338
  ```
329
339
 
330
- 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)
331
347
 
332
348
  ---
333
349
 
@@ -345,11 +361,13 @@ import { parseNfeChave } from '@br-validators/core/nfe-chave';
345
361
 
346
362
  ## Related packages
347
363
 
348
- | Package | Status |
364
+ | Package | npm |
349
365
  |---|---|
350
- | [`@br-validators/cli`](https://www.npmjs.com/package/@br-validators/cli) | Published |
351
- | [`@br-validators/zod`](https://www.npmjs.com/package/@br-validators/zod) | Published — Zod 3/4 schemas |
352
- | [`@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 |
353
371
 
354
372
  ---
355
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;
@@ -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
  declare const ANP_COMBUSTIVEL_VALUES: readonly ["ETHANOL", "GASOLINE_REGULAR", "GASOLINE_PREMIUM", "DIESEL_S500", "DIESEL_S10", "CNG", "LPG_P13"];
4
4
  type AnpCombustivel = (typeof ANP_COMBUSTIVEL_VALUES)[number];
package/dist/bancos.d.ts CHANGED
@@ -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 Banco {
4
4
  codigo: string;
package/dist/batch.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { P as PlatformDocumentType, a as PlatformOptions } from './types-CQvCmvGu.js';
2
- import { V as ValidationErrorCode } from './validation-result-hfVg2-Mc.js';
3
- import './index-CJ5ACErT.js';
1
+ import { P as PlatformDocumentType, a as PlatformOptions } from './types-DTtrW1Km.js';
2
+ import { V as ValidationErrorCode } from './validation-result-Rb7C0_xj.js';
3
+ import './index-BmoilwS2.js';
4
4
 
5
5
  type BatchValidEntry = {
6
6
  index: number;
package/dist/batch.js CHANGED
@@ -1,33 +1,35 @@
1
- export { batch } from './chunk-RNT4GCP3.js';
2
- import './chunk-G557DGIX.js';
3
- import './chunk-VE2XZSKP.js';
4
- import './chunk-GAU2MGUQ.js';
5
- import './chunk-NWXFSSGF.js';
6
- import './chunk-PN4XUBLV.js';
7
- import './chunk-ULNZHOMA.js';
8
- import './chunk-2JSOXG2M.js';
9
- import './chunk-P3EJRH4P.js';
10
- import './chunk-TAOFFAG3.js';
11
- import './chunk-IJ2DAVSD.js';
1
+ export { batch } from './chunk-BSNVQQTV.js';
2
+ import './chunk-E2BVDZKJ.js';
3
+ import './chunk-QKAXRXU5.js';
4
+ import './chunk-YA7RWTAE.js';
5
+ import './chunk-2HD6TA3O.js';
6
+ import './chunk-Q2CFVQ2U.js';
7
+ import './chunk-AG3VELYX.js';
8
+ import './chunk-P37C3MVF.js';
9
+ import './chunk-OM5ELPM6.js';
10
+ import './chunk-LXB5FIAQ.js';
11
+ import './chunk-UJXGDUKJ.js';
12
12
  import './chunk-RRG2HJMY.js';
13
- import './chunk-F7G4ISQB.js';
13
+ import './chunk-2NSBFMTP.js';
14
+ import './chunk-UANHHEWY.js';
14
15
  import './chunk-RY2BSDOR.js';
15
- import './chunk-EOXFX7MM.js';
16
+ import './chunk-G4YT6X7N.js';
16
17
  import './chunk-YYHS5WQN.js';
17
18
  import './chunk-4SNBZFS5.js';
18
- import './chunk-3DLNIUBY.js';
19
- import './chunk-CYBWPBXJ.js';
20
- import './chunk-QSSKPIG5.js';
21
- import './chunk-37IHHQKK.js';
22
- import './chunk-ZZN5JNVJ.js';
23
- import './chunk-3OTYX7QX.js';
24
- import './chunk-2M4RVHRO.js';
25
- import './chunk-EB3G4IG6.js';
26
- import './chunk-5S3IURHL.js';
27
- import './chunk-HCH6G5XY.js';
19
+ import './chunk-W64OQYC4.js';
20
+ import './chunk-M6VUQK73.js';
21
+ import './chunk-WE6RG6OC.js';
22
+ import './chunk-SIMI5XYE.js';
23
+ import './chunk-ROU5ZHN7.js';
24
+ import './chunk-7EMUKPPG.js';
25
+ import './chunk-O7RJQUAJ.js';
26
+ import './chunk-PUTVO6HG.js';
28
27
  import './chunk-UCJPSJN5.js';
28
+ import './chunk-4T2ZBJFM.js';
29
+ import './chunk-MLUDCL3P.js';
30
+ import './chunk-EB3G4IG6.js';
29
31
  import './chunk-OTZHMJYE.js';
30
- import './chunk-VDCITFZG.js';
31
- import './chunk-4NFEM2SU.js';
32
+ import './chunk-2ZWBFVYY.js';
33
+ import './chunk-EMZCVV5Y.js';
32
34
  //# sourceMappingURL=batch.js.map
33
35
  //# sourceMappingURL=batch.js.map
package/dist/boleto.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { G as CobrancaBoletoValidationResult, V as ValidationErrorCode, B as BoletoInputKind, b as BoletoValidationResult, F as FormatResult } from './validation-result-hfVg2-Mc.js';
2
- export { a as BoletoSituacao, i as CodigoBarras, D as DocumentFormat, L as LinhaDigitavel } from './validation-result-hfVg2-Mc.js';
1
+ import { Q as CobrancaBoletoValidationResult, V as ValidationErrorCode, B as BoletoInputKind, b as BoletoValidationResult, F as FormatResult } from './validation-result-Rb7C0_xj.js';
2
+ export { a as BoletoSituacao, i as CodigoBarras, D as DocumentFormat, L as LinhaDigitavel } from './validation-result-Rb7C0_xj.js';
3
3
 
4
4
  /**
5
5
  * FEBRABAN bank boleto (cobrança) — linha digitável + código de barras.
package/dist/boleto.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import './chunk-KBNWI6GE.js';
2
- export { formatBoleto } from './chunk-LPGSPM53.js';
3
- export { convertCodigoBarrasToLinhaDigitavel, convertLinhaToCodigoBarras, isValidBoleto, validateBoleto, validateFatorVencimento, validateValorDocumento } from './chunk-3DLNIUBY.js';
4
- export { buildArrecadacaoGoldenPair, computeArrecadacaoModulo11Dv, getArrecadacaoDvCalculator, isArrecadacaoValueType, isValidArrecadacao, linhaArrecadacaoToCodigoBarras, stripArrecadacao, stripCodigoBarras, validateArrecadacao, validateArrecadacaoCodigoBarras, validateArrecadacaoLinha, validateCodigoBarras } from './chunk-CYBWPBXJ.js';
5
- export { BOLETO_ARRECADACAO_CODIGO_BARRAS_LENGTH, BOLETO_ARRECADACAO_LINHA_LENGTH, BOLETO_ARRECADACAO_OFFICIAL_SOURCE_URL, BOLETO_ARRECADACAO_PRODUCT_ID, BOLETO_CODE_ISPB_HOLDER, BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_CURRENCY_ISPB, BOLETO_CURRENCY_REAL, BOLETO_GOLDEN_CODIGO_BARRAS, BOLETO_GOLDEN_CODIGO_BARRAS_BB, BOLETO_GOLDEN_CODIGO_BARRAS_SITUACAO2, BOLETO_GOLDEN_LINHA_BB_STRIPPED, BOLETO_GOLDEN_LINHA_MASKED, BOLETO_GOLDEN_LINHA_SITUACAO2_STRIPPED, BOLETO_GOLDEN_LINHA_STRIPPED, BOLETO_LAYOUTS_PORTAL_URL, BOLETO_LINHA_LENGTH, BOLETO_OFFICIAL_SOURCE_URL, applyLinhaDigitavelMask, computeModulo10FieldDv as computeArrecadacaoModulo10Dv, computeModulo10FieldDv, computeModulo11BarcodeDv, convertCodigoBarrasToLinhaDigits, convertLinhaToCodigoBarrasDigits, detectBoletoInputKind, detectBoletoSituacao, formatLinhaDigitavel, stripLinhaDigitavel, validateLinhaDigitavel } from './chunk-QSSKPIG5.js';
6
- import './chunk-4NFEM2SU.js';
2
+ export { formatBoleto } from './chunk-2EYJMAE2.js';
3
+ export { convertCodigoBarrasToLinhaDigitavel, convertLinhaToCodigoBarras, isValidBoleto, validateBoleto, validateFatorVencimento, validateValorDocumento } from './chunk-M6VUQK73.js';
4
+ export { buildArrecadacaoGoldenPair, computeArrecadacaoModulo11Dv, getArrecadacaoDvCalculator, isArrecadacaoValueType, isValidArrecadacao, linhaArrecadacaoToCodigoBarras, stripArrecadacao, stripCodigoBarras, validateArrecadacao, validateArrecadacaoCodigoBarras, validateArrecadacaoLinha, validateCodigoBarras } from './chunk-WE6RG6OC.js';
5
+ export { BOLETO_ARRECADACAO_CODIGO_BARRAS_LENGTH, BOLETO_ARRECADACAO_LINHA_LENGTH, BOLETO_ARRECADACAO_OFFICIAL_SOURCE_URL, BOLETO_ARRECADACAO_PRODUCT_ID, BOLETO_CODE_ISPB_HOLDER, BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_CURRENCY_ISPB, BOLETO_CURRENCY_REAL, BOLETO_GOLDEN_CODIGO_BARRAS, BOLETO_GOLDEN_CODIGO_BARRAS_BB, BOLETO_GOLDEN_CODIGO_BARRAS_SITUACAO2, BOLETO_GOLDEN_LINHA_BB_STRIPPED, BOLETO_GOLDEN_LINHA_MASKED, BOLETO_GOLDEN_LINHA_SITUACAO2_STRIPPED, BOLETO_GOLDEN_LINHA_STRIPPED, BOLETO_LAYOUTS_PORTAL_URL, BOLETO_LINHA_LENGTH, BOLETO_OFFICIAL_SOURCE_URL, applyLinhaDigitavelMask, computeModulo10FieldDv as computeArrecadacaoModulo10Dv, computeModulo10FieldDv, computeModulo11BarcodeDv, convertCodigoBarrasToLinhaDigits, convertLinhaToCodigoBarrasDigits, detectBoletoInputKind, detectBoletoSituacao, formatLinhaDigitavel, stripLinhaDigitavel, validateLinhaDigitavel } from './chunk-SIMI5XYE.js';
6
+ import './chunk-EMZCVV5Y.js';
7
7
  //# sourceMappingURL=boleto.js.map
8
8
  //# sourceMappingURL=boleto.js.map
package/dist/brcode.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { p as PixKey, q as PixKeyType, V as ValidationErrorCode, d as BrCodeValidationResult } from './validation-result-hfVg2-Mc.js';
2
- export { c as BrCodePayload } from './validation-result-hfVg2-Mc.js';
1
+ import { u as PixKey, v as PixKeyType, V as ValidationErrorCode, d as BrCodeValidationResult } from './validation-result-Rb7C0_xj.js';
2
+ export { c as BrCodePayload } from './validation-result-Rb7C0_xj.js';
3
3
 
4
4
  /** Bacen Manual BR Code — EMV-QRCPS-MPM TLV + CRC16-CCITT */
5
5
  declare const BRCODE_OFFICIAL_SOURCE_URL = "https://www.bcb.gov.br/content/estabilidadefinanceira/spb_docs/ManualBRCode.pdf";
package/dist/brcode.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import './chunk-RYGAK7PB.js';
2
- export { BRCODE_GOLDEN_COMPOSITE, BRCODE_GOLDEN_DYNAMIC_URL, BRCODE_GOLDEN_STATIC_CPF, BRCODE_GOLDEN_STATIC_EMAIL, BRCODE_GOLDEN_STATIC_EVP, BRCODE_OFFICIAL_SOURCE_URL, BRCODE_PIX_INITIATION_MANUAL_URL, buildStaticPixBrCode, computeCrc16Ccitt, findPixMerchantAccount, findTlvField, isValidBrCode, normalizeBrCodePayload, parseBrCode, parseBrCodePayload, parseTlvSequence, validateBrCode, verifyBrCodeCrc } from './chunk-37IHHQKK.js';
3
- import './chunk-ZZN5JNVJ.js';
4
- import './chunk-3OTYX7QX.js';
5
- import './chunk-2M4RVHRO.js';
6
- import './chunk-EB3G4IG6.js';
7
- import './chunk-5S3IURHL.js';
8
- import './chunk-HCH6G5XY.js';
2
+ export { BRCODE_GOLDEN_COMPOSITE, BRCODE_GOLDEN_DYNAMIC_URL, BRCODE_GOLDEN_STATIC_CPF, BRCODE_GOLDEN_STATIC_EMAIL, BRCODE_GOLDEN_STATIC_EVP, BRCODE_OFFICIAL_SOURCE_URL, BRCODE_PIX_INITIATION_MANUAL_URL, buildStaticPixBrCode, computeCrc16Ccitt, findPixMerchantAccount, findTlvField, isValidBrCode, normalizeBrCodePayload, parseBrCode, parseBrCodePayload, parseTlvSequence, validateBrCode, verifyBrCodeCrc } from './chunk-ROU5ZHN7.js';
3
+ import './chunk-7EMUKPPG.js';
4
+ import './chunk-O7RJQUAJ.js';
5
+ import './chunk-PUTVO6HG.js';
9
6
  import './chunk-UCJPSJN5.js';
7
+ import './chunk-4T2ZBJFM.js';
8
+ import './chunk-MLUDCL3P.js';
9
+ import './chunk-EB3G4IG6.js';
10
10
  import './chunk-OTZHMJYE.js';
11
- import './chunk-4NFEM2SU.js';
11
+ import './chunk-EMZCVV5Y.js';
12
12
  //# sourceMappingURL=brcode.js.map
13
13
  //# sourceMappingURL=brcode.js.map
@@ -1,5 +1,5 @@
1
- import { e as CartaoCreditoValidationResult, F as FormatResult } from './validation-result-hfVg2-Mc.js';
2
- export { C as CartaoCredito, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-hfVg2-Mc.js';
1
+ import { e as CartaoCreditoValidationResult, F as FormatResult } from './validation-result-Rb7C0_xj.js';
2
+ export { C as CartaoCredito, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-Rb7C0_xj.js';
3
3
  import { j as CardBrand } from './constants-BqegsAc2.js';
4
4
  export { C as CARTAO_GOLDEN_AMEX, a as CARTAO_GOLDEN_LUHN_WALKTHROUGH, b as CARTAO_GOLDEN_MASTERCARD, c as CARTAO_GOLDEN_MIN_LENGTH, d as CARTAO_GOLDEN_VISA, e as CARTAO_GOLDEN_VISA_MASKED, f as CARTAO_IEC_SOURCE_URL, g as CARTAO_OFFICIAL_SOURCE_URL, h as CARTAO_PAN_MAX_LENGTH, i as CARTAO_PAN_MIN_LENGTH } from './constants-BqegsAc2.js';
5
5
 
@@ -1,6 +1,6 @@
1
1
  import './chunk-CQPM43VV.js';
2
- export { formatCartaoCredito } from './chunk-OWD47AWI.js';
3
- export { CARTAO_GOLDEN_AMEX, CARTAO_GOLDEN_LUHN_WALKTHROUGH, CARTAO_GOLDEN_MASTERCARD, CARTAO_GOLDEN_MIN_LENGTH, CARTAO_GOLDEN_VISA, CARTAO_GOLDEN_VISA_MASKED, CARTAO_IEC_SOURCE_URL, CARTAO_OFFICIAL_SOURCE_URL, CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH, computeLuhnSum, detectCardBrand, isValidCartaoCredito, isValidLuhn, passesLuhn, stripCartaoCredito, validateCartaoCredito } from './chunk-VDCITFZG.js';
4
- import './chunk-4NFEM2SU.js';
2
+ export { formatCartaoCredito } from './chunk-QZPKTG4A.js';
3
+ export { CARTAO_GOLDEN_AMEX, CARTAO_GOLDEN_LUHN_WALKTHROUGH, CARTAO_GOLDEN_MASTERCARD, CARTAO_GOLDEN_MIN_LENGTH, CARTAO_GOLDEN_VISA, CARTAO_GOLDEN_VISA_MASKED, CARTAO_IEC_SOURCE_URL, CARTAO_OFFICIAL_SOURCE_URL, CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH, computeLuhnSum, detectCardBrand, isValidCartaoCredito, isValidLuhn, passesLuhn, stripCartaoCredito, validateCartaoCredito } from './chunk-2ZWBFVYY.js';
4
+ import './chunk-EMZCVV5Y.js';
5
5
  //# sourceMappingURL=cartao-credito.js.map
6
6
  //# sourceMappingURL=cartao-credito.js.map
package/dist/cbo.d.ts CHANGED
@@ -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 Cbo {
4
4
  codigo: string;
package/dist/cep.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { E as ValidationResult, F as FormatResult } from './validation-result-hfVg2-Mc.js';
2
- export { f as Cep, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-hfVg2-Mc.js';
3
- import { b as DatasetChanges, c as DatasetVerification } from './types-CCKLomYy.js';
1
+ import { O as ValidationResult, F as FormatResult } from './validation-result-Rb7C0_xj.js';
2
+ export { f as Cep, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-Rb7C0_xj.js';
3
+ import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
4
4
 
5
5
  declare const CEP_GOLDEN_PRIMARY = "01310100";
6
6
  declare const CEP_GOLDEN_SECONDARY = "20040020";
package/dist/cep.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import './chunk-2CNYSY3Z.js';
2
- export { formatCep } from './chunk-UXH6EHK6.js';
3
- 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_OFFICIAL_SOURCE_URL, getCepFaixaInfo, getCepFaixas, isValidCep, validateCep } from './chunk-F7G4ISQB.js';
2
+ export { formatCep } from './chunk-EDJC6HIP.js';
3
+ 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_OFFICIAL_SOURCE_URL, getCepFaixaInfo, getCepFaixas, isValidCep, validateCep } from './chunk-UANHHEWY.js';
4
4
  import './chunk-RY2BSDOR.js';
5
5
  export { stripCep } from './chunk-YYHS5WQN.js';
6
6
  import './chunk-4SNBZFS5.js';
7
- import './chunk-EB3G4IG6.js';
8
7
  import './chunk-UCJPSJN5.js';
9
- import './chunk-4NFEM2SU.js';
8
+ import './chunk-EB3G4IG6.js';
9
+ import './chunk-EMZCVV5Y.js';
10
10
  //# sourceMappingURL=cep.js.map
11
11
  //# sourceMappingURL=cep.js.map
package/dist/cest.d.ts CHANGED
@@ -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 Cest {
4
4
  codigo: string;
package/dist/cfop.d.ts CHANGED
@@ -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 Cfop {
4
4
  codigo: string;
@@ -1,4 +1,4 @@
1
- import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-NWXFSSGF.js';
1
+ import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-2HD6TA3O.js';
2
2
 
3
3
  // src/core/telefone/mask.ts
4
4
  function applyTelefoneMask(canonical, tipo) {
@@ -20,5 +20,5 @@ function formatTelefone(input) {
20
20
  }
21
21
 
22
22
  export { formatTelefone };
23
- //# sourceMappingURL=chunk-FL4UUTAC.js.map
24
- //# sourceMappingURL=chunk-FL4UUTAC.js.map
23
+ //# sourceMappingURL=chunk-26HMLR4Y.js.map
24
+ //# sourceMappingURL=chunk-26HMLR4Y.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/telefone/mask.ts","../src/format/telefone.ts"],"names":[],"mappings":";;;AAOO,SAAS,iBAAA,CAAkB,WAAmB,IAAA,EAA4B;AAC/E,EAAA,MAAM,OAAA,GAAU,IAAA,KAAS,SAAA,GAAY,6BAAA,GAAgC,0BAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAA;AACpC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,IAAI,CAAA,qBAAA,CAAuB,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAC9C;;;ACVO,SAAS,eAAe,KAAA,EAA6B;AAC1D,EAAA,MAAM,MAAA,GAAS,iBAAiB,KAAK,CAAA;AACrC,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,IAAI,IAAA,EAAM,SAAA,EAAW,kBAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,IAAI,CAAA,EAAE;AAC7E","file":"chunk-FL4UUTAC.js","sourcesContent":["import {\n TELEFONE_CELULAR_MASK_PATTERN,\n TELEFONE_FIXO_MASK_PATTERN,\n} from './constants.js';\nimport type { TelefoneTipo } from '../../types/validation-result.js';\n\n/** Mask (DD) 9XXXX-XXXX or (DD) XXXX-XXXX per Anatel E.164 layout. */\nexport function applyTelefoneMask(canonical: string, tipo: TelefoneTipo): string {\n const pattern = tipo === 'celular' ? TELEFONE_CELULAR_MASK_PATTERN : TELEFONE_FIXO_MASK_PATTERN;\n const match = pattern.exec(canonical);\n if (!match) {\n throw new Error(`Telephone must have valid ${tipo} length to apply mask`);\n }\n return `(${match[1]}) ${match[2]}-${match[3]}`;\n}\n","import { applyTelefoneMask } from '../core/telefone/mask.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatTelefone(input: string): FormatResult {\n const result = validateTelefone(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyTelefoneMask(result.value, result.tipo) };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/telefone/mask.ts","../src/format/telefone.ts"],"names":[],"mappings":";;;AAOO,SAAS,iBAAA,CAAkB,WAAmB,IAAA,EAA4B;AAC/E,EAAA,MAAM,OAAA,GAAU,IAAA,KAAS,SAAA,GAAY,6BAAA,GAAgC,0BAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAA;AACpC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,IAAI,CAAA,qBAAA,CAAuB,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAC9C;;;ACVO,SAAS,eAAe,KAAA,EAA6B;AAC1D,EAAA,MAAM,MAAA,GAAS,iBAAiB,KAAK,CAAA;AACrC,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,IAAI,IAAA,EAAM,SAAA,EAAW,kBAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,IAAI,CAAA,EAAE;AAC7E","file":"chunk-26HMLR4Y.js","sourcesContent":["import {\n TELEFONE_CELULAR_MASK_PATTERN,\n TELEFONE_FIXO_MASK_PATTERN,\n} from './constants.js';\nimport type { TelefoneTipo } from '../../types/validation-result.js';\n\n/** Mask (DD) 9XXXX-XXXX or (DD) XXXX-XXXX per Anatel E.164 layout. */\nexport function applyTelefoneMask(canonical: string, tipo: TelefoneTipo): string {\n const pattern = tipo === 'celular' ? TELEFONE_CELULAR_MASK_PATTERN : TELEFONE_FIXO_MASK_PATTERN;\n const match = pattern.exec(canonical);\n if (!match) {\n throw new Error(`Telephone must have valid ${tipo} length to apply mask`);\n }\n return `(${match[1]}) ${match[2]}-${match[3]}`;\n}\n","import { applyTelefoneMask } from '../core/telefone/mask.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatTelefone(input: string): FormatResult {\n const result = validateTelefone(input);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n return { ok: true, formatted: applyTelefoneMask(result.value, result.tipo) };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { detectBoletoInputKind, validateLinhaDigitavel, applyLinhaDigitavelMask } from './chunk-QSSKPIG5.js';
1
+ import { detectBoletoInputKind, validateLinhaDigitavel, applyLinhaDigitavelMask } from './chunk-SIMI5XYE.js';
2
2
 
3
3
  // src/format/boleto.ts
4
4
  function formatBoleto(input) {
@@ -22,5 +22,5 @@ function formatBoleto(input) {
22
22
  }
23
23
 
24
24
  export { formatBoleto };
25
- //# sourceMappingURL=chunk-LPGSPM53.js.map
26
- //# sourceMappingURL=chunk-LPGSPM53.js.map
25
+ //# sourceMappingURL=chunk-2EYJMAE2.js.map
26
+ //# sourceMappingURL=chunk-2EYJMAE2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/format/boleto.ts"],"names":[],"mappings":";;;AAUO,SAAS,aAAa,KAAA,EAA6B;AACxD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,aAAA,EAAe,SAAS,uBAAA,EAAwB;AAAA,EAC5E;AAEA,EAAA,MAAM,IAAA,GAAO,sBAAsB,OAAO,CAAA;AAC1C,EAAA,IAAI,SAAS,eAAA,EAAiB;AAC5B,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,oBAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,MAAM,MAAA,GAAS,uBAAuB,OAAO,CAAA;AAC7C,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AAEA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-LPGSPM53.js","sourcesContent":["/**\n * Format decorator — strip → validate → apply official mask (UC-003).\n * @see docs/use-cases/UC-003-format-document.md\n * @see docs/VALIDATION-RULES.md BR-GLOBAL-002\n */\nimport { applyLinhaDigitavelMask } from '../core/boleto/mask.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { validateLinhaDigitavel } from '../core/boleto/linha-digitavel.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatBoleto(input: string): FormatResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return { ok: false, code: 'EMPTY_INPUT', message: 'Boleto input is empty' };\n }\n\n const kind = detectBoletoInputKind(trimmed);\n if (kind === 'codigo-barras') {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'Boleto barcode formatting is not supported in v1',\n };\n }\n\n const result = validateLinhaDigitavel(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n return { ok: true, formatted: applyLinhaDigitavelMask(result.value) };\n}\n"]}
1
+ {"version":3,"sources":["../src/format/boleto.ts"],"names":[],"mappings":";;;AAUO,SAAS,aAAa,KAAA,EAA6B;AACxD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,aAAA,EAAe,SAAS,uBAAA,EAAwB;AAAA,EAC5E;AAEA,EAAA,MAAM,IAAA,GAAO,sBAAsB,OAAO,CAAA;AAC1C,EAAA,IAAI,SAAS,eAAA,EAAiB;AAC5B,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,oBAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,MAAM,MAAA,GAAS,uBAAuB,OAAO,CAAA;AAC7C,EAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,IAAA,OAAO,EAAE,IAAI,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,OAAA,EAAS,OAAO,OAAA,EAAQ;AAAA,EACjE;AAEA,EAAA,OAAO,EAAE,EAAA,EAAI,IAAA,EAAM,WAAW,uBAAA,CAAwB,MAAA,CAAO,KAAK,CAAA,EAAE;AACtE","file":"chunk-2EYJMAE2.js","sourcesContent":["/**\n * Format decorator — strip → validate → apply official mask (UC-003).\n * @see docs/use-cases/UC-003-format-document.md\n * @see docs/VALIDATION-RULES.md BR-GLOBAL-002\n */\nimport { applyLinhaDigitavelMask } from '../core/boleto/mask.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { validateLinhaDigitavel } from '../core/boleto/linha-digitavel.js';\nimport type { FormatResult } from '../types/validation-result.js';\n\nexport function formatBoleto(input: string): FormatResult {\n const trimmed = input.trim();\n if (trimmed.length === 0) {\n return { ok: false, code: 'EMPTY_INPUT', message: 'Boleto input is empty' };\n }\n\n const kind = detectBoletoInputKind(trimmed);\n if (kind === 'codigo-barras') {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'Boleto barcode formatting is not supported in v1',\n };\n }\n\n const result = validateLinhaDigitavel(trimmed);\n if (!result.ok) {\n return { ok: false, code: result.code, message: result.message };\n }\n\n return { ok: true, formatted: applyLinhaDigitavelMask(result.value) };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ddd_metadata_default } from './chunk-RRG2HJMY.js';
2
- import { brandTelefone } from './chunk-4NFEM2SU.js';
2
+ import { brandTelefone } from './chunk-EMZCVV5Y.js';
3
3
 
4
4
  // src/core/telefone/constants.ts
5
5
  var TELEFONE_COUNTRY_CODE = "55";
@@ -24087,5 +24087,5 @@ function validateTelefone(input) {
24087
24087
  }
24088
24088
 
24089
24089
  export { ANATEL_DDDS, ANATEL_DDD_SET, TELEFONE_ANATEL_DDD_PANEL_URL, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_DDD_DATA_VERSION, TELEFONE_FIXO_MASK_PATTERN, TELEFONE_GOLDEN_CELULAR, TELEFONE_GOLDEN_CELULAR_MASKED, TELEFONE_GOLDEN_FIXO, TELEFONE_GOLDEN_FIXO_MASKED, TELEFONE_OFFICIAL_SOURCE_URL, extractTelefoneDigits, getDddInfo, isValidTelefone, normalizeTelefoneDigits, stripTelefone, validateTelefone };
24090
- //# sourceMappingURL=chunk-NWXFSSGF.js.map
24091
- //# sourceMappingURL=chunk-NWXFSSGF.js.map
24090
+ //# sourceMappingURL=chunk-2HD6TA3O.js.map
24091
+ //# sourceMappingURL=chunk-2HD6TA3O.js.map