@br-validators/core 1.10.0-data.29 → 1.10.0-data.30

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 (78) hide show
  1. package/dist/aeroportos.js +1 -1
  2. package/dist/bancos.js +1 -1
  3. package/dist/batch.js +3 -3
  4. package/dist/cest.js +1 -1
  5. package/dist/cfop.js +1 -1
  6. package/dist/{chunk-FZLKE6Q7.js → chunk-3FOKQR42.js} +6 -6
  7. package/dist/{chunk-FZLKE6Q7.js.map → chunk-3FOKQR42.js.map} +1 -1
  8. package/dist/{chunk-WGHQJKNR.js → chunk-3RCDNTIH.js} +3 -3
  9. package/dist/{chunk-WGHQJKNR.js.map → chunk-3RCDNTIH.js.map} +1 -1
  10. package/dist/{chunk-UQ26MUJW.js → chunk-63GNDWMA.js} +4 -4
  11. package/dist/{chunk-UQ26MUJW.js.map → chunk-63GNDWMA.js.map} +1 -1
  12. package/dist/{chunk-HRXHZQUM.js → chunk-6FX7XGDI.js} +6 -6
  13. package/dist/{chunk-HRXHZQUM.js.map → chunk-6FX7XGDI.js.map} +1 -1
  14. package/dist/{chunk-QQ7EAQZE.js → chunk-6HMTE5DP.js} +6 -6
  15. package/dist/{chunk-QQ7EAQZE.js.map → chunk-6HMTE5DP.js.map} +1 -1
  16. package/dist/{chunk-BT7RDPXN.js → chunk-7HQQPIXQ.js} +6 -6
  17. package/dist/{chunk-BT7RDPXN.js.map → chunk-7HQQPIXQ.js.map} +1 -1
  18. package/dist/{chunk-TNHJMEX5.js → chunk-AGIRICJJ.js} +6 -6
  19. package/dist/{chunk-TNHJMEX5.js.map → chunk-AGIRICJJ.js.map} +1 -1
  20. package/dist/{chunk-U7PVHR5D.js → chunk-B45J7DYT.js} +6 -6
  21. package/dist/{chunk-U7PVHR5D.js.map → chunk-B45J7DYT.js.map} +1 -1
  22. package/dist/{chunk-GAGTNYOM.js → chunk-CVLAY5N3.js} +7 -7
  23. package/dist/{chunk-GAGTNYOM.js.map → chunk-CVLAY5N3.js.map} +1 -1
  24. package/dist/{chunk-6BTFJV5R.js → chunk-EHJ2K45U.js} +6 -6
  25. package/dist/{chunk-6BTFJV5R.js.map → chunk-EHJ2K45U.js.map} +1 -1
  26. package/dist/{chunk-4TSHZZWM.js → chunk-EIH6JO6Q.js} +3 -3
  27. package/dist/{chunk-4TSHZZWM.js.map → chunk-EIH6JO6Q.js.map} +1 -1
  28. package/dist/{chunk-KREI3O34.js → chunk-FEXNH3M2.js} +3 -3
  29. package/dist/{chunk-KREI3O34.js.map → chunk-FEXNH3M2.js.map} +1 -1
  30. package/dist/{chunk-2M2VOKY7.js → chunk-FI2NJISW.js} +6 -6
  31. package/dist/{chunk-2M2VOKY7.js.map → chunk-FI2NJISW.js.map} +1 -1
  32. package/dist/{chunk-3O7FNLIZ.js → chunk-HISLQG65.js} +11 -11
  33. package/dist/chunk-HISLQG65.js.map +1 -0
  34. package/dist/{chunk-JBLVS5LK.js → chunk-JZ7WP2HH.js} +6 -6
  35. package/dist/{chunk-JBLVS5LK.js.map → chunk-JZ7WP2HH.js.map} +1 -1
  36. package/dist/{chunk-7PUZIHJY.js → chunk-KFDNEAXI.js} +4 -4
  37. package/dist/{chunk-7PUZIHJY.js.map → chunk-KFDNEAXI.js.map} +1 -1
  38. package/dist/{chunk-A5IAP2MF.js → chunk-NWIFX3YC.js} +3 -3
  39. package/dist/{chunk-A5IAP2MF.js.map → chunk-NWIFX3YC.js.map} +1 -1
  40. package/dist/{chunk-PT6A3H6A.js → chunk-PR2MDW2D.js} +6 -6
  41. package/dist/{chunk-PT6A3H6A.js.map → chunk-PR2MDW2D.js.map} +1 -1
  42. package/dist/{chunk-CIUH6R2V.js → chunk-RQJCXDBI.js} +6 -6
  43. package/dist/{chunk-CIUH6R2V.js.map → chunk-RQJCXDBI.js.map} +1 -1
  44. package/dist/{chunk-KITRWEBD.js → chunk-SRYKLKU7.js} +3 -3
  45. package/dist/{chunk-KITRWEBD.js.map → chunk-SRYKLKU7.js.map} +1 -1
  46. package/dist/{chunk-GANT7YS2.js → chunk-TLDJQPOU.js} +6 -6
  47. package/dist/{chunk-GANT7YS2.js.map → chunk-TLDJQPOU.js.map} +1 -1
  48. package/dist/{chunk-YEBRRKXJ.js → chunk-XFNEPZUF.js} +4 -4
  49. package/dist/{chunk-YEBRRKXJ.js.map → chunk-XFNEPZUF.js.map} +1 -1
  50. package/dist/{chunk-LRVGXGVE.js → chunk-XW3A2KSV.js} +3 -3
  51. package/dist/{chunk-LRVGXGVE.js.map → chunk-XW3A2KSV.js.map} +1 -1
  52. package/dist/{chunk-JPWWYGRJ.js → chunk-YATWR3RN.js} +3 -3
  53. package/dist/{chunk-JPWWYGRJ.js.map → chunk-YATWR3RN.js.map} +1 -1
  54. package/dist/{chunk-LWZHBEWL.js → chunk-ZUI5BHXF.js} +3 -3
  55. package/dist/{chunk-LWZHBEWL.js.map → chunk-ZUI5BHXF.js.map} +1 -1
  56. package/dist/cnpj-motivos.js +1 -1
  57. package/dist/compare.js +5 -5
  58. package/dist/data-catalog.js +14 -14
  59. package/dist/detect.js +3 -3
  60. package/dist/diff.js +5 -5
  61. package/dist/generate.js +4 -4
  62. package/dist/ibpt.js +1 -1
  63. package/dist/incoterms.js +1 -1
  64. package/dist/index.js +12 -12
  65. package/dist/mask.js +4 -4
  66. package/dist/moedas.js +1 -1
  67. package/dist/natureza-juridica.js +1 -1
  68. package/dist/paises-bacen.js +73 -45
  69. package/dist/paises-bacen.js.map +1 -1
  70. package/dist/ptax.js +1 -1
  71. package/dist/sanitize.js +4 -4
  72. package/dist/selic.js +5 -5
  73. package/dist/selic.js.map +1 -1
  74. package/dist/telefone.js +3 -3
  75. package/dist/transparencia-snapshots.js +2 -2
  76. package/dist/transparencia-snapshots.js.map +1 -1
  77. package/package.json +1 -1
  78. package/dist/chunk-3O7FNLIZ.js.map +0 -1
