@br-validators/core 0.11.0-alpha.0 → 0.12.0-alpha.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.
- package/README.md +3 -0
- package/dist/boleto.d.ts +2 -2
- package/dist/boleto.js +3 -2
- package/dist/brcode.d.ts +2 -2
- package/dist/brcode.js +9 -6
- package/dist/cartao-credito.d.ts +2 -2
- package/dist/cartao-credito.js +4 -2
- package/dist/cep.d.ts +2 -2
- package/dist/cep.js +6 -3
- package/dist/chunk-2CNYSY3Z.js +3 -0
- package/dist/chunk-2CNYSY3Z.js.map +1 -0
- package/dist/{chunk-GLKGX552.js → chunk-2JJS46FM.js} +5 -23
- package/dist/chunk-2JJS46FM.js.map +1 -0
- package/dist/{chunk-FLZ6IHOD.js → chunk-3QP6R46N.js} +119 -496
- package/dist/chunk-3QP6R46N.js.map +1 -0
- package/dist/chunk-4SNBZFS5.js +8 -0
- package/dist/chunk-4SNBZFS5.js.map +1 -0
- package/dist/{chunk-IW3ESGWH.js → chunk-4W4OKLSZ.js} +4 -25
- package/dist/chunk-4W4OKLSZ.js.map +1 -0
- package/dist/chunk-4Y2FBO57.js +26 -0
- package/dist/chunk-4Y2FBO57.js.map +1 -0
- package/dist/{chunk-465IC76U.js → chunk-5UL3M7IU.js} +4 -23
- package/dist/chunk-5UL3M7IU.js.map +1 -0
- package/dist/chunk-6QJFMOIX.js +22 -0
- package/dist/chunk-6QJFMOIX.js.map +1 -0
- package/dist/chunk-7ZL7PZII.js +187 -0
- package/dist/chunk-7ZL7PZII.js.map +1 -0
- package/dist/chunk-BFZPCEYB.js +14 -0
- package/dist/chunk-BFZPCEYB.js.map +1 -0
- package/dist/chunk-CDGRHI7W.js +22 -0
- package/dist/chunk-CDGRHI7W.js.map +1 -0
- package/dist/chunk-CQPM43VV.js +3 -0
- package/dist/chunk-CQPM43VV.js.map +1 -0
- package/dist/chunk-D36RM7OD.js +207 -0
- package/dist/chunk-D36RM7OD.js.map +1 -0
- package/dist/{chunk-CR45BOLS.js → chunk-EPKHEW5V.js} +4 -13
- package/dist/chunk-EPKHEW5V.js.map +1 -0
- package/dist/{chunk-5BBNLRZP.js → chunk-F6PTZY4O.js} +5 -14
- package/dist/chunk-F6PTZY4O.js.map +1 -0
- package/dist/chunk-FXLVNCG3.js +26 -0
- package/dist/chunk-FXLVNCG3.js.map +1 -0
- package/dist/chunk-G24G7WR5.js +3 -0
- package/dist/chunk-G24G7WR5.js.map +1 -0
- package/dist/chunk-G2Y63PIF.js +24 -0
- package/dist/chunk-G2Y63PIF.js.map +1 -0
- package/dist/chunk-G32U6YQ5.js +14 -0
- package/dist/chunk-G32U6YQ5.js.map +1 -0
- package/dist/{chunk-TVVNTLIH.js → chunk-GRDUTHNX.js} +3 -3
- package/dist/{chunk-TVVNTLIH.js.map → chunk-GRDUTHNX.js.map} +1 -1
- package/dist/chunk-GVK6IMBF.js +3 -0
- package/dist/chunk-GVK6IMBF.js.map +1 -0
- package/dist/chunk-IQGRFAQV.js +23 -0
- package/dist/chunk-IQGRFAQV.js.map +1 -0
- package/dist/chunk-JQABTHUJ.js +3 -0
- package/dist/chunk-JQABTHUJ.js.map +1 -0
- package/dist/{chunk-GN7QIQE6.js → chunk-KH7DWOUA.js} +5 -23
- package/dist/chunk-KH7DWOUA.js.map +1 -0
- package/dist/chunk-KQDLIGSG.js +14 -0
- package/dist/chunk-KQDLIGSG.js.map +1 -0
- package/dist/chunk-LF2B4VPE.js +3 -0
- package/dist/chunk-LF2B4VPE.js.map +1 -0
- package/dist/chunk-LGD2JJBZ.js +288 -0
- package/dist/chunk-LGD2JJBZ.js.map +1 -0
- package/dist/{chunk-MQT25QN7.js → chunk-LYBFUKHR.js} +4 -3
- package/dist/chunk-LYBFUKHR.js.map +1 -0
- package/dist/chunk-MFNJTAUS.js +3 -0
- package/dist/chunk-MFNJTAUS.js.map +1 -0
- package/dist/{chunk-D5JMGN7U.js → chunk-MK7OJUF5.js} +7 -5
- package/dist/chunk-MK7OJUF5.js.map +1 -0
- package/dist/chunk-MLPXW7N2.js +226 -0
- package/dist/chunk-MLPXW7N2.js.map +1 -0
- package/dist/{chunk-BBL6ZPXH.js → chunk-MSLJF2FM.js} +18 -3
- package/dist/chunk-MSLJF2FM.js.map +1 -0
- package/dist/{chunk-V3OWDXRU.js → chunk-NHLLC6WH.js} +4 -3
- package/dist/chunk-NHLLC6WH.js.map +1 -0
- package/dist/chunk-OCYXNLHO.js +307 -0
- package/dist/chunk-OCYXNLHO.js.map +1 -0
- package/dist/{chunk-B2TDI3YS.js → chunk-OTZHMJYE.js} +3 -3
- package/dist/{chunk-B2TDI3YS.js.map → chunk-OTZHMJYE.js.map} +1 -1
- package/dist/chunk-P55H5YRX.js +3 -0
- package/dist/chunk-P55H5YRX.js.map +1 -0
- package/dist/chunk-PB4RIS6G.js +27 -0
- package/dist/chunk-PB4RIS6G.js.map +1 -0
- package/dist/chunk-QGMVUIDD.js +3 -0
- package/dist/chunk-QGMVUIDD.js.map +1 -0
- package/dist/chunk-RYGAK7PB.js +3 -0
- package/dist/chunk-RYGAK7PB.js.map +1 -0
- package/dist/chunk-US4OLTJ2.js +104 -0
- package/dist/chunk-US4OLTJ2.js.map +1 -0
- package/dist/{chunk-GEHAH4OH.js → chunk-WCQUQ2WX.js} +4 -4
- package/dist/{chunk-GEHAH4OH.js.map → chunk-WCQUQ2WX.js.map} +1 -1
- package/dist/chunk-WLE2ENQA.js +86 -0
- package/dist/chunk-WLE2ENQA.js.map +1 -0
- package/dist/{chunk-2KTD23PD.js → chunk-WPL47PWJ.js} +5 -14
- package/dist/chunk-WPL47PWJ.js.map +1 -0
- package/dist/chunk-XKY2CV3G.js +14 -0
- package/dist/chunk-XKY2CV3G.js.map +1 -0
- package/dist/chunk-XUO7FV6Z.js +14 -0
- package/dist/chunk-XUO7FV6Z.js.map +1 -0
- package/dist/chunk-Y2KUN2D3.js +3 -0
- package/dist/chunk-Y2KUN2D3.js.map +1 -0
- package/dist/chunk-Y6IW2LMW.js +460 -0
- package/dist/chunk-Y6IW2LMW.js.map +1 -0
- package/dist/chunk-YGA5W54J.js +3 -0
- package/dist/chunk-YGA5W54J.js.map +1 -0
- package/dist/{chunk-UE4PVN6Y.js → chunk-YXELVV37.js} +5 -14
- package/dist/chunk-YXELVV37.js.map +1 -0
- package/dist/chunk-YYHS5WQN.js +28 -0
- package/dist/chunk-YYHS5WQN.js.map +1 -0
- package/dist/chunk-ZAUZRIOU.js +23 -0
- package/dist/chunk-ZAUZRIOU.js.map +1 -0
- package/dist/chunk-ZH4RJNG7.js +3 -0
- package/dist/chunk-ZH4RJNG7.js.map +1 -0
- package/dist/cnh.d.ts +39 -0
- package/dist/cnh.js +11 -0
- package/dist/cnh.js.map +1 -0
- package/dist/cnpj.d.ts +2 -2
- package/dist/cnpj.js +6 -4
- package/dist/cpf.d.ts +2 -2
- package/dist/cpf.js +6 -4
- package/dist/detect.d.ts +23 -0
- package/dist/detect.js +26 -0
- package/dist/detect.js.map +1 -0
- package/dist/generate.d.ts +10 -0
- package/dist/generate.js +29 -0
- package/dist/generate.js.map +1 -0
- package/dist/index-CZLo9YOT.d.ts +21 -0
- package/dist/index.d.ts +12 -4
- package/dist/index.js +60 -25
- package/dist/index.js.map +1 -1
- package/dist/inscricao-estadual-produtor-rural-CfWUaggb.d.ts +46 -0
- package/dist/inscricao-estadual-produtor-rural.d.ts +2 -0
- package/dist/inscricao-estadual-produtor-rural.js +7 -0
- package/dist/inscricao-estadual-produtor-rural.js.map +1 -0
- package/dist/inscricao-estadual.d.ts +4 -21
- package/dist/inscricao-estadual.js +5 -2
- package/dist/nfe-chave.d.ts +71 -0
- package/dist/nfe-chave.js +6 -0
- package/dist/nfe-chave.js.map +1 -0
- package/dist/pis-pasep.d.ts +2 -2
- package/dist/pis-pasep.js +5 -3
- package/dist/{pix-BtTx04Si.d.ts → pix-ddldLlb7.d.ts} +1 -1
- package/dist/pix.d.ts +2 -2
- package/dist/pix.js +8 -6
- package/dist/placa.d.ts +2 -2
- package/dist/placa.js +6 -3
- package/dist/renavam.d.ts +37 -0
- package/dist/renavam.js +11 -0
- package/dist/renavam.js.map +1 -0
- package/dist/sanitize.d.ts +9 -0
- package/dist/sanitize.js +24 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/telefone.d.ts +2 -2
- package/dist/telefone.js +4 -2
- package/dist/titulo-eleitor.d.ts +56 -0
- package/dist/titulo-eleitor.js +10 -0
- package/dist/titulo-eleitor.js.map +1 -0
- package/dist/{validation-result-C-Ei-lZH.d.ts → validation-result-BhQE-1_O.d.ts} +64 -2
- package/package.json +33 -1
- package/dist/chunk-2KTD23PD.js.map +0 -1
- package/dist/chunk-465IC76U.js.map +0 -1
- package/dist/chunk-5BBNLRZP.js.map +0 -1
- package/dist/chunk-BBL6ZPXH.js.map +0 -1
- package/dist/chunk-CR45BOLS.js.map +0 -1
- package/dist/chunk-D5JMGN7U.js.map +0 -1
- package/dist/chunk-FLZ6IHOD.js.map +0 -1
- package/dist/chunk-GLKGX552.js.map +0 -1
- package/dist/chunk-GN7QIQE6.js.map +0 -1
- package/dist/chunk-IW3ESGWH.js.map +0 -1
- package/dist/chunk-MQT25QN7.js.map +0 -1
- package/dist/chunk-UE4PVN6Y.js.map +0 -1
- package/dist/chunk-V3OWDXRU.js.map +0 -1
- package/dist/chunk-W6UXVWSR.js +0 -13
- package/dist/chunk-W6UXVWSR.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,6 +26,9 @@ Requires Node ≥ 18. ESM only (`"type": "module"`).
|
|
|
26
26
|
| CNPJ | `validateCnpj`, `formatCnpj`, `stripCnpj` | `12ABC34501DE35` |
|
|
27
27
|
| CPF | `validateCpf`, `formatCpf`, `stripCpf` | `12345678909` |
|
|
28
28
|
| CEP | `validateCep`, `formatCep`, `stripCep` | `01310100` |
|
|
29
|
+
| Telefone | `validateTelefone`, `formatTelefone`, `stripTelefone` | `11999999999` |
|
|
30
|
+
| CNH | `validateCnh`, `formatCnh`, `stripCnh` | `62472927637` (11 digits, no CPF mask) |
|
|
31
|
+
| RENAVAM | `validateRenavam`, `formatRenavam`, `stripRenavam` | `63977791104` (11 digits, modulo 11 peso 9) |
|
|
29
32
|
| Placa | `validatePlaca`, `formatPlaca`, `convertPlacaToMercosul` | `ABC1D23` |
|
|
30
33
|
| PIS/PASEP | `validatePisPasep`, `formatPisPasep` | `10027230888` |
|
|
31
34
|
| PIX key | `validatePixKey`, `formatPixKey` | `pix@bcb.gov.br` |
|
package/dist/boleto.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as BoletoValidationResult, V as ValidationErrorCode, B as BoletoInputKind, F as FormatResult } from './validation-result-
|
|
2
|
-
export { a as BoletoSituacao,
|
|
1
|
+
import { b as BoletoValidationResult, V as ValidationErrorCode, B as BoletoInputKind, F as FormatResult } from './validation-result-BhQE-1_O.js';
|
|
2
|
+
export { a as BoletoSituacao, i as CodigoBarras, D as DocumentFormat, L as LinhaDigitavel } from './validation-result-BhQE-1_O.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* FEBRABAN bank boleto (cobrança) — linha digitável + código de barras.
|
package/dist/boleto.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export { formatBoleto } from './chunk-FXLVNCG3.js';
|
|
2
|
+
export { BOLETO_CODE_ISPB_HOLDER, BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_CURRENCY_ISPB, BOLETO_CURRENCY_REAL, BOLETO_GOLDEN_CODIGO_BARRAS, BOLETO_GOLDEN_CODIGO_BARRAS_BB, BOLETO_GOLDEN_CODIGO_BARRAS_SITUACAO2, BOLETO_GOLDEN_LINHA_BB_STRIPPED, BOLETO_GOLDEN_LINHA_MASKED, BOLETO_GOLDEN_LINHA_SITUACAO2_STRIPPED, BOLETO_GOLDEN_LINHA_STRIPPED, BOLETO_LAYOUTS_PORTAL_URL, BOLETO_LINHA_LENGTH, BOLETO_OFFICIAL_SOURCE_URL, applyLinhaDigitavelMask, computeModulo10FieldDv, computeModulo11BarcodeDv, convertCodigoBarrasToLinhaDigitavel, convertCodigoBarrasToLinhaDigits, convertLinhaToCodigoBarras, convertLinhaToCodigoBarrasDigits, detectBoletoInputKind, detectBoletoSituacao, formatLinhaDigitavel, isValidBoleto, stripCodigoBarras, stripLinhaDigitavel, validateBoleto, validateCodigoBarras, validateFatorVencimento, validateLinhaDigitavel, validateValorDocumento } from './chunk-4W4OKLSZ.js';
|
|
3
|
+
import './chunk-MSLJF2FM.js';
|
|
3
4
|
//# sourceMappingURL=boleto.js.map
|
|
4
5
|
//# sourceMappingURL=boleto.js.map
|
package/dist/brcode.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { c as BrCodePayload } from './validation-result-
|
|
1
|
+
import { p as PixKey, q as PixKeyType, V as ValidationErrorCode, d as BrCodeValidationResult } from './validation-result-BhQE-1_O.js';
|
|
2
|
+
export { c as BrCodePayload } from './validation-result-BhQE-1_O.js';
|
|
3
3
|
|
|
4
4
|
/** Bacen Manual BR Code — EMV-QRCPS-MPM TLV + CRC16-CCITT */
|
|
5
5
|
declare const BRCODE_OFFICIAL_SOURCE_URL = "https://www.bcb.gov.br/content/estabilidadefinanceira/spb_docs/ManualBRCode.pdf";
|
package/dist/brcode.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import './chunk-
|
|
1
|
+
import './chunk-RYGAK7PB.js';
|
|
2
|
+
export { BRCODE_GOLDEN_COMPOSITE, BRCODE_GOLDEN_DYNAMIC_URL, BRCODE_GOLDEN_STATIC_CPF, BRCODE_GOLDEN_STATIC_EMAIL, BRCODE_GOLDEN_STATIC_EVP, BRCODE_OFFICIAL_SOURCE_URL, BRCODE_PIX_INITIATION_MANUAL_URL, computeCrc16Ccitt, findPixMerchantAccount, findTlvField, isValidBrCode, normalizeBrCodePayload, parseBrCode, parseBrCodePayload, parseTlvSequence, validateBrCode, verifyBrCodeCrc } from './chunk-WCQUQ2WX.js';
|
|
3
|
+
import './chunk-MK7OJUF5.js';
|
|
4
|
+
import './chunk-XUO7FV6Z.js';
|
|
5
|
+
import './chunk-YXELVV37.js';
|
|
4
6
|
import './chunk-EB3G4IG6.js';
|
|
5
|
-
import './chunk-
|
|
7
|
+
import './chunk-KQDLIGSG.js';
|
|
8
|
+
import './chunk-F6PTZY4O.js';
|
|
6
9
|
import './chunk-UCJPSJN5.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
10
|
+
import './chunk-OTZHMJYE.js';
|
|
11
|
+
import './chunk-MSLJF2FM.js';
|
|
9
12
|
//# sourceMappingURL=brcode.js.map
|
|
10
13
|
//# sourceMappingURL=brcode.js.map
|
package/dist/cartao-credito.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { e as CartaoCreditoValidationResult, F as FormatResult } from './validation-result-
|
|
2
|
-
export { C as CartaoCredito, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-
|
|
1
|
+
import { e as CartaoCreditoValidationResult, F as FormatResult } from './validation-result-BhQE-1_O.js';
|
|
2
|
+
export { C as CartaoCredito, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-BhQE-1_O.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Credit card PAN constants — ISO/IEC 7812-1 Annex B (Luhn).
|
package/dist/cartao-credito.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import './chunk-CQPM43VV.js';
|
|
2
|
+
export { formatCartaoCredito } from './chunk-XKY2CV3G.js';
|
|
3
|
+
export { CARTAO_GOLDEN_AMEX, CARTAO_GOLDEN_LUHN_WALKTHROUGH, CARTAO_GOLDEN_MASTERCARD, CARTAO_GOLDEN_MIN_LENGTH, CARTAO_GOLDEN_VISA, CARTAO_GOLDEN_VISA_MASKED, CARTAO_IEC_SOURCE_URL, CARTAO_OFFICIAL_SOURCE_URL, CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH, computeLuhnSum, detectCardBrand, isValidCartaoCredito, isValidLuhn, passesLuhn, stripCartaoCredito, validateCartaoCredito } from './chunk-EPKHEW5V.js';
|
|
4
|
+
import './chunk-MSLJF2FM.js';
|
|
3
5
|
//# sourceMappingURL=cartao-credito.js.map
|
|
4
6
|
//# sourceMappingURL=cartao-credito.js.map
|
package/dist/cep.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { f as Cep, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-
|
|
1
|
+
import { x as ValidationResult, F as FormatResult } from './validation-result-BhQE-1_O.js';
|
|
2
|
+
export { f as Cep, D as DocumentFormat, V as ValidationErrorCode } from './validation-result-BhQE-1_O.js';
|
|
3
3
|
|
|
4
4
|
declare const CEP_GOLDEN_PRIMARY = "01310100";
|
|
5
5
|
declare const CEP_GOLDEN_SECONDARY = "20040020";
|
package/dist/cep.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
import './chunk-2CNYSY3Z.js';
|
|
2
|
+
export { formatCep } from './chunk-ZAUZRIOU.js';
|
|
3
|
+
export { CEP_GOLDEN_PRIMARY, CEP_GOLDEN_PRIMARY_MASKED, CEP_GOLDEN_SECONDARY, CEP_OFFICIAL_SOURCE_URL, isValidCep, validateCep } from './chunk-2JJS46FM.js';
|
|
4
|
+
export { stripCep } from './chunk-YYHS5WQN.js';
|
|
5
|
+
import './chunk-4SNBZFS5.js';
|
|
3
6
|
import './chunk-EB3G4IG6.js';
|
|
4
7
|
import './chunk-UCJPSJN5.js';
|
|
5
|
-
import './chunk-
|
|
8
|
+
import './chunk-MSLJF2FM.js';
|
|
6
9
|
//# sourceMappingURL=cep.js.map
|
|
7
10
|
//# sourceMappingURL=cep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-2CNYSY3Z.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { stripCep } from './chunk-
|
|
2
|
-
import { brandCep } from './chunk-
|
|
1
|
+
import { stripCep } from './chunk-YYHS5WQN.js';
|
|
2
|
+
import { brandCep } from './chunk-MSLJF2FM.js';
|
|
3
3
|
|
|
4
4
|
// src/core/cep/constants.ts
|
|
5
5
|
var CEP_LENGTH = 8;
|
|
@@ -38,24 +38,6 @@ function validateCep(input) {
|
|
|
38
38
|
return { ok: true, value: brandCep(stripped), format: "numeric" };
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (!match) {
|
|
45
|
-
throw new Error("CEP must have exactly 8 digits to apply mask");
|
|
46
|
-
}
|
|
47
|
-
return `${match[1]}-${match[2]}`;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// src/format/cep.ts
|
|
51
|
-
function formatCep(input) {
|
|
52
|
-
const result = validateCep(input);
|
|
53
|
-
if (!result.ok) {
|
|
54
|
-
return { ok: false, code: result.code, message: result.message };
|
|
55
|
-
}
|
|
56
|
-
return { ok: true, formatted: applyCepMask(result.value) };
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export { CEP_GOLDEN_PRIMARY, CEP_GOLDEN_PRIMARY_MASKED, CEP_GOLDEN_SECONDARY, CEP_OFFICIAL_SOURCE_URL, formatCep, isValidCep, validateCep };
|
|
60
|
-
//# sourceMappingURL=chunk-GLKGX552.js.map
|
|
61
|
-
//# sourceMappingURL=chunk-GLKGX552.js.map
|
|
41
|
+
export { CEP_GOLDEN_PRIMARY, CEP_GOLDEN_PRIMARY_MASKED, CEP_GOLDEN_SECONDARY, CEP_MASK_PATTERN, CEP_OFFICIAL_SOURCE_URL, isValidCep, validateCep };
|
|
42
|
+
//# sourceMappingURL=chunk-2JJS46FM.js.map
|
|
43
|
+
//# sourceMappingURL=chunk-2JJS46FM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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-2JJS46FM.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"]}
|