@br-validators/core 0.12.0-alpha.3 → 1.1.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 +84 -12
- package/dist/bancos.d.ts +41 -0
- package/dist/bancos.js +3328 -0
- package/dist/bancos.js.map +1 -0
- package/dist/batch.d.ts +28 -0
- package/dist/batch.js +30 -0
- package/dist/batch.js.map +1 -0
- package/dist/boleto.d.ts +58 -5
- package/dist/boleto.js +6 -3
- package/dist/brcode.d.ts +15 -3
- package/dist/brcode.js +8 -8
- package/dist/cartao-credito.d.ts +2 -2
- package/dist/cartao-credito.js +3 -3
- package/dist/cep.d.ts +2 -2
- package/dist/cep.js +4 -4
- package/dist/{chunk-WPL47PWJ.js → chunk-3LMDBXU6.js} +3 -3
- package/dist/{chunk-WPL47PWJ.js.map → chunk-3LMDBXU6.js.map} +1 -1
- package/dist/chunk-4J5IMD7B.js +3 -0
- package/dist/chunk-4J5IMD7B.js.map +1 -0
- package/dist/{chunk-BFZPCEYB.js → chunk-54UWHK5L.js} +3 -3
- package/dist/{chunk-BFZPCEYB.js.map → chunk-54UWHK5L.js.map} +1 -1
- package/dist/chunk-5V6N4JWQ.js +135 -0
- package/dist/chunk-5V6N4JWQ.js.map +1 -0
- package/dist/{chunk-F6PTZY4O.js → chunk-63G7QO73.js} +3 -3
- package/dist/{chunk-F6PTZY4O.js.map → chunk-63G7QO73.js.map} +1 -1
- package/dist/{chunk-3QP6R46N.js → chunk-665E36SC.js} +4 -4
- package/dist/{chunk-3QP6R46N.js.map → chunk-665E36SC.js.map} +1 -1
- package/dist/{chunk-AK5GVYQ5.js → chunk-ANWQBKGN.js} +3 -3
- package/dist/{chunk-AK5GVYQ5.js.map → chunk-ANWQBKGN.js.map} +1 -1
- package/dist/{chunk-D36RM7OD.js → chunk-AO6UTQ4A.js} +3 -3
- package/dist/{chunk-D36RM7OD.js.map → chunk-AO6UTQ4A.js.map} +1 -1
- package/dist/chunk-ASQ2XIN2.js +99 -0
- package/dist/chunk-ASQ2XIN2.js.map +1 -0
- package/dist/chunk-AU6TW3GH.js +136 -0
- package/dist/chunk-AU6TW3GH.js.map +1 -0
- package/dist/{chunk-XW5G2RAL.js → chunk-B6A7VF4R.js} +3 -3
- package/dist/{chunk-XW5G2RAL.js.map → chunk-B6A7VF4R.js.map} +1 -1
- package/dist/{chunk-Q7B5VOPW.js → chunk-BA3FAVK4.js} +243 -37
- package/dist/chunk-BA3FAVK4.js.map +1 -0
- package/dist/{chunk-Y6IW2LMW.js → chunk-CDNOUZEI.js} +3 -3
- package/dist/{chunk-Y6IW2LMW.js.map → chunk-CDNOUZEI.js.map} +1 -1
- package/dist/{chunk-XUO7FV6Z.js → chunk-CSRBRKXY.js} +3 -3
- package/dist/{chunk-XUO7FV6Z.js.map → chunk-CSRBRKXY.js.map} +1 -1
- package/dist/{chunk-DJUANFIK.js → chunk-CSVGWTCG.js} +3 -3
- package/dist/{chunk-DJUANFIK.js.map → chunk-CSVGWTCG.js.map} +1 -1
- package/dist/chunk-E2EFGMWA.js +200 -0
- package/dist/chunk-E2EFGMWA.js.map +1 -0
- package/dist/chunk-EFEE6CMO.js +24091 -0
- package/dist/chunk-EFEE6CMO.js.map +1 -0
- package/dist/{chunk-KSLDM5AD.js → chunk-EVULAGR5.js} +3 -3
- package/dist/{chunk-KSLDM5AD.js.map → chunk-EVULAGR5.js.map} +1 -1
- package/dist/{chunk-YXELVV37.js → chunk-FBARVLLP.js} +4 -4
- package/dist/{chunk-YXELVV37.js.map → chunk-FBARVLLP.js.map} +1 -1
- package/dist/chunk-FOP5LO7W.js +131 -0
- package/dist/chunk-FOP5LO7W.js.map +1 -0
- package/dist/{chunk-MK7OJUF5.js → chunk-H3MLGGFI.js} +8 -8
- package/dist/{chunk-MK7OJUF5.js.map → chunk-H3MLGGFI.js.map} +1 -1
- package/dist/{chunk-WLE2ENQA.js → chunk-I66ZRSEN.js} +3 -3
- package/dist/{chunk-WLE2ENQA.js.map → chunk-I66ZRSEN.js.map} +1 -1
- package/dist/{chunk-GRDUTHNX.js → chunk-IYOPXJLY.js} +3 -3
- package/dist/{chunk-GRDUTHNX.js.map → chunk-IYOPXJLY.js.map} +1 -1
- package/dist/chunk-JCWQDTZB.js +41 -0
- package/dist/chunk-JCWQDTZB.js.map +1 -0
- package/dist/{chunk-4Y2FBO57.js → chunk-JKDU7QYP.js} +3 -3
- package/dist/{chunk-4Y2FBO57.js.map → chunk-JKDU7QYP.js.map} +1 -1
- package/dist/{chunk-KH7DWOUA.js → chunk-JLCQ7MGC.js} +3 -3
- package/dist/{chunk-KH7DWOUA.js.map → chunk-JLCQ7MGC.js.map} +1 -1
- package/dist/chunk-KBNWI6GE.js +3 -0
- package/dist/chunk-KBNWI6GE.js.map +1 -0
- package/dist/chunk-KLPONHBL.js +3 -0
- package/dist/chunk-KLPONHBL.js.map +1 -0
- package/dist/chunk-KTEQPYYN.js +31 -0
- package/dist/chunk-KTEQPYYN.js.map +1 -0
- package/dist/{chunk-CDGRHI7W.js → chunk-LAEUXOF6.js} +3 -3
- package/dist/{chunk-CDGRHI7W.js.map → chunk-LAEUXOF6.js.map} +1 -1
- package/dist/chunk-LRUZVPLR.js +93 -0
- package/dist/chunk-LRUZVPLR.js.map +1 -0
- package/dist/{chunk-ZAUZRIOU.js → chunk-MESOO5GZ.js} +3 -3
- package/dist/{chunk-ZAUZRIOU.js.map → chunk-MESOO5GZ.js.map} +1 -1
- package/dist/chunk-MKYCKCZ6.js +100 -0
- package/dist/chunk-MKYCKCZ6.js.map +1 -0
- package/dist/chunk-N5CER3QZ.js +128 -0
- package/dist/chunk-N5CER3QZ.js.map +1 -0
- package/dist/chunk-N6RQICAP.js +220 -0
- package/dist/chunk-N6RQICAP.js.map +1 -0
- package/dist/{chunk-MSLJF2FM.js → chunk-NUQSMT4Y.js} +2 -2
- package/dist/chunk-NUQSMT4Y.js.map +1 -0
- package/dist/{chunk-KQDLIGSG.js → chunk-P2KNN6ZR.js} +3 -3
- package/dist/{chunk-KQDLIGSG.js.map → chunk-P2KNN6ZR.js.map} +1 -1
- package/dist/{chunk-JZNTCZMV.js → chunk-PCP77SLS.js} +34 -18
- package/dist/chunk-PCP77SLS.js.map +1 -0
- package/dist/{chunk-G2Y63PIF.js → chunk-PNPESCSP.js} +3 -3
- package/dist/{chunk-G2Y63PIF.js.map → chunk-PNPESCSP.js.map} +1 -1
- package/dist/{chunk-LYBFUKHR.js → chunk-RMTHCPIV.js} +4 -4
- package/dist/{chunk-LYBFUKHR.js.map → chunk-RMTHCPIV.js.map} +1 -1
- package/dist/{chunk-2JJS46FM.js → chunk-TE6NSONR.js} +3 -3
- package/dist/{chunk-2JJS46FM.js.map → chunk-TE6NSONR.js.map} +1 -1
- package/dist/{chunk-NHLLC6WH.js → chunk-TJCE4TVX.js} +4 -4
- package/dist/{chunk-NHLLC6WH.js.map → chunk-TJCE4TVX.js.map} +1 -1
- package/dist/chunk-UCNPXHIJ.js +32 -0
- package/dist/chunk-UCNPXHIJ.js.map +1 -0
- package/dist/{chunk-WCQUQ2WX.js → chunk-V7UJ55KW.js} +47 -5
- package/dist/chunk-V7UJ55KW.js.map +1 -0
- package/dist/{chunk-IQGRFAQV.js → chunk-VSW3NBJQ.js} +3 -3
- package/dist/{chunk-IQGRFAQV.js.map → chunk-VSW3NBJQ.js.map} +1 -1
- package/dist/{chunk-6QJFMOIX.js → chunk-VWVQWN2G.js} +3 -3
- package/dist/{chunk-6QJFMOIX.js.map → chunk-VWVQWN2G.js.map} +1 -1
- package/dist/chunk-XADVBV73.js +30 -0
- package/dist/chunk-XADVBV73.js.map +1 -0
- package/dist/{chunk-FXLVNCG3.js → chunk-XWHGXSQV.js} +3 -3
- package/dist/{chunk-FXLVNCG3.js.map → chunk-XWHGXSQV.js.map} +1 -1
- package/dist/{chunk-G32U6YQ5.js → chunk-YD5MPZWY.js} +3 -3
- package/dist/{chunk-G32U6YQ5.js.map → chunk-YD5MPZWY.js.map} +1 -1
- package/dist/{chunk-US4OLTJ2.js → chunk-YNVMVDFN.js} +3 -3
- package/dist/{chunk-US4OLTJ2.js.map → chunk-YNVMVDFN.js.map} +1 -1
- package/dist/cnh.d.ts +2 -2
- package/dist/cnh.js +4 -4
- package/dist/cnpj.d.ts +2 -2
- package/dist/cnpj.js +5 -5
- package/dist/compare.d.ts +16 -0
- package/dist/compare.js +33 -0
- package/dist/compare.js.map +1 -0
- package/dist/cpf.d.ts +2 -2
- package/dist/cpf.js +4 -4
- package/dist/data-catalog.d.ts +14 -0
- package/dist/data-catalog.js +25 -0
- package/dist/data-catalog.js.map +1 -0
- package/dist/detect.d.ts +1 -1
- package/dist/detect.js +23 -20
- package/dist/diff.d.ts +16 -0
- package/dist/diff.js +33 -0
- package/dist/diff.js.map +1 -0
- package/dist/generate.d.ts +24 -3
- package/dist/generate.js +37 -27
- package/dist/ibge.d.ts +65 -0
- package/dist/ibge.js +28174 -0
- package/dist/ibge.js.map +1 -0
- package/dist/{index-CZLo9YOT.d.ts → index-BEJFgDXj.d.ts} +1 -1
- package/dist/index.d.ts +15 -9
- package/dist/index.js +61 -49
- package/dist/index.js.map +1 -1
- package/dist/{inscricao-estadual-produtor-rural-CfWUaggb.d.ts → inscricao-estadual-produtor-rural-BXFVQscj.d.ts} +1 -1
- package/dist/inscricao-estadual-produtor-rural.d.ts +2 -2
- package/dist/inscricao-estadual-produtor-rural.js +3 -3
- package/dist/inscricao-estadual.d.ts +3 -3
- package/dist/inscricao-estadual.js +4 -4
- package/dist/mask.d.ts +13 -0
- package/dist/mask.js +41 -0
- package/dist/mask.js.map +1 -0
- package/dist/nfe-chave.d.ts +2 -2
- package/dist/nfe-chave.js +4 -3
- package/dist/pis-pasep.d.ts +2 -2
- package/dist/pis-pasep.js +3 -3
- package/dist/{pix-ddldLlb7.d.ts → pix-B4habHLG.d.ts} +1 -1
- package/dist/pix.d.ts +2 -2
- package/dist/pix.js +9 -8
- package/dist/placa.d.ts +2 -2
- package/dist/placa.js +4 -4
- package/dist/renavam.d.ts +2 -2
- package/dist/renavam.js +4 -4
- package/dist/sanitize.d.ts +2 -2
- package/dist/sanitize.js +21 -17
- package/dist/telefone.d.ts +34 -3
- package/dist/telefone.js +4 -3
- package/dist/titulo-eleitor.d.ts +2 -2
- package/dist/titulo-eleitor.js +4 -4
- package/dist/types-CBIZxgfG.d.ts +28 -0
- package/dist/types-MXifBcV5.d.ts +10 -0
- package/dist/{validation-result-BhQE-1_O.d.ts → validation-result-BaI2Xder.d.ts} +24 -5
- package/package.json +36 -1
- package/dist/chunk-4W4OKLSZ.js +0 -366
- package/dist/chunk-4W4OKLSZ.js.map +0 -1
- package/dist/chunk-5UL3M7IU.js +0 -192
- package/dist/chunk-5UL3M7IU.js.map +0 -1
- package/dist/chunk-CSZCIOGA.js +0 -187
- package/dist/chunk-CSZCIOGA.js.map +0 -1
- package/dist/chunk-JZNTCZMV.js.map +0 -1
- package/dist/chunk-MSLJF2FM.js.map +0 -1
- package/dist/chunk-Q7B5VOPW.js.map +0 -1
- package/dist/chunk-WCQUQ2WX.js.map +0 -1
package/README.md
CHANGED
|
@@ -25,10 +25,11 @@ Every Brazilian SaaS eventually reinvents CPF validation — usually wrong.
|
|
|
25
25
|
(Receita Federal, Bacen, CONTRAN, TSE, SEFAZ, FEBRABAN, Anatel) so you don't have to.
|
|
26
26
|
|
|
27
27
|
- ✅ **CNPJ alfanumérico** — new RFB format (effective July 2026), ready now
|
|
28
|
-
- ✅ **18 document types** — CPF, CNPJ, CEP, NF-e chave, BR Code PIX, boleto, CNH, RENAVAM, placa, PIS/PASEP, PIX key, cartão de crédito, IE (27 UFs), IE produtor rural, título de eleitor, telefone, + platform APIs
|
|
28
|
+
- ✅ **18+ document types** — CPF, CNPJ, CEP, NF-e chave, BR Code PIX, boleto (cobrança + arrecadação), CNH, RENAVAM, placa, PIS/PASEP, PIX key, cartão de crédito, IE (27 UFs), IE produtor rural, título de eleitor, telefone, + platform APIs above
|
|
29
29
|
- ✅ **Zero runtime dependencies** — pure TypeScript logic, no HTTP calls
|
|
30
30
|
- ✅ **Never throws** — every function returns `{ ok: true, value } | { ok: false, message, code }`
|
|
31
31
|
- ✅ **Tree-shakeable** — subpath imports per document type
|
|
32
|
+
- ✅ **Reference data** — IBGE, Bacen banks, DDD lookup with weekly freshness ([DATA-FRESHNESS.md](../../docs/DATA-FRESHNESS.md))
|
|
32
33
|
- ✅ **ESM only**, Node ≥ 18, works in browser, Bun, Deno
|
|
33
34
|
|
|
34
35
|
---
|
|
@@ -93,9 +94,16 @@ generate('cnh');
|
|
|
93
94
|
generate('inscricao-estadual', { uf: 'SP', seed: 42 });
|
|
94
95
|
generate('titulo-eleitor', { uf: 'SC', seed: 42 });
|
|
95
96
|
generate('cartao-credito', { brand: 'visa', seed: 42 });
|
|
97
|
+
generate('pix', { seed: 42 }); // EVP UUID — Bacen DICT
|
|
98
|
+
generate('nfe-chave', { seed: 42 }); // MOC §2.2.6 modulo-11 DV
|
|
99
|
+
generate('brcode', { seed: 42 }); // static PIX EMV + CRC16
|
|
100
|
+
generate('boleto', { masked: true }); // FEBRABAN cobrança Situação 1
|
|
101
|
+
generate('boleto-arrecadacao'); // FEBRABAN Layout v7
|
|
102
|
+
generate('inscricao-estadual-produtor-rural', { masked: true }); // SP SINTEGRA Bloco II
|
|
96
103
|
```
|
|
97
104
|
|
|
98
|
-
> `generate()` is for test fixtures and seed data only — never use in production.
|
|
105
|
+
> `generate()` is for test fixtures and seed data only — never use in production.
|
|
106
|
+
> Alphanumeric CPF: `generate('cpf', { format: 'alphanumeric' })` throws `CPF_ALPHA_SPEC_PENDING` until RFB publishes the official algorithm ([OFFICIAL-SOURCES.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/OFFICIAL-SOURCES.md)).
|
|
99
107
|
|
|
100
108
|
### ETL / data cleanup
|
|
101
109
|
|
|
@@ -121,12 +129,66 @@ const result = validateNfeChave('52060433009911002506550120000007800267301615');
|
|
|
121
129
|
### BR Code (PIX QR payload)
|
|
122
130
|
|
|
123
131
|
```typescript
|
|
124
|
-
import {
|
|
125
|
-
|
|
126
|
-
parseBrCode
|
|
132
|
+
import {
|
|
133
|
+
buildStaticPixBrCode,
|
|
134
|
+
parseBrCode,
|
|
135
|
+
validateBrCode,
|
|
136
|
+
} from '@br-validators/core/brcode';
|
|
137
|
+
|
|
138
|
+
// Permanent static QR (no amount — payer sets value at payment time)
|
|
139
|
+
const payload = buildStaticPixBrCode({
|
|
140
|
+
pixKey: 'pix@bcb.gov.br',
|
|
141
|
+
merchantName: 'Fulano de Tal',
|
|
142
|
+
merchantCity: 'BRASILIA',
|
|
143
|
+
});
|
|
144
|
+
validateBrCode(payload).ok; // true
|
|
145
|
+
|
|
146
|
+
// Fixed-value static QR
|
|
147
|
+
buildStaticPixBrCode({
|
|
148
|
+
pixKey: 'pix@bcb.gov.br',
|
|
149
|
+
merchantName: 'Fulano de Tal',
|
|
150
|
+
merchantCity: 'BRASILIA',
|
|
151
|
+
amount: '10.50',
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
parseBrCode(payload);
|
|
127
155
|
// { ok: true, pixKey, pixKeyType, merchantName, merchantCity, amount, txid }
|
|
128
156
|
```
|
|
129
157
|
|
|
158
|
+
**Playground:** [doc-raiz-playground.vercel.app/pix](https://doc-raiz-playground.vercel.app/pix) renders the QR image from `buildStaticPixBrCode` output. Official sources: [Bacen Manual BR Code](https://www.bcb.gov.br/content/estabilidadefinanceira/spb_docs/ManualBRCode.pdf) · [Manual de Padrões PIX](https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/II_ManualdePadroesparaIniciacaodoPix.pdf).
|
|
159
|
+
|
|
160
|
+
### Boleto — cobrança + arrecadação
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import { validateBoleto, validateArrecadacao } from '@br-validators/core/boleto';
|
|
164
|
+
|
|
165
|
+
validateBoleto('03399.02579 08991.834006 71742.301014 6 14500000099668');
|
|
166
|
+
// cobrança Situação 1/2 — FEBRABAN FB-0061/2021
|
|
167
|
+
|
|
168
|
+
validateArrecadacao('846300000003812345678906123456789015234567890129');
|
|
169
|
+
// arrecadação 48-digit — FEBRABAN Layout v7
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Platform APIs — mask, compare, batch, diff
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
import { mask, compare, batch, diff } from '@br-validators/core';
|
|
176
|
+
|
|
177
|
+
mask('12345678909', 'cpf');
|
|
178
|
+
// { ok: true, formatted: '123.456.789-09' }
|
|
179
|
+
|
|
180
|
+
compare('123.456.789-09', '12345678909', 'cpf');
|
|
181
|
+
// { equal: true }
|
|
182
|
+
|
|
183
|
+
batch(['12345678909', 'invalid'], 'cpf');
|
|
184
|
+
// { valid: [...], invalid: [...], summary: { total: 2, valid: 1, invalid: 1 } }
|
|
185
|
+
|
|
186
|
+
diff('12345678909', '12345678901', 'cpf');
|
|
187
|
+
// { changed: true, fields: [{ field: 'dv', a: '09', b: '01' }] }
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Per-type rules and official sources: [docs/OFFICIAL-SOURCES.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/OFFICIAL-SOURCES.md) · API contract: [docs/LIBRARY-API.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/LIBRARY-API.md)
|
|
191
|
+
|
|
130
192
|
### Form handler (React / Next.js)
|
|
131
193
|
|
|
132
194
|
```typescript
|
|
@@ -156,8 +218,12 @@ br-validators cnpj validate "$CNPJ" --quiet || exit 1
|
|
|
156
218
|
br-validators ie validate "$IE" --uf SP --json
|
|
157
219
|
br-validators detect '123.456.789-09' --json
|
|
158
220
|
br-validators generate cpf --seed 42 --masked
|
|
159
|
-
br-validators generate
|
|
160
|
-
br-validators generate
|
|
221
|
+
br-validators generate pix --seed 42
|
|
222
|
+
br-validators generate nfe-chave --seed 42
|
|
223
|
+
br-validators generate brcode --seed 42
|
|
224
|
+
br-validators generate boleto --masked --seed 42
|
|
225
|
+
br-validators generate boleto-arrecadacao --seed 42
|
|
226
|
+
br-validators generate inscricao-estadual-produtor-rural --masked --seed 42
|
|
161
227
|
```
|
|
162
228
|
|
|
163
229
|
---
|
|
@@ -176,15 +242,21 @@ br-validators generate cartao-credito --brand visa --seed 42
|
|
|
176
242
|
| Placa (Mercosul + legada) | `@br-validators/core/placa` | `br-validators placa …` | `/placa` |
|
|
177
243
|
| PIS / PASEP / NIS | `@br-validators/core/pis-pasep` | `br-validators pis-pasep …` | `/pis` |
|
|
178
244
|
| PIX key | `@br-validators/core/pix` | `br-validators pix …` | `/pix` |
|
|
179
|
-
| BR Code (PIX QR payload) | `@br-validators/core/brcode` | `br-validators brcode …` | `/brcode` |
|
|
180
|
-
| Boleto (Situação 1 + 2) | `@br-validators/core/boleto` | `br-validators boleto …` | `/boleto` |
|
|
245
|
+
| BR Code (PIX QR payload + builder) | `@br-validators/core/brcode` | `br-validators brcode …` | `/brcode` |
|
|
246
|
+
| Boleto cobrança (Situação 1 + 2) | `@br-validators/core/boleto` | `br-validators boleto …` | `/boleto` |
|
|
247
|
+
| Boleto arrecadação (48/44) | `@br-validators/core/boleto` | `br-validators boleto …` | `/boleto` |
|
|
181
248
|
| NF-e / NFC-e chave (44 digits) | `@br-validators/core/nfe-chave` | `br-validators nfe-chave …` | `/nfe-chave` |
|
|
182
249
|
| Cartão de crédito (Luhn) | `@br-validators/core/cartao-credito` | `br-validators cartao …` | `/cartao-credito` |
|
|
183
250
|
| Inscrição Estadual (27 UFs) | `@br-validators/core/inscricao-estadual` | `br-validators ie … --uf SP` | `/ie` |
|
|
184
|
-
| IE Produtor Rural | `@br-validators/core/inscricao-estadual-produtor-rural` | `br-validators ie …` (auto
|
|
251
|
+
| IE Produtor Rural | `@br-validators/core/inscricao-estadual-produtor-rural` | `br-validators ie …` (auto `P`) | `/ie` |
|
|
185
252
|
| **detect()** | `@br-validators/core/detect` | `br-validators detect …` | `/detect` |
|
|
186
253
|
| **sanitize()** | `@br-validators/core/sanitize` | `br-validators sanitize …` | `/sanitize` |
|
|
254
|
+
| **mask()** | `@br-validators/core/mask` | — | via per-type `format` |
|
|
255
|
+
| **compare()** | `@br-validators/core/compare` | — | — |
|
|
256
|
+
| **batch()** | `@br-validators/core/batch` | — | — |
|
|
257
|
+
| **diff()** | `@br-validators/core/diff` | — | — |
|
|
187
258
|
| **generate()** | `@br-validators/core/generate` | `br-validators generate …` | `/generate` |
|
|
259
|
+
| **buildStaticPixBrCode()** | `@br-validators/core/brcode` | — | `/pix` (QR panel) |
|
|
188
260
|
|
|
189
261
|
Full official sources per type: [docs/OFFICIAL-SOURCES.md](https://github.com/AlexandreZanata/br-validators/blob/main/docs/OFFICIAL-SOURCES.md)
|
|
190
262
|
|
|
@@ -207,8 +279,8 @@ import { parseNfeChave } from '@br-validators/core/nfe-chave';
|
|
|
207
279
|
| Package | Status |
|
|
208
280
|
|---|---|
|
|
209
281
|
| [`@br-validators/cli`](https://www.npmjs.com/package/@br-validators/cli) | Published |
|
|
210
|
-
| `@br-validators/zod` |
|
|
211
|
-
| `@br-validators/react-hook-form` |
|
|
282
|
+
| [`@br-validators/zod`](https://www.npmjs.com/package/@br-validators/zod) | Published — Zod 3/4 schemas |
|
|
283
|
+
| [`@br-validators/react-hook-form`](https://www.npmjs.com/package/@br-validators/react-hook-form) | Published — RHF resolvers |
|
|
212
284
|
|
|
213
285
|
---
|
|
214
286
|
|
package/dist/bancos.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
|
|
2
|
+
|
|
3
|
+
interface Banco {
|
|
4
|
+
codigo: string;
|
|
5
|
+
ispb: string;
|
|
6
|
+
nome: string;
|
|
7
|
+
nomeReduzido: string;
|
|
8
|
+
participaCompe: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface BancosDataVersion {
|
|
11
|
+
id: 'bancos';
|
|
12
|
+
nome: string;
|
|
13
|
+
fonte: string;
|
|
14
|
+
endpoints: string[];
|
|
15
|
+
capturadoEm: string;
|
|
16
|
+
atualizadoEm: string;
|
|
17
|
+
contagens: {
|
|
18
|
+
bancos: number;
|
|
19
|
+
};
|
|
20
|
+
alteracoes: DatasetChanges;
|
|
21
|
+
verificacao: DatasetVerification;
|
|
22
|
+
documentacao: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Bacen STR participant lookup — offline embedded data from official STR CSV.
|
|
27
|
+
* @see https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
declare function getBancos(): readonly Banco[];
|
|
31
|
+
declare function getBancoPorCodigo(codigo: string): Banco | undefined;
|
|
32
|
+
declare function getBancoPorIspb(ispb: string): Banco | undefined;
|
|
33
|
+
|
|
34
|
+
declare const BANCOS_STR_URL = "https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv";
|
|
35
|
+
declare const BANCOS_GOLDEN_COMPE_BB = "001";
|
|
36
|
+
declare const BANCOS_GOLDEN_COMPE_ITAU = "341";
|
|
37
|
+
declare const BANCOS_GOLDEN_COMPE_NUBANK = "260";
|
|
38
|
+
|
|
39
|
+
declare const BANCOS_DATA_VERSION: BancosDataVersion;
|
|
40
|
+
|
|
41
|
+
export { BANCOS_DATA_VERSION, BANCOS_GOLDEN_COMPE_BB, BANCOS_GOLDEN_COMPE_ITAU, BANCOS_GOLDEN_COMPE_NUBANK, BANCOS_STR_URL, type Banco, type BancosDataVersion, getBancoPorCodigo, getBancoPorIspb, getBancos };
|