@@ -7,8 +7,8 @@ var metadata_default = {
7
7
  "https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente",
8
8
  "/home/runner/work/br-validators/br-validators/data/source-mirrors/confaz/cfop_cvsn_70_vigente.html"
9
9
  ],
10
- capturadoEm: "2026-07-25",
11
- atualizadoEm: "2026-07-25T05:46:43.201Z",
10
+ capturadoEm: "2026-07-26",
11
+ atualizadoEm: "2026-07-26T06:32:57.844Z",
12
12
  contagens: {
13
13
  cfop: 689
14
14
  },
@@ -16,16 +16,16 @@ var metadata_default = {
16
16
  adicionados: 0,
17
17
  removidos: 0,
18
18
  alterados: 0,
19
- comparadoCom: "2026-07-24"
19
+ comparadoCom: "2026-07-25"
20
20
  },
21
21
  verificacao: {
22
22
  agendamento: "diario",
23
23
  workflow: "data-refresh-bot.yml",
24
- ultimaExecucao: "2026-07-25T05:46:43.201Z"
24
+ ultimaExecucao: "2026-07-26T06:32:57.844Z"
25
25
  },
26
26
  documentacao: "docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations"
27
27
  };
28
28
 
29
29
  export { metadata_default };
30
- //# sourceMappingURL=chunk-PT6A3H6A.js.map
31
- //# sourceMappingURL=chunk-PT6A3H6A.js.map
30
+ //# sourceMappingURL=chunk-PR2MDW2D.js.map
31
+ //# sourceMappingURL=chunk-PR2MDW2D.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,kFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-PT6A3H6A.js","sourcesContent":["{\n \"id\": \"cfop\",\n \"nome\": \"CONFAZ CFOP\",\n \"fonte\": \"CONFAZ SINIEF Convênio s/nº 1970 — Anexo II\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente\",\n \"/home/runner/work/br-validators/br-validators/data/source-mirrors/confaz/cfop_cvsn_70_vigente.html\"\n ],\n \"capturadoEm\": \"2026-07-25\",\n \"atualizadoEm\": \"2026-07-25T05:46:43.201Z\",\n \"contagens\": {\n \"cfop\": 689\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-24\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-25T05:46:43.201Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations\"\n}\n"]}
1
+ {"version":3,"sources":["../src/cfop/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,wDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,kFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-PR2MDW2D.js","sourcesContent":["{\n \"id\": \"cfop\",\n \"nome\": \"CONFAZ CFOP\",\n \"fonte\": \"CONFAZ SINIEF Convênio s/nº 1970 — Anexo II\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente\",\n \"/home/runner/work/br-validators/br-validators/data/source-mirrors/confaz/cfop_cvsn_70_vigente.html\"\n ],\n \"capturadoEm\": \"2026-07-26\",\n \"atualizadoEm\": \"2026-07-26T06:32:57.844Z\",\n \"contagens\": {\n \"cfop\": 689\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-25\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-26T06:32:57.844Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cfop-fiscal-operations\"\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv"
8
8
  ],
9
- capturadoEm: "2026-07-25",
10
- atualizadoEm: "2026-07-25T05:37:27.063Z",
9
+ capturadoEm: "2026-07-26",
10
+ atualizadoEm: "2026-07-26T06:02:56.110Z",
11
11
  contagens: {
12
12
  aeroportos: 533,
13
13
  comIata: 87
@@ -16,16 +16,16 @@ var metadata_default = {
16
16
  adicionados: 0,
17
17
  removidos: 0,
18
18
  alterados: 0,
19
- comparadoCom: "2026-07-24"
19
+ comparadoCom: "2026-07-25"
20
20
  },
21
21
  verificacao: {
22
22
  agendamento: "diario",
23
23
  workflow: "data-refresh-bot.yml",
24
- ultimaExecucao: "2026-07-25T05:37:27.063Z"
24
+ ultimaExecucao: "2026-07-26T06:02:56.110Z"
25
25
  },
26
26
  documentacao: "docs/OFFICIAL-SOURCES.md#aeroportos"
27
27
  };
28
28
 
29
29
  export { metadata_default };
30
- //# sourceMappingURL=chunk-CIUH6R2V.js.map
31
- //# sourceMappingURL=chunk-CIUH6R2V.js.map
30
+ //# sourceMappingURL=chunk-RQJCXDBI.js.map
31
+ //# sourceMappingURL=chunk-RQJCXDBI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/aeroportos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,YAAA;AAAA,EACN,IAAA,EAAQ,wBAAA;AAAA,EACR,KAAA,EAAS,sDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,UAAA,EAAc,GAAA;AAAA,IACd,OAAA,EAAW;AAAA,GACb;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-CIUH6R2V.js","sourcesContent":["{\n \"id\": \"aeroportos\",\n \"nome\": \"ANAC Public Aerodromos\",\n \"fonte\": \"ANAC — Lista de aeródromos de uso público\",\n \"endpoints\": [\n \"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv\"\n ],\n \"capturadoEm\": \"2026-07-25\",\n \"atualizadoEm\": \"2026-07-25T05:37:27.063Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-24\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-25T05:37:27.063Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
1
+ {"version":3,"sources":["../src/aeroportos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,YAAA;AAAA,EACN,IAAA,EAAQ,wBAAA;AAAA,EACR,KAAA,EAAS,sDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,UAAA,EAAc,GAAA;AAAA,IACd,OAAA,EAAW;AAAA,GACb;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-RQJCXDBI.js","sourcesContent":["{\n \"id\": \"aeroportos\",\n \"nome\": \"ANAC Public Aerodromos\",\n \"fonte\": \"ANAC — Lista de aeródromos de uso público\",\n \"endpoints\": [\n \"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv\"\n ],\n \"capturadoEm\": \"2026-07-26\",\n \"atualizadoEm\": \"2026-07-26T06:02:56.110Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-25\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-26T06:02:56.110Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { validateRg } from './chunk-6F3A3NT4.js';
2
2
  import { validateRenavam } from './chunk-4NS47CJG.js';
3
3
  import { validateProcessoJudicial } from './chunk-A4QBLVVO.js';
4
- import { validateTelefone } from './chunk-A5IAP2MF.js';
4
+ import { validateTelefone } from './chunk-NWIFX3YC.js';
5
5
  import { validateTituloEleitor } from './chunk-6WBUKUHD.js';
6
6
  import { validatePlaca } from './chunk-UG2YICWH.js';
7
7
  import { validateNfeChave } from './chunk-XRT44FMY.js';
@@ -232,5 +232,5 @@ function batch(inputs, type, options = {}) {
232
232
  }
233
233
 
234
234
  export { batch, parseBatchCsv };
235
- //# sourceMappingURL=chunk-KITRWEBD.js.map
236
- //# sourceMappingURL=chunk-KITRWEBD.js.map
235
+ //# sourceMappingURL=chunk-SRYKLKU7.js.map
236
+ //# sourceMappingURL=chunk-SRYKLKU7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/parse-csv.ts","../src/batch/index.ts"],"names":["index"],"mappings":"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","file":"chunk-KITRWEBD.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(input, { uf: options.uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Minimal RFC 4180 CSV column extractor for batch ETL (zero runtime deps).\n * @see docs/OFFICIAL-SOURCES.md\n */\n\nexport type ParseBatchCsvOptions = {\n col: string;\n delimiter?: string;\n skipHeader?: boolean;\n};\n\nexport type ParseBatchCsvSuccess = {\n ok: true;\n values: string[];\n};\n\nexport type ParseBatchCsvFailure = {\n ok: false;\n message: string;\n};\n\nexport type ParseBatchCsvResult = ParseBatchCsvSuccess | ParseBatchCsvFailure;\n\nfunction parseCsvRow(line: string, delimiter: string): string[] {\n const fields: string[] = [];\n let current = '';\n let inQuotes = false;\n\n for (let index = 0; index < line.length; index += 1) {\n const char = line[index];\n if (char === '\"') {\n if (inQuotes && line[index + 1] === '\"') {\n current += '\"';\n index += 1;\n } else {\n inQuotes = !inQuotes;\n }\n continue;\n }\n if (char === delimiter && !inQuotes) {\n fields.push(current);\n current = '';\n continue;\n }\n current += char;\n }\n\n fields.push(current);\n return fields;\n}\n\nfunction resolveColumnIndex(col: string, header: readonly string[]): number | null {\n const trimmed = col.trim();\n if (/^\\d+$/.test(trimmed)) {\n const index = Number.parseInt(trimmed, 10);\n if (index >= 0 && index < header.length) {\n return index;\n }\n return null;\n }\n\n const index = header.findIndex((field) => field.trim().toLowerCase() === trimmed.toLowerCase());\n return index >= 0 ? index : null;\n}\n\nexport function parseBatchCsv(raw: string, options: ParseBatchCsvOptions): ParseBatchCsvResult {\n const delimiter = options.delimiter ?? ',';\n const lines = raw.split(/\\r?\\n/).filter((line) => line.trim().length > 0);\n if (lines.length === 0) {\n return { ok: false, message: 'CSV input is empty' };\n }\n\n const skipHeader = options.skipHeader ?? true;\n let colIdx: number;\n let startIdx = 0;\n\n if (skipHeader) {\n const header = parseCsvRow(lines[0], delimiter);\n const resolved = resolveColumnIndex(options.col, header);\n if (resolved === null) {\n return {\n ok: false,\n message: `Column \"${options.col}\" not found in header: [${header.join(', ')}]`,\n };\n }\n colIdx = resolved;\n startIdx = 1;\n } else {\n const asIndex = Number.parseInt(options.col.trim(), 10);\n if (!/^\\d+$/.test(options.col.trim())) {\n return {\n ok: false,\n message: `Column \"${options.col}\" requires --skip-header when using header name`,\n };\n }\n colIdx = asIndex;\n }\n\n const values: string[] = [];\n for (let rowIndex = startIdx; rowIndex < lines.length; rowIndex += 1) {\n const row = parseCsvRow(lines[rowIndex], delimiter);\n const field = row.at(colIdx);\n if (field === undefined) {\n continue;\n }\n const cell = field.trim();\n if (cell.length > 0) {\n values.push(cell);\n }\n }\n\n if (values.length === 0) {\n return { ok: false, message: 'No values found in CSV column' };\n }\n\n return { ok: true, values };\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport { parseBatchCsv } from './parse-csv.js';\nexport type {\n ParseBatchCsvFailure,\n ParseBatchCsvOptions,\n ParseBatchCsvResult,\n ParseBatchCsvSuccess,\n} from './parse-csv.js';\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/parse-csv.ts","../src/batch/index.ts"],"names":["index"],"mappings":"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","file":"chunk-SRYKLKU7.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(input, { uf: options.uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Minimal RFC 4180 CSV column extractor for batch ETL (zero runtime deps).\n * @see docs/OFFICIAL-SOURCES.md\n */\n\nexport type ParseBatchCsvOptions = {\n col: string;\n delimiter?: string;\n skipHeader?: boolean;\n};\n\nexport type ParseBatchCsvSuccess = {\n ok: true;\n values: string[];\n};\n\nexport type ParseBatchCsvFailure = {\n ok: false;\n message: string;\n};\n\nexport type ParseBatchCsvResult = ParseBatchCsvSuccess | ParseBatchCsvFailure;\n\nfunction parseCsvRow(line: string, delimiter: string): string[] {\n const fields: string[] = [];\n let current = '';\n let inQuotes = false;\n\n for (let index = 0; index < line.length; index += 1) {\n const char = line[index];\n if (char === '\"') {\n if (inQuotes && line[index + 1] === '\"') {\n current += '\"';\n index += 1;\n } else {\n inQuotes = !inQuotes;\n }\n continue;\n }\n if (char === delimiter && !inQuotes) {\n fields.push(current);\n current = '';\n continue;\n }\n current += char;\n }\n\n fields.push(current);\n return fields;\n}\n\nfunction resolveColumnIndex(col: string, header: readonly string[]): number | null {\n const trimmed = col.trim();\n if (/^\\d+$/.test(trimmed)) {\n const index = Number.parseInt(trimmed, 10);\n if (index >= 0 && index < header.length) {\n return index;\n }\n return null;\n }\n\n const index = header.findIndex((field) => field.trim().toLowerCase() === trimmed.toLowerCase());\n return index >= 0 ? index : null;\n}\n\nexport function parseBatchCsv(raw: string, options: ParseBatchCsvOptions): ParseBatchCsvResult {\n const delimiter = options.delimiter ?? ',';\n const lines = raw.split(/\\r?\\n/).filter((line) => line.trim().length > 0);\n if (lines.length === 0) {\n return { ok: false, message: 'CSV input is empty' };\n }\n\n const skipHeader = options.skipHeader ?? true;\n let colIdx: number;\n let startIdx = 0;\n\n if (skipHeader) {\n const header = parseCsvRow(lines[0], delimiter);\n const resolved = resolveColumnIndex(options.col, header);\n if (resolved === null) {\n return {\n ok: false,\n message: `Column \"${options.col}\" not found in header: [${header.join(', ')}]`,\n };\n }\n colIdx = resolved;\n startIdx = 1;\n } else {\n const asIndex = Number.parseInt(options.col.trim(), 10);\n if (!/^\\d+$/.test(options.col.trim())) {\n return {\n ok: false,\n message: `Column \"${options.col}\" requires --skip-header when using header name`,\n };\n }\n colIdx = asIndex;\n }\n\n const values: string[] = [];\n for (let rowIndex = startIdx; rowIndex < lines.length; rowIndex += 1) {\n const row = parseCsvRow(lines[rowIndex], delimiter);\n const field = row.at(colIdx);\n if (field === undefined) {\n continue;\n }\n const cell = field.trim();\n if (cell.length > 0) {\n values.push(cell);\n }\n }\n\n if (values.length === 0) {\n return { ok: false, message: 'No values found in CSV column' };\n }\n\n return { ok: true, values };\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport { parseBatchCsv } from './parse-csv.js';\nexport type {\n ParseBatchCsvFailure,\n ParseBatchCsvOptions,\n ParseBatchCsvResult,\n ParseBatchCsvSuccess,\n} from './parse-csv.js';\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
@@ -6,8 +6,8 @@ var metadata_default = {
6
6
  endpoints: [
7
7
  "https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip"
8
8
  ],
9
- capturadoEm: "2026-07-25",
10
- atualizadoEm: "2026-07-25T05:52:47.005Z",
9
+ capturadoEm: "2026-07-26",
10
+ atualizadoEm: "2026-07-26T06:39:01.616Z",
11
11
  contagens: {
12
12
  naturezas: 90
13
13
  },
@@ -15,16 +15,16 @@ var metadata_default = {
15
15
  adicionados: 0,
16
16
  removidos: 0,
17
17
  alterados: 0,
18
- comparadoCom: "2026-07-24"
18
+ comparadoCom: "2026-07-25"
19
19
  },
20
20
  verificacao: {
21
21
  agendamento: "diario",
22
22
  workflow: "data-refresh-bot.yml",
23
- ultimaExecucao: "2026-07-25T05:52:47.005Z"
23
+ ultimaExecucao: "2026-07-26T06:39:01.616Z"
24
24
  },
25
25
  documentacao: "docs/OFFICIAL-SOURCES.md#natureza-juridica"
26
26
  };
27
27
 
28
28
  export { metadata_default };
29
- //# sourceMappingURL=chunk-GANT7YS2.js.map
30
- //# sourceMappingURL=chunk-GANT7YS2.js.map
29
+ //# sourceMappingURL=chunk-TLDJQPOU.js.map
30
+ //# sourceMappingURL=chunk-TLDJQPOU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/natureza-juridica/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,mBAAA;AAAA,EACN,IAAA,EAAQ,iCAAA;AAAA,EACR,KAAA,EAAS,2DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-GANT7YS2.js","sourcesContent":["{\n \"id\": \"natureza-juridica\",\n \"nome\": \"RFB CNPJ Naturezas Jurídicas\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Naturezas.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip\"\n ],\n \"capturadoEm\": \"2026-07-25\",\n \"atualizadoEm\": \"2026-07-25T05:52:47.005Z\",\n \"contagens\": {\n \"naturezas\": 90\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-24\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-25T05:52:47.005Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#natureza-juridica\"\n}\n"]}
1
+ {"version":3,"sources":["../src/natureza-juridica/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,mBAAA;AAAA,EACN,IAAA,EAAQ,iCAAA;AAAA,EACR,KAAA,EAAS,2DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,QAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-TLDJQPOU.js","sourcesContent":["{\n \"id\": \"natureza-juridica\",\n \"nome\": \"RFB CNPJ Naturezas Jurídicas\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Naturezas.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip\"\n ],\n \"capturadoEm\": \"2026-07-26\",\n \"atualizadoEm\": \"2026-07-26T06:39:01.616Z\",\n \"contagens\": {\n \"naturezas\": 90\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-07-25\"\n },\n \"verificacao\": {\n \"agendamento\": \"diario\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-07-26T06:39:01.616Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#natureza-juridica\"\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { applyFixes } from './chunk-KREI3O34.js';
1
+ import { applyFixes } from './chunk-FEXNH3M2.js';
2
2
  import { validateRg } from './chunk-6F3A3NT4.js';
3
3
  import { validateRenavam } from './chunk-4NS47CJG.js';
4
4
  import { validateProcessoJudicial } from './chunk-A4QBLVVO.js';
5
- import { validateTelefone } from './chunk-A5IAP2MF.js';
5
+ import { validateTelefone } from './chunk-NWIFX3YC.js';
6
6
  import { validateTituloEleitor } from './chunk-6WBUKUHD.js';
7
7
  import { validatePlaca } from './chunk-UG2YICWH.js';
8
8
  import { validateNfeChave } from './chunk-XRT44FMY.js';
@@ -123,5 +123,5 @@ function validateFixed(value, type, uf) {
123
123
  }
124
124
 
125
125
  export { sanitize };
126
- //# sourceMappingURL=chunk-YEBRRKXJ.js.map
127
- //# sourceMappingURL=chunk-YEBRRKXJ.js.map
126
+ //# sourceMappingURL=chunk-XFNEPZUF.js.map
127
+ //# sourceMappingURL=chunk-XFNEPZUF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-YEBRRKXJ.js","sourcesContent":["/**\n * ETL-style document sanitization — applies fixes then validates (BR-SANITIZE-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport { applyFixes } from './fixes.js';\n\nexport type SanitizableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'telefone'\n | 'cnh'\n | 'renavam'\n | 'titulo-eleitor'\n | 'processo-judicial'\n | 'rg'\n | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\n | 'ean'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'pix';\n\nexport type SanitizeOptions = {\n uf?: UfCode;\n};\n\nexport type SanitizeSuccess = {\n ok: true;\n value: string;\n fixes: string[];\n};\n\nexport type SanitizeFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type SanitizeResult = SanitizeSuccess | SanitizeFailure;\n\nexport type { FixResult } from './fixes.js';\n\ntype ValidateFixedResult =\n | { ok: true; value: string }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport function sanitize(\n raw: string,\n type: SanitizableDocumentType,\n options: SanitizeOptions = {},\n): SanitizeResult {\n const { value: fixed, fixes } = applyFixes(raw, type);\n\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual sanitization',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG sanitization',\n };\n }\n\n const validation = validateFixed(fixed, type, options.uf);\n if (!validation.ok) {\n return { ok: false, code: validation.code, message: validation.message };\n }\n\n return { ok: true, value: validation.value, fixes };\n}\n\nfunction validateFixed(value: string, type: SanitizableDocumentType, uf?: UfCode): ValidateFixedResult {\n switch (type) {\n case 'cpf': {\n const result = validateCpf(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(value, { uf: uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(value, { uf: uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unsupported type: ${String(_exhaustive)}` };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-XFNEPZUF.js","sourcesContent":["/**\n * ETL-style document sanitization — applies fixes then validates (BR-SANITIZE-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateEan } from '../core/ean/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validateProcessoJudicial } from '../core/processo-judicial/index.js';\nimport { validateRg } from '../core/rg/index.js';\nimport type { RgUfCode } from '../types/validation-result.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport { applyFixes } from './fixes.js';\n\nexport type SanitizableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'telefone'\n | 'cnh'\n | 'renavam'\n | 'titulo-eleitor'\n | 'processo-judicial'\n | 'rg'\n | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\n | 'ean'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'pix';\n\nexport type SanitizeOptions = {\n uf?: UfCode;\n};\n\nexport type SanitizeSuccess = {\n ok: true;\n value: string;\n fixes: string[];\n};\n\nexport type SanitizeFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type SanitizeResult = SanitizeSuccess | SanitizeFailure;\n\nexport type { FixResult } from './fixes.js';\n\ntype ValidateFixedResult =\n | { ok: true; value: string }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport function sanitize(\n raw: string,\n type: SanitizableDocumentType,\n options: SanitizeOptions = {},\n): SanitizeResult {\n const { value: fixed, fixes } = applyFixes(raw, type);\n\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual sanitization',\n };\n }\n\n if (type === 'rg' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for RG sanitization',\n };\n }\n\n const validation = validateFixed(fixed, type, options.uf);\n if (!validation.ok) {\n return { ok: false, code: validation.code, message: validation.message };\n }\n\n return { ok: true, value: validation.value, fixes };\n}\n\nfunction validateFixed(value: string, type: SanitizableDocumentType, uf?: UfCode): ValidateFixedResult {\n switch (type) {\n case 'cpf': {\n const result = validateCpf(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'processo-judicial': {\n const result = validateProcessoJudicial(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'rg': {\n const result = validateRg(value, { uf: uf as RgUfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'ean': {\n const result = validateEan(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(value, { uf: uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(value);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unsupported type: ${String(_exhaustive)}` };\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { normalizeForPlatform } from './chunk-7PUZIHJY.js';
1
+ import { normalizeForPlatform } from './chunk-KFDNEAXI.js';
2
2
 
3
3
  // src/platform/types.ts
4
4
  var PLATFORM_DOCUMENT_TYPES = [
@@ -40,5 +40,5 @@ function compareRuntime(a, b, type, options = {}) {
40
40
  }
41
41
 
42
42
  export { compare, compareRuntime };
43
- //# sourceMappingURL=chunk-LRVGXGVE.js.map
44
- //# sourceMappingURL=chunk-LRVGXGVE.js.map
43
+ //# sourceMappingURL=chunk-XW3A2KSV.js.map
44
+ //# sourceMappingURL=chunk-XW3A2KSV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/platform/types.ts","../src/compare/index.ts"],"names":[],"mappings":";;;AAKO,IAAM,uBAAA,GAA0B;AAAA,EACrC,KAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,oBAAA;AAAA,EACA,mCAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA;AAMO,SAAS,uBAAuB,IAAA,EAA4C;AACjF,EAAA,OAAQ,uBAAA,CAA8C,SAAS,IAAI,CAAA;AACrE;;;ACrBO,SAAS,QACd,CAAA,EACA,CAAA,EACA,IAAA,EACA,OAAA,GAA2B,EAAC,EACb;AACf,EAAA,MAAM,IAAA,GAAO,oBAAA,CAAqB,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AAClD,EAAA,MAAM,KAAA,GAAQ,oBAAA,CAAqB,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACnD,EAAA,OAAO,EAAE,KAAA,EAAO,IAAA,KAAS,KAAA,EAAM;AACjC;AAGO,SAAS,eACd,CAAA,EACA,CAAA,EACA,IAAA,EACA,OAAA,GAA2B,EAAC,EACmD;AAC/E,EAAA,IAAI,CAAC,sBAAA,CAAuB,IAAI,CAAA,EAAG;AACjC,IAAA,OAAO,EAAE,OAAO,KAAA,EAAO,IAAA,EAAM,sBAAsB,OAAA,EAAS,CAAA,uBAAA,EAA0B,IAAI,CAAA,CAAA,EAAG;AAAA,EAC/F;AACA,EAAA,OAAO,OAAA,CAAQ,CAAA,EAAG,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACpC","file":"chunk-LRVGXGVE.js","sourcesContent":["import type { SanitizableDocumentType } from '../sanitize/index.js';\n\n/** Document types supported by compare, batch, and diff platform APIs. */\nexport type PlatformDocumentType = SanitizableDocumentType | 'pix' | 'brcode';\n\nexport const PLATFORM_DOCUMENT_TYPES = [\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'processo-judicial',\n 'rg',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'ean',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n 'pix',\n 'brcode',\n] as const satisfies readonly PlatformDocumentType[];\n\nexport type PlatformOptions = {\n uf?: import('../types/validation-result.js').UfCode;\n};\n\nexport function isPlatformDocumentType(type: string): type is PlatformDocumentType {\n return (PLATFORM_DOCUMENT_TYPES as readonly string[]).includes(type);\n}\n","/**\n * Unified equality check — normalizes via strip/validate canonical (BR-COMPARE-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { normalizeForPlatform } from '../platform/normalize.js';\nimport { isPlatformDocumentType } from '../platform/types.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\n\nexport type CompareResult = {\n equal: boolean;\n};\n\nexport function compare(\n a: string,\n b: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): CompareResult {\n const left = normalizeForPlatform(a, type, options);\n const right = normalizeForPlatform(b, type, options);\n return { equal: left === right };\n}\n\n/** Runtime guard for dynamic callers (non-exhaustive type string). */\nexport function compareRuntime(\n a: string,\n b: string,\n type: string,\n options: PlatformOptions = {},\n): CompareResult | { equal: false; code: 'UNSUPPORTED_FORMAT'; message: string } {\n if (!isPlatformDocumentType(type)) {\n return { equal: false, code: 'UNSUPPORTED_FORMAT', message: `Unknown document type: ${type}` };\n }\n return compare(a, b, type, options);\n}\n"]}
1
+ {"version":3,"sources":["../src/platform/types.ts","../src/compare/index.ts"],"names":[],"mappings":";;;AAKO,IAAM,uBAAA,GAA0B;AAAA,EACrC,KAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,oBAAA;AAAA,EACA,mCAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA;AAMO,SAAS,uBAAuB,IAAA,EAA4C;AACjF,EAAA,OAAQ,uBAAA,CAA8C,SAAS,IAAI,CAAA;AACrE;;;ACrBO,SAAS,QACd,CAAA,EACA,CAAA,EACA,IAAA,EACA,OAAA,GAA2B,EAAC,EACb;AACf,EAAA,MAAM,IAAA,GAAO,oBAAA,CAAqB,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AAClD,EAAA,MAAM,KAAA,GAAQ,oBAAA,CAAqB,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACnD,EAAA,OAAO,EAAE,KAAA,EAAO,IAAA,KAAS,KAAA,EAAM;AACjC;AAGO,SAAS,eACd,CAAA,EACA,CAAA,EACA,IAAA,EACA,OAAA,GAA2B,EAAC,EACmD;AAC/E,EAAA,IAAI,CAAC,sBAAA,CAAuB,IAAI,CAAA,EAAG;AACjC,IAAA,OAAO,EAAE,OAAO,KAAA,EAAO,IAAA,EAAM,sBAAsB,OAAA,EAAS,CAAA,uBAAA,EAA0B,IAAI,CAAA,CAAA,EAAG;AAAA,EAC/F;AACA,EAAA,OAAO,OAAA,CAAQ,CAAA,EAAG,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACpC","file":"chunk-XW3A2KSV.js","sourcesContent":["import type { SanitizableDocumentType } from '../sanitize/index.js';\n\n/** Document types supported by compare, batch, and diff platform APIs. */\nexport type PlatformDocumentType = SanitizableDocumentType | 'pix' | 'brcode';\n\nexport const PLATFORM_DOCUMENT_TYPES = [\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'processo-judicial',\n 'rg',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'ean',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n 'pix',\n 'brcode',\n] as const satisfies readonly PlatformDocumentType[];\n\nexport type PlatformOptions = {\n uf?: import('../types/validation-result.js').UfCode;\n};\n\nexport function isPlatformDocumentType(type: string): type is PlatformDocumentType {\n return (PLATFORM_DOCUMENT_TYPES as readonly string[]).includes(type);\n}\n","/**\n * Unified equality check — normalizes via strip/validate canonical (BR-COMPARE-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { normalizeForPlatform } from '../platform/normalize.js';\nimport { isPlatformDocumentType } from '../platform/types.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\n\nexport type CompareResult = {\n equal: boolean;\n};\n\nexport function compare(\n a: string,\n b: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): CompareResult {\n const left = normalizeForPlatform(a, type, options);\n const right = normalizeForPlatform(b, type, options);\n return { equal: left === right };\n}\n\n/** Runtime guard for dynamic callers (non-exhaustive type string). */\nexport function compareRuntime(\n a: string,\n b: string,\n type: string,\n options: PlatformOptions = {},\n): CompareResult | { equal: false; code: 'UNSUPPORTED_FORMAT'; message: string } {\n if (!isPlatformDocumentType(type)) {\n return { equal: false, code: 'UNSUPPORTED_FORMAT', message: `Unknown document type: ${type}` };\n }\n return compare(a, b, type, options);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-A5IAP2MF.js';
1
+ import { validateTelefone, TELEFONE_CELULAR_MASK_PATTERN, TELEFONE_FIXO_MASK_PATTERN } from './chunk-NWIFX3YC.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-JPWWYGRJ.js.map
24
- //# sourceMappingURL=chunk-JPWWYGRJ.js.map
23
+ //# sourceMappingURL=chunk-YATWR3RN.js.map
24
+ //# sourceMappingURL=chunk-YATWR3RN.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-JPWWYGRJ.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-YATWR3RN.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 { normalizeForPlatform } from './chunk-7PUZIHJY.js';
1
+ import { normalizeForPlatform } from './chunk-KFDNEAXI.js';
2
2
 
3
3
  // src/diff/index.ts
4
4
  function diff(a, b, type, options = {}) {
@@ -100,5 +100,5 @@ function splitFields(value, type) {
100
100
  }
101
101
 
102
102
  export { diff };
103
- //# sourceMappingURL=chunk-LWZHBEWL.js.map
104
- //# sourceMappingURL=chunk-LWZHBEWL.js.map
103
+ //# sourceMappingURL=chunk-ZUI5BHXF.js.map
104
+ //# sourceMappingURL=chunk-ZUI5BHXF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-LWZHBEWL.js","sourcesContent":["/**\n * Field-level document diff — per-type structural decomposition (BR-DIFF-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { normalizeForPlatform } from '../platform/normalize.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\n\nexport type DiffField = {\n field: string;\n a: string;\n b: string;\n};\n\nexport type DiffResult = {\n changed: boolean;\n fields: DiffField[];\n};\n\nexport function diff(\n a: string,\n b: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): DiffResult {\n const left = normalizeForPlatform(a, type, options);\n const right = normalizeForPlatform(b, type, options);\n\n if (left === right) {\n return { changed: false, fields: [] };\n }\n\n const leftFields = splitFields(left, type);\n const rightFields = splitFields(right, type);\n const keys = new Set([...Object.keys(leftFields), ...Object.keys(rightFields)]);\n const fields: DiffField[] = [];\n\n for (const field of keys) {\n const leftValue = leftFields[field];\n const rightValue = rightFields[field];\n if (leftValue !== rightValue) {\n fields.push({ field, a: leftValue, b: rightValue });\n }\n }\n\n return { changed: fields.length > 0, fields };\n}\n\nfunction splitFields(value: string, type: PlatformDocumentType): Record<string, string> {\n switch (type) {\n case 'cpf':\n return {\n base: value.slice(0, 9),\n dv: value.slice(9, 11),\n };\n case 'cnpj':\n return {\n base: value.slice(0, 12),\n dv: value.slice(12, 14),\n };\n case 'cep':\n return {\n prefix: value.slice(0, 5),\n suffix: value.slice(5, 8),\n };\n case 'telefone':\n return { ddd: value.slice(0, 2), subscriber: value.slice(2) };\n case 'pis-pasep':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'cnh':\n return {\n base: value.slice(0, 9),\n dv1: value.slice(9, 10),\n dv2: value.slice(10, 11),\n };\n case 'renavam':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'titulo-eleitor':\n return {\n sequential: value.slice(0, 8),\n uf: value.slice(8, 10),\n dv: value.slice(10, 12),\n };\n case 'processo-judicial':\n return {\n sequencial: value.slice(0, 7),\n checkDigits: value.slice(7, 9),\n ano: value.slice(9, 13),\n segmentoJustica: value.slice(13, 14),\n tribunal: value.slice(14, 16),\n origem: value.slice(16, 20),\n };\n case 'nfe-chave':\n return {\n cUF: value.slice(0, 2),\n aamm: value.slice(2, 6),\n cnpj: value.slice(6, 20),\n mod: value.slice(20, 22),\n serie: value.slice(22, 25),\n nNF: value.slice(25, 34),\n tpEmis: value.slice(34, 35),\n cNF: value.slice(35, 43),\n cDV: value.slice(43, 44),\n };\n case 'placa':\n return { value };\n case 'boleto':\n case 'cartao-credito':\n case 'ean':\n case 'inscricao-estadual':\n case 'inscricao-estadual-produtor-rural':\n case 'rg':\n case 'pix':\n case 'brcode':\n return { value };\n default: {\n const _exhaustive: never = type;\n void _exhaustive;\n return { value };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-ZUI5BHXF.js","sourcesContent":["/**\n * Field-level document diff — per-type structural decomposition (BR-DIFF-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { normalizeForPlatform } from '../platform/normalize.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\n\nexport type DiffField = {\n field: string;\n a: string;\n b: string;\n};\n\nexport type DiffResult = {\n changed: boolean;\n fields: DiffField[];\n};\n\nexport function diff(\n a: string,\n b: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): DiffResult {\n const left = normalizeForPlatform(a, type, options);\n const right = normalizeForPlatform(b, type, options);\n\n if (left === right) {\n return { changed: false, fields: [] };\n }\n\n const leftFields = splitFields(left, type);\n const rightFields = splitFields(right, type);\n const keys = new Set([...Object.keys(leftFields), ...Object.keys(rightFields)]);\n const fields: DiffField[] = [];\n\n for (const field of keys) {\n const leftValue = leftFields[field];\n const rightValue = rightFields[field];\n if (leftValue !== rightValue) {\n fields.push({ field, a: leftValue, b: rightValue });\n }\n }\n\n return { changed: fields.length > 0, fields };\n}\n\nfunction splitFields(value: string, type: PlatformDocumentType): Record<string, string> {\n switch (type) {\n case 'cpf':\n return {\n base: value.slice(0, 9),\n dv: value.slice(9, 11),\n };\n case 'cnpj':\n return {\n base: value.slice(0, 12),\n dv: value.slice(12, 14),\n };\n case 'cep':\n return {\n prefix: value.slice(0, 5),\n suffix: value.slice(5, 8),\n };\n case 'telefone':\n return { ddd: value.slice(0, 2), subscriber: value.slice(2) };\n case 'pis-pasep':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'cnh':\n return {\n base: value.slice(0, 9),\n dv1: value.slice(9, 10),\n dv2: value.slice(10, 11),\n };\n case 'renavam':\n return {\n base: value.slice(0, 10),\n dv: value.slice(10, 11),\n };\n case 'titulo-eleitor':\n return {\n sequential: value.slice(0, 8),\n uf: value.slice(8, 10),\n dv: value.slice(10, 12),\n };\n case 'processo-judicial':\n return {\n sequencial: value.slice(0, 7),\n checkDigits: value.slice(7, 9),\n ano: value.slice(9, 13),\n segmentoJustica: value.slice(13, 14),\n tribunal: value.slice(14, 16),\n origem: value.slice(16, 20),\n };\n case 'nfe-chave':\n return {\n cUF: value.slice(0, 2),\n aamm: value.slice(2, 6),\n cnpj: value.slice(6, 20),\n mod: value.slice(20, 22),\n serie: value.slice(22, 25),\n nNF: value.slice(25, 34),\n tpEmis: value.slice(34, 35),\n cNF: value.slice(35, 43),\n cDV: value.slice(43, 44),\n };\n case 'placa':\n return { value };\n case 'boleto':\n case 'cartao-credito':\n case 'ean':\n case 'inscricao-estadual':\n case 'inscricao-estadual-produtor-rural':\n case 'rg':\n case 'pix':\n case 'brcode':\n return { value };\n default: {\n const _exhaustive: never = type;\n void _exhaustive;\n return { value };\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { metadata_default } from './chunk-FZLKE6Q7.js';
1
+ import { metadata_default } from './chunk-3FOKQR42.js';
2
2
  import { resolveFixedLengthCodeLookup } from './chunk-2WWKXKJV.js';
3
3
  import { unwrapLookupValue } from './chunk-3F3YHV65.js';
4
4
 
package/dist/compare.js CHANGED
@@ -1,18 +1,18 @@
1
- export { compare, compareRuntime } from './chunk-LRVGXGVE.js';
2
- import './chunk-7PUZIHJY.js';
3
- import './chunk-KREI3O34.js';
1
+ export { compare, compareRuntime } from './chunk-XW3A2KSV.js';
2
+ import './chunk-KFDNEAXI.js';
3
+ import './chunk-FEXNH3M2.js';
4
4
  import './chunk-GVK6IMBF.js';
5
5
  import './chunk-6F3A3NT4.js';
6
6
  import './chunk-4NS47CJG.js';
7
7
  import './chunk-A4QBLVVO.js';
8
- import './chunk-A5IAP2MF.js';
8
+ import './chunk-NWIFX3YC.js';
9
9
  import './chunk-6WBUKUHD.js';
10
10
  import './chunk-UG2YICWH.js';
11
11
  import './chunk-XRT44FMY.js';
12
12
  import './chunk-HORKZQIH.js';
13
13
  import './chunk-OHBSYBG7.js';
14
14
  import './chunk-FGOPYU2L.js';
15
- import './chunk-QQ7EAQZE.js';
15
+ import './chunk-6HMTE5DP.js';
16
16
  import './chunk-OFAU4VTU.js';
17
17
  import './chunk-C4E2AE2A.js';
18
18
  import './chunk-RY2BSDOR.js';
@@ -1,35 +1,35 @@
1
- import { metadata_default as metadata_default$u } from './chunk-HRXHZQUM.js';
1
+ import { metadata_default as metadata_default$u } from './chunk-6FX7XGDI.js';
2
2
  import { metadata_default as metadata_default$k } from './chunk-BG72VA7O.js';
3
- import { metadata_default as metadata_default$q } from './chunk-JBLVS5LK.js';
3
+ import { metadata_default as metadata_default$q } from './chunk-JZ7WP2HH.js';
4
4
  import { metadata_default as metadata_default$3 } from './chunk-JU6FPQVK.js';
5
5
  import { metadata_default as metadata_default$p } from './chunk-O6T5P6SG.js';
6
6
  import { metadata_default as metadata_default$n } from './chunk-DYL6FSM2.js';
7
- import { metadata_default as metadata_default$5 } from './chunk-GAGTNYOM.js';
8
- import { metadata_default as metadata_default$b } from './chunk-GANT7YS2.js';
7
+ import { metadata_default as metadata_default$5 } from './chunk-CVLAY5N3.js';
8
+ import { metadata_default as metadata_default$b } from './chunk-TLDJQPOU.js';
9
9
  import { metadata_default as metadata_default$e } from './chunk-YKBGE3PP.js';
10
10
  import { metadata_default as metadata_default$l } from './chunk-6BQJTG3N.js';
11
11
  import { metadata_default as metadata_default$r } from './chunk-EDX7VK7X.js';
12
- import { metadata_default as metadata_default$6 } from './chunk-3O7FNLIZ.js';
12
+ import { metadata_default as metadata_default$6 } from './chunk-HISLQG65.js';
13
13
  import { metadata_default as metadata_default$t } from './chunk-2I3QBCG7.js';
14
14
  import { metadata_default as metadata_default$s } from './chunk-2OLU7OKM.js';
15
15
  import { metadata_default as metadata_default$v } from './chunk-PRSHGHAS.js';
16
16
  import { metadata_default as metadata_default$i } from './chunk-G65WTGYO.js';
17
- import { metadata_default as metadata_default$4 } from './chunk-6BTFJV5R.js';
17
+ import { metadata_default as metadata_default$4 } from './chunk-EHJ2K45U.js';
18
18
  import { metadata_default as metadata_default$j } from './chunk-AOBSYTR2.js';
19
19
  import { metadata_default as metadata_default$8 } from './chunk-SVRNYFMY.js';
20
20
  import { metadata_default } from './chunk-RQF43XGN.js';
21
- import { metadata_default as metadata_default$d } from './chunk-U7PVHR5D.js';
22
- import { metadata_default as metadata_default$7 } from './chunk-2M2VOKY7.js';
21
+ import { metadata_default as metadata_default$d } from './chunk-B45J7DYT.js';
22
+ import { metadata_default as metadata_default$7 } from './chunk-FI2NJISW.js';
23
23
  import { metadata_default as metadata_default$h } from './chunk-YQN6RNJN.js';
24
24
  import { metadata_default as metadata_default$g } from './chunk-BPGBJFTV.js';
25
- import { metadata_default as metadata_default$f } from './chunk-BT7RDPXN.js';
26
- import { metadata_default as metadata_default$a } from './chunk-PT6A3H6A.js';
25
+ import { metadata_default as metadata_default$f } from './chunk-7HQQPIXQ.js';
26
+ import { metadata_default as metadata_default$a } from './chunk-PR2MDW2D.js';
27
27
  import { metadata_default as metadata_default$9 } from './chunk-RUAXMVY5.js';
28
- import { metadata_default as metadata_default$c } from './chunk-FZLKE6Q7.js';
29
- import { metadata_default as metadata_default$2 } from './chunk-CIUH6R2V.js';
28
+ import { metadata_default as metadata_default$c } from './chunk-3FOKQR42.js';
29
+ import { metadata_default as metadata_default$2 } from './chunk-RQJCXDBI.js';
30
30
  import { metadata_default as metadata_default$o } from './chunk-OHRKSDKR.js';
31
- import { metadata_default as metadata_default$1 } from './chunk-TNHJMEX5.js';
32
- import { ddd_metadata_default } from './chunk-QQ7EAQZE.js';
31
+ import { metadata_default as metadata_default$1 } from './chunk-AGIRICJJ.js';
32
+ import { ddd_metadata_default } from './chunk-6HMTE5DP.js';
33
33
  import { faixa_metadata_default } from './chunk-RY2BSDOR.js';
34
34
  import { metadata_default as metadata_default$m } from './chunk-7KNQHWUO.js';
35
35
 
package/dist/detect.js CHANGED
@@ -1,13 +1,13 @@
1
- export { detect } from './chunk-4TSHZZWM.js';
1
+ export { detect } from './chunk-EIH6JO6Q.js';
2
2
  import './chunk-A4QBLVVO.js';
3
- import './chunk-A5IAP2MF.js';
3
+ import './chunk-NWIFX3YC.js';
4
4
  import './chunk-6WBUKUHD.js';
5
5
  import './chunk-UG2YICWH.js';
6
6
  import './chunk-XRT44FMY.js';
7
7
  import './chunk-HORKZQIH.js';
8
8
  import './chunk-OHBSYBG7.js';
9
9
  import './chunk-FGOPYU2L.js';
10
- import './chunk-QQ7EAQZE.js';
10
+ import './chunk-6HMTE5DP.js';
11
11
  import './chunk-OFAU4VTU.js';
12
12
  import './chunk-C4E2AE2A.js';
13
13
  import './chunk-RY2BSDOR.js';
package/dist/diff.js CHANGED
@@ -1,18 +1,18 @@
1
- export { diff } from './chunk-LWZHBEWL.js';
2
- import './chunk-7PUZIHJY.js';
3
- import './chunk-KREI3O34.js';
1
+ export { diff } from './chunk-ZUI5BHXF.js';
2
+ import './chunk-KFDNEAXI.js';
3
+ import './chunk-FEXNH3M2.js';
4
4
  import './chunk-GVK6IMBF.js';
5
5
  import './chunk-6F3A3NT4.js';
6
6
  import './chunk-4NS47CJG.js';
7
7
  import './chunk-A4QBLVVO.js';
8
- import './chunk-A5IAP2MF.js';
8
+ import './chunk-NWIFX3YC.js';
9
9
  import './chunk-6WBUKUHD.js';
10
10
  import './chunk-UG2YICWH.js';
11
11
  import './chunk-XRT44FMY.js';
12
12
  import './chunk-HORKZQIH.js';
13
13
  import './chunk-OHBSYBG7.js';
14
14
  import './chunk-FGOPYU2L.js';
15
- import './chunk-QQ7EAQZE.js';
15
+ import './chunk-6HMTE5DP.js';
16
16
  import './chunk-OFAU4VTU.js';
17
17
  import './chunk-C4E2AE2A.js';
18
18
  import './chunk-RY2BSDOR.js';
package/dist/generate.js CHANGED
@@ -1,5 +1,5 @@
1
- export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-UQ26MUJW.js';
2
- import './chunk-JPWWYGRJ.js';
1
+ export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-63GNDWMA.js';
2
+ import './chunk-YATWR3RN.js';
3
3
  import './chunk-A255RZZ7.js';
4
4
  import './chunk-KCRWHMDY.js';
5
5
  import './chunk-YC4GZZJP.js';
@@ -13,14 +13,14 @@ import './chunk-BTRWDUZF.js';
13
13
  import './chunk-XFKSJRWM.js';
14
14
  import './chunk-HEPUV3XR.js';
15
15
  import './chunk-4NS47CJG.js';
16
- import './chunk-A5IAP2MF.js';
16
+ import './chunk-NWIFX3YC.js';
17
17
  import './chunk-6WBUKUHD.js';
18
18
  import './chunk-UG2YICWH.js';
19
19
  import './chunk-XRT44FMY.js';
20
20
  import './chunk-HORKZQIH.js';
21
21
  import './chunk-OHBSYBG7.js';
22
22
  import './chunk-FGOPYU2L.js';
23
- import './chunk-QQ7EAQZE.js';
23
+ import './chunk-6HMTE5DP.js';
24
24
  import './chunk-C4E2AE2A.js';
25
25
  import './chunk-RY2BSDOR.js';
26
26
  import './chunk-JZOS2MO7.js';
package/dist/ibpt.js CHANGED
@@ -1,4 +1,4 @@
1
- import { metadata_default } from './chunk-U7PVHR5D.js';
1
+ import { metadata_default } from './chunk-B45J7DYT.js';
2
2
  import { lookupInvalidInput, lookupInvalidFormat, lookupNotFound, lookupFound, unwrapLookupValue } from './chunk-3F3YHV65.js';
3
3
 
4
4
  // src/ibpt/data/cargas.json
package/dist/incoterms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { metadata_default } from './chunk-2M2VOKY7.js';
1
+ import { metadata_default } from './chunk-FI2NJISW.js';
2
2
  import { resolveStringCodeLookup } from './chunk-2WWKXKJV.js';
3
3
  import { unwrapLookupValue } from './chunk-3F3YHV65.js';
4
4