@br-validators/core 1.1.0 → 1.5.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 (167) hide show
  1. package/README.md +67 -3
  2. package/dist/aeroportos.d.ts +46 -0
  3. package/dist/aeroportos.js +4316 -0
  4. package/dist/aeroportos.js.map +1 -0
  5. package/dist/bancos.js +1 -1
  6. package/dist/batch.js +19 -18
  7. package/dist/brcode.js +5 -5
  8. package/dist/cbo.d.ts +41 -0
  9. package/dist/cbo.js +10832 -0
  10. package/dist/cbo.js.map +1 -0
  11. package/dist/cep.d.ts +38 -1
  12. package/dist/cep.js +4 -3
  13. package/dist/cest.d.ts +44 -0
  14. package/dist/cest.js +8253 -0
  15. package/dist/cest.js.map +1 -0
  16. package/dist/cfop.d.ts +41 -0
  17. package/dist/cfop.js +2812 -0
  18. package/dist/cfop.js.map +1 -0
  19. package/dist/chunk-475HS4CJ.js +30 -0
  20. package/dist/chunk-475HS4CJ.js.map +1 -0
  21. package/dist/chunk-5CBVZIQC.js +30 -0
  22. package/dist/chunk-5CBVZIQC.js.map +1 -0
  23. package/dist/{chunk-LAEUXOF6.js → chunk-5EJAENH5.js} +3 -3
  24. package/dist/{chunk-LAEUXOF6.js.map → chunk-5EJAENH5.js.map} +1 -1
  25. package/dist/chunk-6EF7GQRS.js +30 -0
  26. package/dist/chunk-6EF7GQRS.js.map +1 -0
  27. package/dist/{chunk-PCP77SLS.js → chunk-6UEXR2MQ.js} +13 -13
  28. package/dist/{chunk-PCP77SLS.js.map → chunk-6UEXR2MQ.js.map} +1 -1
  29. package/dist/chunk-7JCJGLA3.js +30 -0
  30. package/dist/chunk-7JCJGLA3.js.map +1 -0
  31. package/dist/chunk-DQUMIETC.js +30 -0
  32. package/dist/chunk-DQUMIETC.js.map +1 -0
  33. package/dist/chunk-EKOSTVIA.js +30 -0
  34. package/dist/chunk-EKOSTVIA.js.map +1 -0
  35. package/dist/{chunk-TJCE4TVX.js → chunk-EN7PVDYB.js} +4 -4
  36. package/dist/{chunk-TJCE4TVX.js.map → chunk-EN7PVDYB.js.map} +1 -1
  37. package/dist/{chunk-VWVQWN2G.js → chunk-EQV33L7H.js} +3 -3
  38. package/dist/{chunk-VWVQWN2G.js.map → chunk-EQV33L7H.js.map} +1 -1
  39. package/dist/chunk-F7IEPT22.js +30 -0
  40. package/dist/chunk-F7IEPT22.js.map +1 -0
  41. package/dist/chunk-FUYDR7JI.js +44 -0
  42. package/dist/chunk-FUYDR7JI.js.map +1 -0
  43. package/dist/{chunk-5V6N4JWQ.js → chunk-GWAYWBHN.js} +5 -5
  44. package/dist/{chunk-5V6N4JWQ.js.map → chunk-GWAYWBHN.js.map} +1 -1
  45. package/dist/chunk-ILKF7HP7.js +31 -0
  46. package/dist/chunk-ILKF7HP7.js.map +1 -0
  47. package/dist/{chunk-IYOPXJLY.js → chunk-JSNXKBZA.js} +3 -3
  48. package/dist/{chunk-IYOPXJLY.js.map → chunk-JSNXKBZA.js.map} +1 -1
  49. package/dist/{chunk-P2KNN6ZR.js → chunk-KGCLQ7QX.js} +3 -3
  50. package/dist/{chunk-P2KNN6ZR.js.map → chunk-KGCLQ7QX.js.map} +1 -1
  51. package/dist/{chunk-H3MLGGFI.js → chunk-KLONQL76.js} +5 -5
  52. package/dist/{chunk-H3MLGGFI.js.map → chunk-KLONQL76.js.map} +1 -1
  53. package/dist/{chunk-63G7QO73.js → chunk-L7PF4KD6.js} +3 -3
  54. package/dist/{chunk-63G7QO73.js.map → chunk-L7PF4KD6.js.map} +1 -1
  55. package/dist/{chunk-PNPESCSP.js → chunk-MAM4U3UR.js} +3 -3
  56. package/dist/{chunk-PNPESCSP.js.map → chunk-MAM4U3UR.js.map} +1 -1
  57. package/dist/{chunk-V7UJ55KW.js → chunk-MZDCVTN6.js} +3 -3
  58. package/dist/{chunk-V7UJ55KW.js.map → chunk-MZDCVTN6.js.map} +1 -1
  59. package/dist/{chunk-I66ZRSEN.js → chunk-NT3TNF3R.js} +3 -3
  60. package/dist/{chunk-I66ZRSEN.js.map → chunk-NT3TNF3R.js.map} +1 -1
  61. package/dist/chunk-NTVB7R3A.js +30 -0
  62. package/dist/chunk-NTVB7R3A.js.map +1 -0
  63. package/dist/{chunk-N5CER3QZ.js → chunk-NXS343IJ.js} +14 -14
  64. package/dist/{chunk-N5CER3QZ.js.map → chunk-NXS343IJ.js.map} +1 -1
  65. package/dist/{chunk-EVULAGR5.js → chunk-O3T7PUBI.js} +3 -3
  66. package/dist/{chunk-EVULAGR5.js.map → chunk-O3T7PUBI.js.map} +1 -1
  67. package/dist/chunk-O4AO4YWC.js +30 -0
  68. package/dist/chunk-O4AO4YWC.js.map +1 -0
  69. package/dist/{chunk-EFEE6CMO.js → chunk-OOUEURR7.js} +3 -3
  70. package/dist/{chunk-EFEE6CMO.js.map → chunk-OOUEURR7.js.map} +1 -1
  71. package/dist/chunk-P6TOL5VY.js +147973 -0
  72. package/dist/chunk-P6TOL5VY.js.map +1 -0
  73. package/dist/{chunk-BA3FAVK4.js → chunk-Q5QBTTNC.js} +25 -25
  74. package/dist/{chunk-BA3FAVK4.js.map → chunk-Q5QBTTNC.js.map} +1 -1
  75. package/dist/{chunk-ASQ2XIN2.js → chunk-QU4HTXM5.js} +12 -12
  76. package/dist/{chunk-ASQ2XIN2.js.map → chunk-QU4HTXM5.js.map} +1 -1
  77. package/dist/{chunk-KTEQPYYN.js → chunk-RRVGW333.js} +6 -6
  78. package/dist/{chunk-KTEQPYYN.js.map → chunk-RRVGW333.js.map} +1 -1
  79. package/dist/chunk-RWO34ORS.js +33 -0
  80. package/dist/chunk-RWO34ORS.js.map +1 -0
  81. package/dist/chunk-SC6YCHT7.js +30 -0
  82. package/dist/chunk-SC6YCHT7.js.map +1 -0
  83. package/dist/{chunk-MESOO5GZ.js → chunk-SDEJD2J7.js} +3 -3
  84. package/dist/{chunk-MESOO5GZ.js.map → chunk-SDEJD2J7.js.map} +1 -1
  85. package/dist/chunk-UGW266DF.js +30 -0
  86. package/dist/chunk-UGW266DF.js.map +1 -0
  87. package/dist/{chunk-YNVMVDFN.js → chunk-VKG7UEN5.js} +3 -3
  88. package/dist/{chunk-YNVMVDFN.js.map → chunk-VKG7UEN5.js.map} +1 -1
  89. package/dist/{chunk-LRUZVPLR.js → chunk-VWS4AWCI.js} +3 -3
  90. package/dist/{chunk-LRUZVPLR.js.map → chunk-VWS4AWCI.js.map} +1 -1
  91. package/dist/{chunk-XADVBV73.js → chunk-WH6W3NUA.js} +6 -6
  92. package/dist/{chunk-XADVBV73.js.map → chunk-WH6W3NUA.js.map} +1 -1
  93. package/dist/{chunk-UCNPXHIJ.js → chunk-WSUAPD5M.js} +6 -6
  94. package/dist/{chunk-UCNPXHIJ.js.map → chunk-WSUAPD5M.js.map} +1 -1
  95. package/dist/{chunk-JCWQDTZB.js → chunk-X7XQRG4X.js} +3 -3
  96. package/dist/{chunk-JCWQDTZB.js.map → chunk-X7XQRG4X.js.map} +1 -1
  97. package/dist/{chunk-CSVGWTCG.js → chunk-XHDRWM46.js} +3 -3
  98. package/dist/{chunk-CSVGWTCG.js.map → chunk-XHDRWM46.js.map} +1 -1
  99. package/dist/chunk-XQ6MMGV2.js +30 -0
  100. package/dist/chunk-XQ6MMGV2.js.map +1 -0
  101. package/dist/{chunk-FOP5LO7W.js → chunk-YNUYQKUW.js} +15 -15
  102. package/dist/{chunk-FOP5LO7W.js.map → chunk-YNUYQKUW.js.map} +1 -1
  103. package/dist/chunk-YOL43ZNQ.js +35 -0
  104. package/dist/chunk-YOL43ZNQ.js.map +1 -0
  105. package/dist/chunk-ZWAYSR5K.js +30 -0
  106. package/dist/chunk-ZWAYSR5K.js.map +1 -0
  107. package/dist/{chunk-MKYCKCZ6.js → chunk-ZYWBWXTJ.js} +13 -13
  108. package/dist/{chunk-MKYCKCZ6.js.map → chunk-ZYWBWXTJ.js.map} +1 -1
  109. package/dist/cnaes.d.ts +41 -0
  110. package/dist/cnaes.js +5384 -0
  111. package/dist/cnaes.js.map +1 -0
  112. package/dist/cnh.js +4 -4
  113. package/dist/compare.js +21 -20
  114. package/dist/cpf.js +4 -4
  115. package/dist/data-catalog.js +38 -4
  116. package/dist/data-catalog.js.map +1 -1
  117. package/dist/detect.js +18 -17
  118. package/dist/diff.js +21 -20
  119. package/dist/feriados.d.ts +73 -0
  120. package/dist/feriados.js +243 -0
  121. package/dist/feriados.js.map +1 -0
  122. package/dist/generate.js +29 -28
  123. package/dist/ibge.js +1 -1
  124. package/dist/incoterms.d.ts +36 -0
  125. package/dist/incoterms.js +87 -0
  126. package/dist/incoterms.js.map +1 -0
  127. package/dist/index.d.ts +1 -1
  128. package/dist/index.js +49 -48
  129. package/dist/index.js.map +1 -1
  130. package/dist/inscricao-estadual-produtor-rural.js +1 -1
  131. package/dist/mask.js +28 -27
  132. package/dist/moedas.d.ts +42 -0
  133. package/dist/moedas.js +977 -0
  134. package/dist/moedas.js.map +1 -0
  135. package/dist/natureza-juridica.d.ts +37 -0
  136. package/dist/natureza-juridica.js +398 -0
  137. package/dist/natureza-juridica.js.map +1 -0
  138. package/dist/nbs.d.ts +40 -0
  139. package/dist/nbs.js +3728 -0
  140. package/dist/nbs.js.map +1 -0
  141. package/dist/ncm.d.ts +41 -0
  142. package/dist/ncm.js +42116 -0
  143. package/dist/ncm.js.map +1 -0
  144. package/dist/paises-bacen.d.ts +35 -0
  145. package/dist/paises-bacen.js +1044 -0
  146. package/dist/paises-bacen.js.map +1 -0
  147. package/dist/pix.js +5 -5
  148. package/dist/placa.js +1 -1
  149. package/dist/pncp-reference.d.ts +56 -0
  150. package/dist/pncp-reference.js +1560 -0
  151. package/dist/pncp-reference.js.map +1 -0
  152. package/dist/portos.d.ts +48 -0
  153. package/dist/portos.js +12094 -0
  154. package/dist/portos.js.map +1 -0
  155. package/dist/renavam.js +4 -4
  156. package/dist/sanitize.js +16 -15
  157. package/dist/telefone.js +3 -3
  158. package/dist/titulo-eleitor.js +4 -4
  159. package/dist/transparencia-snapshots.d.ts +61 -0
  160. package/dist/transparencia-snapshots.js +119 -0
  161. package/dist/transparencia-snapshots.js.map +1 -0
  162. package/dist/tse-municipios.d.ts +39 -0
  163. package/dist/tse-municipios.js +33469 -0
  164. package/dist/tse-municipios.js.map +1 -0
  165. package/package.json +81 -1
  166. package/dist/chunk-TE6NSONR.js +0 -43
  167. package/dist/chunk-TE6NSONR.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@br-validators/core",
3
- "version": "1.1.0",
3
+ "version": "1.5.0",
4
4
  "description": "The Brazilian document validation library for TypeScript — CPF, CNPJ (alphanumeric), NF-e, PIX, boleto, IE (27 UFs), and 15+ more. Zero deps, fully typed, never throws.",
5
5
  "homepage": "https://www.npmjs.com/package/@br-validators/core",
6
6
  "license": "MIT",
@@ -40,6 +40,22 @@
40
40
  "diff",
41
41
  "ibge",
42
42
  "bancos",
43
+ "aeroportos",
44
+ "tse-municipios",
45
+ "moedas",
46
+ "paises-bacen",
47
+ "incoterms",
48
+ "feriados",
49
+ "cnaes",
50
+ "cfop",
51
+ "natureza-juridica",
52
+ "nbs",
53
+ "cest",
54
+ "ncm",
55
+ "cbo",
56
+ "portos",
57
+ "pncp-reference",
58
+ "transparencia-snapshots",
43
59
  "data-catalog",
44
60
  "typescript"
45
61
  ],
@@ -154,6 +170,70 @@
154
170
  "types": "./dist/bancos.d.ts",
155
171
  "import": "./dist/bancos.js"
156
172
  },
173
+ "./aeroportos": {
174
+ "types": "./dist/aeroportos.d.ts",
175
+ "import": "./dist/aeroportos.js"
176
+ },
177
+ "./tse-municipios": {
178
+ "types": "./dist/tse-municipios.d.ts",
179
+ "import": "./dist/tse-municipios.js"
180
+ },
181
+ "./moedas": {
182
+ "types": "./dist/moedas.d.ts",
183
+ "import": "./dist/moedas.js"
184
+ },
185
+ "./paises-bacen": {
186
+ "types": "./dist/paises-bacen.d.ts",
187
+ "import": "./dist/paises-bacen.js"
188
+ },
189
+ "./incoterms": {
190
+ "types": "./dist/incoterms.d.ts",
191
+ "import": "./dist/incoterms.js"
192
+ },
193
+ "./feriados": {
194
+ "types": "./dist/feriados.d.ts",
195
+ "import": "./dist/feriados.js"
196
+ },
197
+ "./cnaes": {
198
+ "types": "./dist/cnaes.d.ts",
199
+ "import": "./dist/cnaes.js"
200
+ },
201
+ "./cfop": {
202
+ "types": "./dist/cfop.d.ts",
203
+ "import": "./dist/cfop.js"
204
+ },
205
+ "./natureza-juridica": {
206
+ "types": "./dist/natureza-juridica.d.ts",
207
+ "import": "./dist/natureza-juridica.js"
208
+ },
209
+ "./nbs": {
210
+ "types": "./dist/nbs.d.ts",
211
+ "import": "./dist/nbs.js"
212
+ },
213
+ "./cest": {
214
+ "types": "./dist/cest.d.ts",
215
+ "import": "./dist/cest.js"
216
+ },
217
+ "./ncm": {
218
+ "types": "./dist/ncm.d.ts",
219
+ "import": "./dist/ncm.js"
220
+ },
221
+ "./cbo": {
222
+ "types": "./dist/cbo.d.ts",
223
+ "import": "./dist/cbo.js"
224
+ },
225
+ "./portos": {
226
+ "types": "./dist/portos.d.ts",
227
+ "import": "./dist/portos.js"
228
+ },
229
+ "./pncp-reference": {
230
+ "types": "./dist/pncp-reference.d.ts",
231
+ "import": "./dist/pncp-reference.js"
232
+ },
233
+ "./transparencia-snapshots": {
234
+ "types": "./dist/transparencia-snapshots.d.ts",
235
+ "import": "./dist/transparencia-snapshots.js"
236
+ },
157
237
  "./data-catalog": {
158
238
  "types": "./dist/data-catalog.d.ts",
159
239
  "import": "./dist/data-catalog.js"
@@ -1,43 +0,0 @@
1
- import { stripCep } from './chunk-YYHS5WQN.js';
2
- import { brandCep } from './chunk-NUQSMT4Y.js';
3
-
4
- // src/core/cep/constants.ts
5
- var CEP_LENGTH = 8;
6
- var CEP_MASK_PATTERN = /^(\d{5})(\d{3})$/;
7
- var CEP_GOLDEN_PRIMARY = "01310100";
8
- var CEP_GOLDEN_SECONDARY = "20040020";
9
- var CEP_GOLDEN_PRIMARY_MASKED = "01310-100";
10
- var CEP_OFFICIAL_SOURCE_URL = "https://www.correios.com.br/atendimento/developers/manuais/manual-api-busca-cep";
11
-
12
- // src/core/cep/index.ts
13
- function failure(code, message) {
14
- return { ok: false, code, message };
15
- }
16
- function validateStructure(input, stripped) {
17
- if (stripped.length === 0) {
18
- return failure("EMPTY_INPUT", "CEP input is empty");
19
- }
20
- const withoutMask = input.replace(/[-\s]/g, "");
21
- if (/[^0-9]/.test(withoutMask)) {
22
- return failure("INVALID_CHARACTER", "CEP contains invalid characters");
23
- }
24
- if (stripped.length !== CEP_LENGTH) {
25
- return failure("INVALID_LENGTH", `CEP must have ${CEP_LENGTH} digits after normalization`);
26
- }
27
- return null;
28
- }
29
- function isValidCep(input) {
30
- return validateCep(input).ok;
31
- }
32
- function validateCep(input) {
33
- const stripped = stripCep(input);
34
- const structural = validateStructure(input, stripped);
35
- if (structural) {
36
- return structural;
37
- }
38
- return { ok: true, value: brandCep(stripped), format: "numeric" };
39
- }
40
-
41
- export { CEP_GOLDEN_PRIMARY, CEP_GOLDEN_PRIMARY_MASKED, CEP_GOLDEN_SECONDARY, CEP_MASK_PATTERN, CEP_OFFICIAL_SOURCE_URL, isValidCep, validateCep };
42
- //# sourceMappingURL=chunk-TE6NSONR.js.map
43
- //# sourceMappingURL=chunk-TE6NSONR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/cep/constants.ts","../src/core/cep/index.ts"],"names":[],"mappings":";;;;AAKO,IAAM,UAAA,GAAa,CAAA;AACnB,IAAM,gBAAA,GAAmB;AAGzB,IAAM,kBAAA,GAAqB;AAC3B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,yBAAA,GAA4B;AAClC,IAAM,uBAAA,GACX;;;ACMF,SAAS,OAAA,CAAQ,MAA4B,OAAA,EAA+B;AAC1E,EAAA,OAAO,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,OAAA,EAAQ;AACpC;AAEA,SAAS,iBAAA,CAAkB,OAAe,QAAA,EAAuC;AAC/E,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,OAAO,OAAA,CAAQ,eAAe,oBAAoB,CAAA;AAAA,EACpD;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,OAAA,CAAQ,QAAA,EAAU,EAAE,CAAA;AAC9C,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,OAAA,CAAQ,qBAAqB,iCAAiC,CAAA;AAAA,EACvE;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,UAAA,EAAY;AAClC,IAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,CAAA,cAAA,EAAiB,UAAU,CAAA,2BAAA,CAA6B,CAAA;AAAA,EAC3F;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,CAAE,EAAA;AAC5B;AAEO,SAAS,YAAY,KAAA,EAAiC;AAC3D,EAAA,MAAM,QAAA,GAAW,SAAS,KAAK,CAAA;AAC/B,EAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,KAAA,EAAO,QAAQ,CAAA;AACpD,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,OAAO,EAAE,IAAI,IAAA,EAAM,KAAA,EAAO,SAAS,QAAQ,CAAA,EAAG,QAAQ,SAAA,EAAU;AAClE","file":"chunk-TE6NSONR.js","sourcesContent":["/**\n * CEP constants — 8 digits, no check digit (Correios).\n * @see https://www.correios.com.br/atendimento/developers/manuais/manual-api-busca-cep\n * @see docs/VALIDATION-RULES.md BR-CEP-001 — golden vector 01310100\n */\nexport const CEP_LENGTH = 8;\nexport const CEP_MASK_PATTERN = /^(\\d{5})(\\d{3})$/;\nexport const CEP_NUMERIC_PATTERN = /^\\d{8}$/;\n\nexport const CEP_GOLDEN_PRIMARY = '01310100';\nexport const CEP_GOLDEN_SECONDARY = '20040020';\nexport const CEP_GOLDEN_PRIMARY_MASKED = '01310-100';\nexport const CEP_OFFICIAL_SOURCE_URL =\n 'https://www.correios.com.br/atendimento/developers/manuais/manual-api-busca-cep';\n","/**\n * CEP validation — structural only, no check digit (Correios).\n * @see https://www.correios.com.br/atendimento/developers/manuais/manual-api-busca-cep\n * @see docs/VALIDATION-RULES.md BR-CEP-001 — golden vector 01310100\n */\nimport { stripCep } from '../../strip/index.js';\nimport type { ValidationResult } from '../../types/validation-result.js';\nimport { brandCep } from '../../types/validation-result.js';\nimport { CEP_LENGTH } from './constants.js';\n\nexport {\n CEP_GOLDEN_PRIMARY,\n CEP_GOLDEN_PRIMARY_MASKED,\n CEP_GOLDEN_SECONDARY,\n CEP_OFFICIAL_SOURCE_URL,\n} from './constants.js';\n\ntype FailedResult = Extract<ValidationResult, { ok: false }>;\n\nfunction failure(code: FailedResult['code'], message: string): FailedResult {\n return { ok: false, code, message };\n}\n\nfunction validateStructure(input: string, stripped: string): FailedResult | null {\n if (stripped.length === 0) {\n return failure('EMPTY_INPUT', 'CEP input is empty');\n }\n\n const withoutMask = input.replace(/[-\\s]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return failure('INVALID_CHARACTER', 'CEP contains invalid characters');\n }\n\n if (stripped.length !== CEP_LENGTH) {\n return failure('INVALID_LENGTH', `CEP must have ${CEP_LENGTH} digits after normalization`);\n }\n\n return null;\n}\n\nexport function isValidCep(input: string): boolean {\n return validateCep(input).ok;\n}\n\nexport function validateCep(input: string): ValidationResult {\n const stripped = stripCep(input);\n const structural = validateStructure(input, stripped);\n if (structural) {\n return structural;\n }\n\n return { ok: true, value: brandCep(stripped), format: 'numeric' };\n}\n"]}