@br-validators/core 1.7.0 → 1.8.1
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 +32 -9
- package/dist/aeroportos.d.ts +1 -1
- package/dist/anp-combustiveis.d.ts +1 -1
- package/dist/bancos.d.ts +1 -1
- package/dist/batch.d.ts +3 -3
- package/dist/batch.js +27 -25
- package/dist/boleto.d.ts +2 -2
- package/dist/boleto.js +5 -5
- package/dist/brcode.d.ts +2 -2
- package/dist/brcode.js +8 -8
- package/dist/cartao-credito.d.ts +2 -2
- package/dist/cartao-credito.js +3 -3
- package/dist/cbo.d.ts +1 -1
- package/dist/cep.d.ts +3 -3
- package/dist/cep.js +4 -4
- package/dist/cest.d.ts +1 -1
- package/dist/cfop.d.ts +1 -1
- package/dist/{chunk-FL4UUTAC.js → chunk-26HMLR4Y.js} +3 -3
- package/dist/{chunk-FL4UUTAC.js.map → chunk-26HMLR4Y.js.map} +1 -1
- package/dist/{chunk-LPGSPM53.js → chunk-2EYJMAE2.js} +3 -3
- package/dist/{chunk-LPGSPM53.js.map → chunk-2EYJMAE2.js.map} +1 -1
- package/dist/{chunk-NWXFSSGF.js → chunk-2HD6TA3O.js} +3 -3
- package/dist/{chunk-NWXFSSGF.js.map → chunk-2HD6TA3O.js.map} +1 -1
- package/dist/chunk-2NSBFMTP.js +125 -0
- package/dist/chunk-2NSBFMTP.js.map +1 -0
- package/dist/{chunk-VDCITFZG.js → chunk-2ZWBFVYY.js} +3 -3
- package/dist/{chunk-VDCITFZG.js.map → chunk-2ZWBFVYY.js.map} +1 -1
- package/dist/{chunk-EGDZGSHA.js → chunk-3EVLQVBC.js} +3 -3
- package/dist/{chunk-EGDZGSHA.js.map → chunk-3EVLQVBC.js.map} +1 -1
- package/dist/{chunk-A2JXKXPS.js → chunk-3ZIXLRXZ.js} +4 -3
- package/dist/chunk-3ZIXLRXZ.js.map +1 -0
- package/dist/{chunk-MXWI7LLA.js → chunk-47PZ7WGA.js} +23 -19
- package/dist/chunk-47PZ7WGA.js.map +1 -0
- package/dist/{chunk-3OTYX7QX.js → chunk-4T2ZBJFM.js} +3 -3
- package/dist/{chunk-3OTYX7QX.js.map → chunk-4T2ZBJFM.js.map} +1 -1
- package/dist/{chunk-4GMBZLAS.js → chunk-5I6WYO5R.js} +3 -3
- package/dist/{chunk-4GMBZLAS.js.map → chunk-5I6WYO5R.js.map} +1 -1
- package/dist/{chunk-ZZN5JNVJ.js → chunk-7EMUKPPG.js} +8 -8
- package/dist/{chunk-ZZN5JNVJ.js.map → chunk-7EMUKPPG.js.map} +1 -1
- package/dist/{chunk-ULNZHOMA.js → chunk-AG3VELYX.js} +5 -14
- package/dist/chunk-AG3VELYX.js.map +1 -0
- package/dist/chunk-BG72VA7O.js +33 -0
- package/dist/chunk-BG72VA7O.js.map +1 -0
- package/dist/{chunk-4TOP3CZQ.js → chunk-BNM3RSDY.js} +24 -19
- package/dist/chunk-BNM3RSDY.js.map +1 -0
- package/dist/{chunk-RNT4GCP3.js → chunk-BSNVQQTV.js} +25 -20
- package/dist/chunk-BSNVQQTV.js.map +1 -0
- package/dist/chunk-BSSRVJ2C.js +14 -0
- package/dist/chunk-BSSRVJ2C.js.map +1 -0
- package/dist/{chunk-YEVKV2NP.js → chunk-DAX5PVBJ.js} +10 -8
- package/dist/chunk-DAX5PVBJ.js.map +1 -0
- package/dist/{chunk-43FQHKCC.js → chunk-DMUWIPJR.js} +3 -3
- package/dist/{chunk-43FQHKCC.js.map → chunk-DMUWIPJR.js.map} +1 -1
- package/dist/{chunk-G557DGIX.js → chunk-E2BVDZKJ.js} +3 -3
- package/dist/{chunk-G557DGIX.js.map → chunk-E2BVDZKJ.js.map} +1 -1
- package/dist/{chunk-UXH6EHK6.js → chunk-EDJC6HIP.js} +3 -3
- package/dist/{chunk-UXH6EHK6.js.map → chunk-EDJC6HIP.js.map} +1 -1
- package/dist/{chunk-4NFEM2SU.js → chunk-EMZCVV5Y.js} +9 -3
- package/dist/chunk-EMZCVV5Y.js.map +1 -0
- package/dist/chunk-FI2JE6AS.js +15 -0
- package/dist/chunk-FI2JE6AS.js.map +1 -0
- package/dist/{chunk-EOXFX7MM.js → chunk-G4YT6X7N.js} +3 -3
- package/dist/{chunk-EOXFX7MM.js.map → chunk-G4YT6X7N.js.map} +1 -1
- package/dist/chunk-G65WTGYO.js +31 -0
- package/dist/chunk-G65WTGYO.js.map +1 -0
- package/dist/chunk-HIWHBRFG.js +30 -0
- package/dist/chunk-HIWHBRFG.js.map +1 -0
- package/dist/{chunk-SCCMKFSR.js → chunk-J3QGK6MX.js} +33 -33
- package/dist/{chunk-SCCMKFSR.js.map → chunk-J3QGK6MX.js.map} +1 -1
- package/dist/{chunk-P3EJRH4P.js → chunk-LXB5FIAQ.js} +4 -4
- package/dist/{chunk-P3EJRH4P.js.map → chunk-LXB5FIAQ.js.map} +1 -1
- package/dist/{chunk-B4LJI7EP.js → chunk-M3RBXFYG.js} +39 -20
- package/dist/chunk-M3RBXFYG.js.map +1 -0
- package/dist/{chunk-3DLNIUBY.js → chunk-M6VUQK73.js} +5 -5
- package/dist/{chunk-3DLNIUBY.js.map → chunk-M6VUQK73.js.map} +1 -1
- package/dist/{chunk-2M4RVHRO.js → chunk-MLUDCL3P.js} +3 -3
- package/dist/{chunk-2M4RVHRO.js.map → chunk-MLUDCL3P.js.map} +1 -1
- package/dist/{chunk-GVQMJ45R.js → chunk-MZZNNXAB.js} +27 -21
- package/dist/chunk-MZZNNXAB.js.map +1 -0
- package/dist/{chunk-DVA6QQUF.js → chunk-O3HZW2GM.js} +3 -3
- package/dist/{chunk-DVA6QQUF.js.map → chunk-O3HZW2GM.js.map} +1 -1
- package/dist/{chunk-5S3IURHL.js → chunk-O7RJQUAJ.js} +3 -3
- package/dist/{chunk-5S3IURHL.js.map → chunk-O7RJQUAJ.js.map} +1 -1
- package/dist/{chunk-IJ2DAVSD.js → chunk-OM5ELPM6.js} +3 -3
- package/dist/{chunk-IJ2DAVSD.js.map → chunk-OM5ELPM6.js.map} +1 -1
- package/dist/chunk-OPFCKUFX.js +31 -0
- package/dist/chunk-OPFCKUFX.js.map +1 -0
- package/dist/{chunk-2JSOXG2M.js → chunk-P37C3MVF.js} +3 -3
- package/dist/{chunk-2JSOXG2M.js.map → chunk-P37C3MVF.js.map} +1 -1
- package/dist/chunk-P5BDKYBC.js +3 -0
- package/dist/chunk-P5BDKYBC.js.map +1 -0
- package/dist/{chunk-HCH6G5XY.js → chunk-PUTVO6HG.js} +3 -3
- package/dist/{chunk-HCH6G5XY.js.map → chunk-PUTVO6HG.js.map} +1 -1
- package/dist/{chunk-PN4XUBLV.js → chunk-Q2CFVQ2U.js} +3 -3
- package/dist/{chunk-PN4XUBLV.js.map → chunk-Q2CFVQ2U.js.map} +1 -1
- package/dist/{chunk-GAU2MGUQ.js → chunk-QKAXRXU5.js} +3 -3
- package/dist/{chunk-GAU2MGUQ.js.map → chunk-QKAXRXU5.js.map} +1 -1
- package/dist/{chunk-OWD47AWI.js → chunk-QZPKTG4A.js} +3 -3
- package/dist/{chunk-OWD47AWI.js.map → chunk-QZPKTG4A.js.map} +1 -1
- package/dist/{chunk-URNYB2CC.js → chunk-RNI5G42M.js} +4 -4
- package/dist/{chunk-URNYB2CC.js.map → chunk-RNI5G42M.js.map} +1 -1
- package/dist/{chunk-37IHHQKK.js → chunk-ROU5ZHN7.js} +4 -4
- package/dist/{chunk-37IHHQKK.js.map → chunk-ROU5ZHN7.js.map} +1 -1
- package/dist/{chunk-274K6AOM.js → chunk-RP5UWF2G.js} +3 -3
- package/dist/{chunk-274K6AOM.js.map → chunk-RP5UWF2G.js.map} +1 -1
- package/dist/{chunk-QSSKPIG5.js → chunk-SIMI5XYE.js} +3 -3
- package/dist/{chunk-QSSKPIG5.js.map → chunk-SIMI5XYE.js.map} +1 -1
- package/dist/{chunk-TTDHGQEC.js → chunk-SQO7BO3Y.js} +3 -3
- package/dist/{chunk-TTDHGQEC.js.map → chunk-SQO7BO3Y.js.map} +1 -1
- package/dist/{chunk-MXOYICSK.js → chunk-SXPLYH4N.js} +3 -3
- package/dist/{chunk-MXOYICSK.js.map → chunk-SXPLYH4N.js.map} +1 -1
- package/dist/{chunk-F7G4ISQB.js → chunk-UANHHEWY.js} +3 -3
- package/dist/{chunk-F7G4ISQB.js.map → chunk-UANHHEWY.js.map} +1 -1
- package/dist/{chunk-TAOFFAG3.js → chunk-UJXGDUKJ.js} +3 -3
- package/dist/{chunk-TAOFFAG3.js.map → chunk-UJXGDUKJ.js.map} +1 -1
- package/dist/chunk-VXHJLWMA.js +115 -0
- package/dist/chunk-VXHJLWMA.js.map +1 -0
- package/dist/chunk-W64OQYC4.js +13 -0
- package/dist/chunk-W64OQYC4.js.map +1 -0
- package/dist/{chunk-MNBNKSMF.js → chunk-WAVBQYPE.js} +4 -4
- package/dist/{chunk-MNBNKSMF.js.map → chunk-WAVBQYPE.js.map} +1 -1
- package/dist/{chunk-CYBWPBXJ.js → chunk-WE6RG6OC.js} +4 -4
- package/dist/{chunk-CYBWPBXJ.js.map → chunk-WE6RG6OC.js.map} +1 -1
- package/dist/{chunk-Z7KH65RZ.js → chunk-WKDCI3NI.js} +3 -3
- package/dist/{chunk-Z7KH65RZ.js.map → chunk-WKDCI3NI.js.map} +1 -1
- package/dist/chunk-XFKSJRWM.js +14 -0
- package/dist/chunk-XFKSJRWM.js.map +1 -0
- package/dist/chunk-XHHJTKSP.js +33 -0
- package/dist/chunk-XHHJTKSP.js.map +1 -0
- package/dist/chunk-XVT5QOAL.js +30 -0
- package/dist/chunk-XVT5QOAL.js.map +1 -0
- package/dist/{chunk-VE2XZSKP.js → chunk-YA7RWTAE.js} +3 -3
- package/dist/{chunk-VE2XZSKP.js.map → chunk-YA7RWTAE.js.map} +1 -1
- package/dist/chunk-YAHKWOSP.js +35 -0
- package/dist/chunk-YAHKWOSP.js.map +1 -0
- package/dist/{chunk-3ZALSJZT.js → chunk-YJBKWUCE.js} +4 -3
- package/dist/chunk-YJBKWUCE.js.map +1 -0
- package/dist/cnaes.d.ts +4 -2
- package/dist/cnaes.js +2 -1
- package/dist/cnaes.js.map +1 -1
- package/dist/cnh.d.ts +2 -2
- package/dist/cnh.js +4 -4
- package/dist/cnis.d.ts +50 -0
- package/dist/cnis.js +7 -0
- package/dist/cnis.js.map +1 -0
- package/dist/cnpj-motivos.d.ts +52 -0
- package/dist/cnpj-motivos.js +292 -0
- package/dist/cnpj-motivos.js.map +1 -0
- package/dist/cnpj.d.ts +2 -2
- package/dist/cnpj.js +4 -4
- package/dist/compare.d.ts +3 -3
- package/dist/compare.js +29 -27
- package/dist/cpf.d.ts +2 -2
- package/dist/cpf.js +4 -4
- package/dist/cst.d.ts +73 -0
- package/dist/cst.js +482 -0
- package/dist/cst.js.map +1 -0
- package/dist/data-catalog.d.ts +2 -2
- package/dist/data-catalog.js +42 -28
- package/dist/data-catalog.js.map +1 -1
- package/dist/detect.d.ts +2 -2
- package/dist/detect.js +25 -23
- package/dist/diff.d.ts +3 -3
- package/dist/diff.js +29 -27
- package/dist/ean.d.ts +43 -0
- package/dist/ean.js +6 -0
- package/dist/ean.js.map +1 -0
- package/dist/esocial.d.ts +45 -0
- package/dist/esocial.js +387 -0
- package/dist/esocial.js.map +1 -0
- package/dist/feriados.d.ts +1 -1
- package/dist/generate.d.ts +1 -1
- package/dist/generate.js +38 -36
- package/dist/ibge.d.ts +34 -2
- package/dist/ibge.js +109 -1
- package/dist/ibge.js.map +1 -1
- package/dist/ibpt.d.ts +74 -0
- package/dist/ibpt.js +166 -0
- package/dist/ibpt.js.map +1 -0
- package/dist/incoterms.d.ts +1 -1
- package/dist/{index-CJ5ACErT.d.ts → index-BmoilwS2.d.ts} +2 -2
- package/dist/index.d.ts +11 -9
- package/dist/index.js +70 -60
- package/dist/index.js.map +1 -1
- package/dist/{inscricao-estadual-produtor-rural-BNAyLQPY.d.ts → inscricao-estadual-produtor-rural-Hfq6jN1n.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/lc116.d.ts +42 -0
- package/dist/lc116.js +866 -0
- package/dist/lc116.js.map +1 -0
- package/dist/mask.d.ts +3 -3
- package/dist/mask.js +41 -37
- package/dist/moedas.d.ts +1 -1
- package/dist/natureza-juridica.d.ts +1 -1
- package/dist/nbs.d.ts +1 -1
- package/dist/ncm.d.ts +1 -1
- package/dist/nfe-chave.d.ts +2 -2
- package/dist/nfe-chave.js +3 -3
- package/dist/paises-bacen.d.ts +1 -1
- package/dist/pis-pasep.d.ts +2 -2
- package/dist/pis-pasep.js +5 -3
- package/dist/{pix-QsM0lMas.d.ts → pix-BcPQzXRx.d.ts} +1 -1
- package/dist/pix.d.ts +2 -2
- package/dist/pix.js +8 -8
- package/dist/placa.d.ts +2 -2
- package/dist/placa.js +4 -4
- package/dist/pncp-reference.d.ts +1 -1
- package/dist/portos.d.ts +1 -1
- package/dist/processo-judicial.d.ts +2 -2
- package/dist/processo-judicial.js +3 -3
- package/dist/ptax.d.ts +53 -0
- package/dist/ptax.js +485 -0
- package/dist/ptax.js.map +1 -0
- package/dist/renavam.d.ts +2 -2
- package/dist/renavam.js +4 -4
- package/dist/rg.d.ts +2 -2
- package/dist/rg.js +2 -2
- package/dist/sanitize.d.ts +2 -2
- package/dist/sanitize.js +24 -22
- package/dist/simples-nacional.d.ts +67 -0
- package/dist/simples-nacional.js +178 -0
- package/dist/simples-nacional.js.map +1 -0
- package/dist/telefone.d.ts +3 -3
- package/dist/telefone.js +3 -3
- package/dist/titulo-eleitor.d.ts +2 -2
- package/dist/titulo-eleitor.js +4 -4
- package/dist/transparencia-snapshots.d.ts +1 -1
- package/dist/transparencia-snapshots.js +1 -1
- package/dist/tse-municipios.d.ts +1 -1
- package/dist/{types-CCKLomYy.d.ts → types-CnePu8im.d.ts} +1 -1
- package/dist/{types-CQvCmvGu.d.ts → types-DTtrW1Km.d.ts} +2 -2
- package/dist/{validation-result-hfVg2-Mc.d.ts → validation-result-Rb7C0_xj.d.ts} +30 -2
- package/package.json +47 -2
- package/dist/chunk-3ZALSJZT.js.map +0 -1
- package/dist/chunk-4NFEM2SU.js.map +0 -1
- package/dist/chunk-4TOP3CZQ.js.map +0 -1
- package/dist/chunk-A2JXKXPS.js.map +0 -1
- package/dist/chunk-B4LJI7EP.js.map +0 -1
- package/dist/chunk-GVQMJ45R.js.map +0 -1
- package/dist/chunk-MXWI7LLA.js.map +0 -1
- package/dist/chunk-RNT4GCP3.js.map +0 -1
- package/dist/chunk-ULNZHOMA.js.map +0 -1
- package/dist/chunk-WAYYRZ2L.js +0 -23
- package/dist/chunk-WAYYRZ2L.js.map +0 -1
- package/dist/chunk-YEVKV2NP.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
|
|
2
|
+
|
|
3
|
+
type SimplesAnexoId = 'I' | 'II' | 'III' | 'IV' | 'V';
|
|
4
|
+
interface SimplesFaixa {
|
|
5
|
+
faixa: number;
|
|
6
|
+
receitaBrutaMin: number;
|
|
7
|
+
receitaBrutaMax: number;
|
|
8
|
+
aliquotaNominal: number;
|
|
9
|
+
parcelaDeduzir: number;
|
|
10
|
+
}
|
|
11
|
+
interface SimplesAnexo {
|
|
12
|
+
id: SimplesAnexoId;
|
|
13
|
+
nome: string;
|
|
14
|
+
descricao: string;
|
|
15
|
+
cppForaSimples: boolean;
|
|
16
|
+
faixas: readonly SimplesFaixa[];
|
|
17
|
+
}
|
|
18
|
+
interface SimplesFaixaLookup extends SimplesFaixa {
|
|
19
|
+
anexo: SimplesAnexoId;
|
|
20
|
+
}
|
|
21
|
+
interface SimplesDataVersion {
|
|
22
|
+
id: 'simples-nacional';
|
|
23
|
+
nome: string;
|
|
24
|
+
fonte: string;
|
|
25
|
+
endpoints: string[];
|
|
26
|
+
capturadoEm: string;
|
|
27
|
+
atualizadoEm: string;
|
|
28
|
+
contagens: {
|
|
29
|
+
anexos: number;
|
|
30
|
+
faixas: number;
|
|
31
|
+
};
|
|
32
|
+
alteracoes: DatasetChanges;
|
|
33
|
+
verificacao: DatasetVerification;
|
|
34
|
+
documentacao: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Simples Nacional — LC 123/2006 annex tables (offline embedded law data).
|
|
39
|
+
* @see https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm
|
|
40
|
+
* @see http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
declare function getSimplesAnexos(): readonly SimplesAnexo[];
|
|
44
|
+
declare function getSimplesAnexo(anexo: string): SimplesAnexo | undefined;
|
|
45
|
+
declare function getSimplesFaixa(options: {
|
|
46
|
+
anexo: string;
|
|
47
|
+
receitaBruta: number;
|
|
48
|
+
}): SimplesFaixaLookup | undefined;
|
|
49
|
+
declare function computeSimplesAliquotaEfetiva(options: {
|
|
50
|
+
anexo: string;
|
|
51
|
+
receitaBruta: number;
|
|
52
|
+
}): number | undefined;
|
|
53
|
+
|
|
54
|
+
declare const PLANALTO_LC123_URL = "https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm";
|
|
55
|
+
declare const RECEITA_SIMPLES_ANEXO_I_URL = "http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430";
|
|
56
|
+
declare const CGSN_RESOLUCAO_140_URL = "http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=115262";
|
|
57
|
+
declare const SIMPLES_GOLDEN_ANEXO_COMERCIO = "I";
|
|
58
|
+
declare const SIMPLES_GOLDEN_ANEXO_SERVICOS = "III";
|
|
59
|
+
declare const SIMPLES_GOLDEN_ANEXO_PROFISSIONAIS = "V";
|
|
60
|
+
declare const SIMPLES_MIN_ANEXOS = 5;
|
|
61
|
+
declare const SIMPLES_MAX_ANEXOS = 5;
|
|
62
|
+
declare const SIMPLES_FAIXAS_POR_ANEXO = 6;
|
|
63
|
+
declare const SIMPLES_MAX_RBT12 = 4800000;
|
|
64
|
+
|
|
65
|
+
declare const SIMPLES_NACIONAL_DATA_VERSION: SimplesDataVersion;
|
|
66
|
+
|
|
67
|
+
export { CGSN_RESOLUCAO_140_URL, PLANALTO_LC123_URL, RECEITA_SIMPLES_ANEXO_I_URL, SIMPLES_FAIXAS_POR_ANEXO, SIMPLES_GOLDEN_ANEXO_COMERCIO, SIMPLES_GOLDEN_ANEXO_PROFISSIONAIS, SIMPLES_GOLDEN_ANEXO_SERVICOS, SIMPLES_MAX_ANEXOS, SIMPLES_MAX_RBT12, SIMPLES_MIN_ANEXOS, SIMPLES_NACIONAL_DATA_VERSION, type SimplesAnexo, type SimplesAnexoId, type SimplesDataVersion, type SimplesFaixa, type SimplesFaixaLookup, computeSimplesAliquotaEfetiva, getSimplesAnexo, getSimplesAnexos, getSimplesFaixa };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { metadata_default } from './chunk-BG72VA7O.js';
|
|
2
|
+
|
|
3
|
+
// src/simples-nacional/data/anexos.json
|
|
4
|
+
var anexos_default = [
|
|
5
|
+
{
|
|
6
|
+
id: "I",
|
|
7
|
+
nome: "Com\xE9rcio",
|
|
8
|
+
descricao: "Receitas decorrentes da revenda de mercadorias",
|
|
9
|
+
cppForaSimples: false,
|
|
10
|
+
faixas: [
|
|
11
|
+
{ faixa: 1, receitaBrutaMin: 0, receitaBrutaMax: 18e4, aliquotaNominal: 0.04, parcelaDeduzir: 0 },
|
|
12
|
+
{ faixa: 2, receitaBrutaMin: 180000.01, receitaBrutaMax: 36e4, aliquotaNominal: 0.073, parcelaDeduzir: 5940 },
|
|
13
|
+
{ faixa: 3, receitaBrutaMin: 360000.01, receitaBrutaMax: 72e4, aliquotaNominal: 0.095, parcelaDeduzir: 13860 },
|
|
14
|
+
{ faixa: 4, receitaBrutaMin: 720000.01, receitaBrutaMax: 18e5, aliquotaNominal: 0.107, parcelaDeduzir: 22500 },
|
|
15
|
+
{ faixa: 5, receitaBrutaMin: 180000001e-2, receitaBrutaMax: 36e5, aliquotaNominal: 0.143, parcelaDeduzir: 87300 },
|
|
16
|
+
{ faixa: 6, receitaBrutaMin: 360000001e-2, receitaBrutaMax: 48e5, aliquotaNominal: 0.19, parcelaDeduzir: 378e3 }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "II",
|
|
21
|
+
nome: "Ind\xFAstria",
|
|
22
|
+
descricao: "Receitas decorrentes da venda de mercadorias industrializadas pelo contribuinte",
|
|
23
|
+
cppForaSimples: false,
|
|
24
|
+
faixas: [
|
|
25
|
+
{ faixa: 1, receitaBrutaMin: 0, receitaBrutaMax: 18e4, aliquotaNominal: 0.045, parcelaDeduzir: 0 },
|
|
26
|
+
{ faixa: 2, receitaBrutaMin: 180000.01, receitaBrutaMax: 36e4, aliquotaNominal: 0.078, parcelaDeduzir: 5940 },
|
|
27
|
+
{ faixa: 3, receitaBrutaMin: 360000.01, receitaBrutaMax: 72e4, aliquotaNominal: 0.1, parcelaDeduzir: 13860 },
|
|
28
|
+
{ faixa: 4, receitaBrutaMin: 720000.01, receitaBrutaMax: 18e5, aliquotaNominal: 0.112, parcelaDeduzir: 22500 },
|
|
29
|
+
{ faixa: 5, receitaBrutaMin: 180000001e-2, receitaBrutaMax: 36e5, aliquotaNominal: 0.147, parcelaDeduzir: 85500 },
|
|
30
|
+
{ faixa: 6, receitaBrutaMin: 360000001e-2, receitaBrutaMax: 48e5, aliquotaNominal: 0.3, parcelaDeduzir: 72e4 }
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "III",
|
|
35
|
+
nome: "Servi\xE7os \u2014 al\xEDquota reduzida",
|
|
36
|
+
descricao: "Loca\xE7\xE3o de bens m\xF3veis e presta\xE7\xE3o de servi\xE7os n\xE3o relacionados no \xA7 5\xBA-C do art. 18 da LC 123/2006",
|
|
37
|
+
cppForaSimples: false,
|
|
38
|
+
faixas: [
|
|
39
|
+
{ faixa: 1, receitaBrutaMin: 0, receitaBrutaMax: 18e4, aliquotaNominal: 0.06, parcelaDeduzir: 0 },
|
|
40
|
+
{ faixa: 2, receitaBrutaMin: 180000.01, receitaBrutaMax: 36e4, aliquotaNominal: 0.112, parcelaDeduzir: 9360 },
|
|
41
|
+
{ faixa: 3, receitaBrutaMin: 360000.01, receitaBrutaMax: 72e4, aliquotaNominal: 0.135, parcelaDeduzir: 17640 },
|
|
42
|
+
{ faixa: 4, receitaBrutaMin: 720000.01, receitaBrutaMax: 18e5, aliquotaNominal: 0.16, parcelaDeduzir: 35640 },
|
|
43
|
+
{ faixa: 5, receitaBrutaMin: 180000001e-2, receitaBrutaMax: 36e5, aliquotaNominal: 0.21, parcelaDeduzir: 125640 },
|
|
44
|
+
{ faixa: 6, receitaBrutaMin: 360000001e-2, receitaBrutaMax: 48e5, aliquotaNominal: 0.33, parcelaDeduzir: 648e3 }
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "IV",
|
|
49
|
+
nome: "Servi\xE7os \u2014 CPP fora do Simples",
|
|
50
|
+
descricao: "Presta\xE7\xE3o de servi\xE7os do \xA7 5\xBA-C do art. 18 da LC 123/2006 (CPP recolhida em separado)",
|
|
51
|
+
cppForaSimples: true,
|
|
52
|
+
faixas: [
|
|
53
|
+
{ faixa: 1, receitaBrutaMin: 0, receitaBrutaMax: 18e4, aliquotaNominal: 0.045, parcelaDeduzir: 0 },
|
|
54
|
+
{ faixa: 2, receitaBrutaMin: 180000.01, receitaBrutaMax: 36e4, aliquotaNominal: 0.09, parcelaDeduzir: 8100 },
|
|
55
|
+
{ faixa: 3, receitaBrutaMin: 360000.01, receitaBrutaMax: 72e4, aliquotaNominal: 0.102, parcelaDeduzir: 12420 },
|
|
56
|
+
{ faixa: 4, receitaBrutaMin: 720000.01, receitaBrutaMax: 18e5, aliquotaNominal: 0.14, parcelaDeduzir: 39780 },
|
|
57
|
+
{ faixa: 5, receitaBrutaMin: 180000001e-2, receitaBrutaMax: 36e5, aliquotaNominal: 0.22, parcelaDeduzir: 183780 },
|
|
58
|
+
{ faixa: 6, receitaBrutaMin: 360000001e-2, receitaBrutaMax: 48e5, aliquotaNominal: 0.33, parcelaDeduzir: 828e3 }
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: "V",
|
|
63
|
+
nome: "Servi\xE7os \u2014 al\xEDquota elevada",
|
|
64
|
+
descricao: "Presta\xE7\xE3o de servi\xE7os do \xA7 5\xBA-I do art. 18 da LC 123/2006 quando o Fator R for inferior a 28% (CPP fora do Simples)",
|
|
65
|
+
cppForaSimples: true,
|
|
66
|
+
faixas: [
|
|
67
|
+
{ faixa: 1, receitaBrutaMin: 0, receitaBrutaMax: 18e4, aliquotaNominal: 0.155, parcelaDeduzir: 0 },
|
|
68
|
+
{ faixa: 2, receitaBrutaMin: 180000.01, receitaBrutaMax: 36e4, aliquotaNominal: 0.18, parcelaDeduzir: 4500 },
|
|
69
|
+
{ faixa: 3, receitaBrutaMin: 360000.01, receitaBrutaMax: 72e4, aliquotaNominal: 0.195, parcelaDeduzir: 9900 },
|
|
70
|
+
{ faixa: 4, receitaBrutaMin: 720000.01, receitaBrutaMax: 18e5, aliquotaNominal: 0.205, parcelaDeduzir: 17100 },
|
|
71
|
+
{ faixa: 5, receitaBrutaMin: 180000001e-2, receitaBrutaMax: 36e5, aliquotaNominal: 0.23, parcelaDeduzir: 62100 },
|
|
72
|
+
{ faixa: 6, receitaBrutaMin: 360000001e-2, receitaBrutaMax: 48e5, aliquotaNominal: 0.305, parcelaDeduzir: 54e4 }
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
// src/simples-nacional/constants.ts
|
|
78
|
+
var PLANALTO_LC123_URL = "https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm";
|
|
79
|
+
var RECEITA_SIMPLES_ANEXO_I_URL = "http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430";
|
|
80
|
+
var CGSN_RESOLUCAO_140_URL = "http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=115262";
|
|
81
|
+
var SIMPLES_GOLDEN_ANEXO_COMERCIO = "I";
|
|
82
|
+
var SIMPLES_GOLDEN_ANEXO_SERVICOS = "III";
|
|
83
|
+
var SIMPLES_GOLDEN_ANEXO_PROFISSIONAIS = "V";
|
|
84
|
+
var SIMPLES_MIN_ANEXOS = 5;
|
|
85
|
+
var SIMPLES_MAX_ANEXOS = 5;
|
|
86
|
+
var SIMPLES_FAIXAS_POR_ANEXO = 6;
|
|
87
|
+
var SIMPLES_MAX_RBT12 = 48e5;
|
|
88
|
+
|
|
89
|
+
// src/simples-nacional/lookup.ts
|
|
90
|
+
var anexos = anexos_default;
|
|
91
|
+
var ROMAN_TO_ID = {
|
|
92
|
+
I: "I",
|
|
93
|
+
II: "II",
|
|
94
|
+
III: "III",
|
|
95
|
+
IV: "IV",
|
|
96
|
+
V: "V"
|
|
97
|
+
};
|
|
98
|
+
function normalizeAnexoId(anexo) {
|
|
99
|
+
const trimmed = anexo.trim().toUpperCase();
|
|
100
|
+
if (trimmed.length === 0) {
|
|
101
|
+
return "";
|
|
102
|
+
}
|
|
103
|
+
const romanMatch = /^ANEXO\s+([IV]+)$/u.exec(trimmed);
|
|
104
|
+
if (romanMatch !== null) {
|
|
105
|
+
const roman = romanMatch[1];
|
|
106
|
+
return ROMAN_TO_ID[roman] ?? "";
|
|
107
|
+
}
|
|
108
|
+
if (trimmed in ROMAN_TO_ID) {
|
|
109
|
+
return ROMAN_TO_ID[trimmed];
|
|
110
|
+
}
|
|
111
|
+
const digitMap = {
|
|
112
|
+
"1": "I",
|
|
113
|
+
"2": "II",
|
|
114
|
+
"3": "III",
|
|
115
|
+
"4": "IV",
|
|
116
|
+
"5": "V"
|
|
117
|
+
};
|
|
118
|
+
const digits = trimmed.replace(/\D/g, "");
|
|
119
|
+
if (digits.length === 1 && digits in digitMap) {
|
|
120
|
+
return digitMap[digits];
|
|
121
|
+
}
|
|
122
|
+
return "";
|
|
123
|
+
}
|
|
124
|
+
function isValidReceitaBruta(receitaBruta) {
|
|
125
|
+
return Number.isFinite(receitaBruta) && receitaBruta > 0 && receitaBruta <= SIMPLES_MAX_RBT12;
|
|
126
|
+
}
|
|
127
|
+
function getSimplesAnexos() {
|
|
128
|
+
return anexos;
|
|
129
|
+
}
|
|
130
|
+
function getSimplesAnexo(anexo) {
|
|
131
|
+
const normalized = normalizeAnexoId(anexo);
|
|
132
|
+
if (normalized.length === 0) {
|
|
133
|
+
return void 0;
|
|
134
|
+
}
|
|
135
|
+
return anexos.find((entry) => entry.id === normalized);
|
|
136
|
+
}
|
|
137
|
+
var FAIXA_MAX_RECEITAS = [18e4, 36e4, 72e4, 18e5, 36e5, 48e5];
|
|
138
|
+
function resolveFaixaIndex(receitaBruta) {
|
|
139
|
+
if (receitaBruta <= FAIXA_MAX_RECEITAS[0]) {
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
if (receitaBruta <= FAIXA_MAX_RECEITAS[1]) {
|
|
143
|
+
return 1;
|
|
144
|
+
}
|
|
145
|
+
if (receitaBruta <= FAIXA_MAX_RECEITAS[2]) {
|
|
146
|
+
return 2;
|
|
147
|
+
}
|
|
148
|
+
if (receitaBruta <= FAIXA_MAX_RECEITAS[3]) {
|
|
149
|
+
return 3;
|
|
150
|
+
}
|
|
151
|
+
if (receitaBruta <= FAIXA_MAX_RECEITAS[4]) {
|
|
152
|
+
return 4;
|
|
153
|
+
}
|
|
154
|
+
return 5;
|
|
155
|
+
}
|
|
156
|
+
function getSimplesFaixa(options) {
|
|
157
|
+
const anexoEntry = getSimplesAnexo(options.anexo);
|
|
158
|
+
if (anexoEntry === void 0 || !isValidReceitaBruta(options.receitaBruta)) {
|
|
159
|
+
return void 0;
|
|
160
|
+
}
|
|
161
|
+
const faixa = anexoEntry.faixas[resolveFaixaIndex(options.receitaBruta)];
|
|
162
|
+
return { ...faixa, anexo: anexoEntry.id };
|
|
163
|
+
}
|
|
164
|
+
function computeSimplesAliquotaEfetiva(options) {
|
|
165
|
+
const faixa = getSimplesFaixa(options);
|
|
166
|
+
if (faixa === void 0) {
|
|
167
|
+
return void 0;
|
|
168
|
+
}
|
|
169
|
+
const numerator = options.receitaBruta * faixa.aliquotaNominal - faixa.parcelaDeduzir;
|
|
170
|
+
return numerator / options.receitaBruta;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// src/simples-nacional/version.ts
|
|
174
|
+
var SIMPLES_NACIONAL_DATA_VERSION = metadata_default;
|
|
175
|
+
|
|
176
|
+
export { CGSN_RESOLUCAO_140_URL, PLANALTO_LC123_URL, RECEITA_SIMPLES_ANEXO_I_URL, SIMPLES_FAIXAS_POR_ANEXO, SIMPLES_GOLDEN_ANEXO_COMERCIO, SIMPLES_GOLDEN_ANEXO_PROFISSIONAIS, SIMPLES_GOLDEN_ANEXO_SERVICOS, SIMPLES_MAX_ANEXOS, SIMPLES_MAX_RBT12, SIMPLES_MIN_ANEXOS, SIMPLES_NACIONAL_DATA_VERSION, computeSimplesAliquotaEfetiva, getSimplesAnexo, getSimplesAnexos, getSimplesFaixa };
|
|
177
|
+
//# sourceMappingURL=simples-nacional.js.map
|
|
178
|
+
//# sourceMappingURL=simples-nacional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/simples-nacional/data/anexos.json","../src/simples-nacional/constants.ts","../src/simples-nacional/lookup.ts","../src/simples-nacional/version.ts"],"names":[],"mappings":"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","file":"simples-nacional.js","sourcesContent":["[\n {\n \"id\": \"I\",\n \"nome\": \"Comércio\",\n \"descricao\": \"Receitas decorrentes da revenda de mercadorias\",\n \"cppForaSimples\": false,\n \"faixas\": [\n { \"faixa\": 1, \"receitaBrutaMin\": 0, \"receitaBrutaMax\": 180000, \"aliquotaNominal\": 0.04, \"parcelaDeduzir\": 0 },\n { \"faixa\": 2, \"receitaBrutaMin\": 180000.01, \"receitaBrutaMax\": 360000, \"aliquotaNominal\": 0.073, \"parcelaDeduzir\": 5940 },\n { \"faixa\": 3, \"receitaBrutaMin\": 360000.01, \"receitaBrutaMax\": 720000, \"aliquotaNominal\": 0.095, \"parcelaDeduzir\": 13860 },\n { \"faixa\": 4, \"receitaBrutaMin\": 720000.01, \"receitaBrutaMax\": 1800000, \"aliquotaNominal\": 0.107, \"parcelaDeduzir\": 22500 },\n { \"faixa\": 5, \"receitaBrutaMin\": 1800000.01, \"receitaBrutaMax\": 3600000, \"aliquotaNominal\": 0.143, \"parcelaDeduzir\": 87300 },\n { \"faixa\": 6, \"receitaBrutaMin\": 3600000.01, \"receitaBrutaMax\": 4800000, \"aliquotaNominal\": 0.19, \"parcelaDeduzir\": 378000 }\n ]\n },\n {\n \"id\": \"II\",\n \"nome\": \"Indústria\",\n \"descricao\": \"Receitas decorrentes da venda de mercadorias industrializadas pelo contribuinte\",\n \"cppForaSimples\": false,\n \"faixas\": [\n { \"faixa\": 1, \"receitaBrutaMin\": 0, \"receitaBrutaMax\": 180000, \"aliquotaNominal\": 0.045, \"parcelaDeduzir\": 0 },\n { \"faixa\": 2, \"receitaBrutaMin\": 180000.01, \"receitaBrutaMax\": 360000, \"aliquotaNominal\": 0.078, \"parcelaDeduzir\": 5940 },\n { \"faixa\": 3, \"receitaBrutaMin\": 360000.01, \"receitaBrutaMax\": 720000, \"aliquotaNominal\": 0.1, \"parcelaDeduzir\": 13860 },\n { \"faixa\": 4, \"receitaBrutaMin\": 720000.01, \"receitaBrutaMax\": 1800000, \"aliquotaNominal\": 0.112, \"parcelaDeduzir\": 22500 },\n { \"faixa\": 5, \"receitaBrutaMin\": 1800000.01, \"receitaBrutaMax\": 3600000, \"aliquotaNominal\": 0.147, \"parcelaDeduzir\": 85500 },\n { \"faixa\": 6, \"receitaBrutaMin\": 3600000.01, \"receitaBrutaMax\": 4800000, \"aliquotaNominal\": 0.3, \"parcelaDeduzir\": 720000 }\n ]\n },\n {\n \"id\": \"III\",\n \"nome\": \"Serviços — alíquota reduzida\",\n \"descricao\": \"Locação de bens móveis e prestação de serviços não relacionados no § 5º-C do art. 18 da LC 123/2006\",\n \"cppForaSimples\": false,\n \"faixas\": [\n { \"faixa\": 1, \"receitaBrutaMin\": 0, \"receitaBrutaMax\": 180000, \"aliquotaNominal\": 0.06, \"parcelaDeduzir\": 0 },\n { \"faixa\": 2, \"receitaBrutaMin\": 180000.01, \"receitaBrutaMax\": 360000, \"aliquotaNominal\": 0.112, \"parcelaDeduzir\": 9360 },\n { \"faixa\": 3, \"receitaBrutaMin\": 360000.01, \"receitaBrutaMax\": 720000, \"aliquotaNominal\": 0.135, \"parcelaDeduzir\": 17640 },\n { \"faixa\": 4, \"receitaBrutaMin\": 720000.01, \"receitaBrutaMax\": 1800000, \"aliquotaNominal\": 0.16, \"parcelaDeduzir\": 35640 },\n { \"faixa\": 5, \"receitaBrutaMin\": 1800000.01, \"receitaBrutaMax\": 3600000, \"aliquotaNominal\": 0.21, \"parcelaDeduzir\": 125640 },\n { \"faixa\": 6, \"receitaBrutaMin\": 3600000.01, \"receitaBrutaMax\": 4800000, \"aliquotaNominal\": 0.33, \"parcelaDeduzir\": 648000 }\n ]\n },\n {\n \"id\": \"IV\",\n \"nome\": \"Serviços — CPP fora do Simples\",\n \"descricao\": \"Prestação de serviços do § 5º-C do art. 18 da LC 123/2006 (CPP recolhida em separado)\",\n \"cppForaSimples\": true,\n \"faixas\": [\n { \"faixa\": 1, \"receitaBrutaMin\": 0, \"receitaBrutaMax\": 180000, \"aliquotaNominal\": 0.045, \"parcelaDeduzir\": 0 },\n { \"faixa\": 2, \"receitaBrutaMin\": 180000.01, \"receitaBrutaMax\": 360000, \"aliquotaNominal\": 0.09, \"parcelaDeduzir\": 8100 },\n { \"faixa\": 3, \"receitaBrutaMin\": 360000.01, \"receitaBrutaMax\": 720000, \"aliquotaNominal\": 0.102, \"parcelaDeduzir\": 12420 },\n { \"faixa\": 4, \"receitaBrutaMin\": 720000.01, \"receitaBrutaMax\": 1800000, \"aliquotaNominal\": 0.14, \"parcelaDeduzir\": 39780 },\n { \"faixa\": 5, \"receitaBrutaMin\": 1800000.01, \"receitaBrutaMax\": 3600000, \"aliquotaNominal\": 0.22, \"parcelaDeduzir\": 183780 },\n { \"faixa\": 6, \"receitaBrutaMin\": 3600000.01, \"receitaBrutaMax\": 4800000, \"aliquotaNominal\": 0.33, \"parcelaDeduzir\": 828000 }\n ]\n },\n {\n \"id\": \"V\",\n \"nome\": \"Serviços — alíquota elevada\",\n \"descricao\": \"Prestação de serviços do § 5º-I do art. 18 da LC 123/2006 quando o Fator R for inferior a 28% (CPP fora do Simples)\",\n \"cppForaSimples\": true,\n \"faixas\": [\n { \"faixa\": 1, \"receitaBrutaMin\": 0, \"receitaBrutaMax\": 180000, \"aliquotaNominal\": 0.155, \"parcelaDeduzir\": 0 },\n { \"faixa\": 2, \"receitaBrutaMin\": 180000.01, \"receitaBrutaMax\": 360000, \"aliquotaNominal\": 0.18, \"parcelaDeduzir\": 4500 },\n { \"faixa\": 3, \"receitaBrutaMin\": 360000.01, \"receitaBrutaMax\": 720000, \"aliquotaNominal\": 0.195, \"parcelaDeduzir\": 9900 },\n { \"faixa\": 4, \"receitaBrutaMin\": 720000.01, \"receitaBrutaMax\": 1800000, \"aliquotaNominal\": 0.205, \"parcelaDeduzir\": 17100 },\n { \"faixa\": 5, \"receitaBrutaMin\": 1800000.01, \"receitaBrutaMax\": 3600000, \"aliquotaNominal\": 0.23, \"parcelaDeduzir\": 62100 },\n { \"faixa\": 6, \"receitaBrutaMin\": 3600000.01, \"receitaBrutaMax\": 4800000, \"aliquotaNominal\": 0.305, \"parcelaDeduzir\": 540000 }\n ]\n }\n]\n","export const PLANALTO_LC123_URL = 'https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm';\n\nexport const RECEITA_SIMPLES_ANEXO_I_URL =\n 'http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430';\n\nexport const CGSN_RESOLUCAO_140_URL =\n 'http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=115262';\n\nexport const SIMPLES_GOLDEN_ANEXO_COMERCIO = 'I';\nexport const SIMPLES_GOLDEN_ANEXO_SERVICOS = 'III';\nexport const SIMPLES_GOLDEN_ANEXO_PROFISSIONAIS = 'V';\n\nexport const SIMPLES_MIN_ANEXOS = 5;\nexport const SIMPLES_MAX_ANEXOS = 5;\nexport const SIMPLES_FAIXAS_POR_ANEXO = 6;\n\nexport const SIMPLES_MAX_RBT12 = 4_800_000;\n","/**\n * Simples Nacional — LC 123/2006 annex tables (offline embedded law data).\n * @see https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp123.htm\n * @see http://normas.receita.fazenda.gov.br/sijut2consulta/anexoOutros.action?idArquivoBinario=48430\n */\n\nimport anexosData from './data/anexos.json';\nimport { SIMPLES_MAX_RBT12 } from './constants.js';\nimport type { SimplesAnexo, SimplesAnexoId, SimplesFaixaLookup } from './types.js';\n\nconst anexos: readonly SimplesAnexo[] = anexosData as SimplesAnexo[];\n\nconst ROMAN_TO_ID: Record<string, SimplesAnexoId> = {\n I: 'I',\n II: 'II',\n III: 'III',\n IV: 'IV',\n V: 'V',\n};\n\nfunction normalizeAnexoId(anexo: string): SimplesAnexoId | '' {\n const trimmed = anexo.trim().toUpperCase();\n if (trimmed.length === 0) {\n return '';\n }\n\n const romanMatch = /^ANEXO\\s+([IV]+)$/u.exec(trimmed);\n if (romanMatch !== null) {\n const roman = romanMatch[1];\n return ROMAN_TO_ID[roman] ?? '';\n }\n\n if (trimmed in ROMAN_TO_ID) {\n return ROMAN_TO_ID[trimmed];\n }\n\n const digitMap: Record<string, SimplesAnexoId> = {\n '1': 'I',\n '2': 'II',\n '3': 'III',\n '4': 'IV',\n '5': 'V',\n };\n const digits = trimmed.replace(/\\D/g, '');\n if (digits.length === 1 && digits in digitMap) {\n return digitMap[digits];\n }\n\n return '';\n}\n\nfunction isValidReceitaBruta(receitaBruta: number): boolean {\n return Number.isFinite(receitaBruta) && receitaBruta > 0 && receitaBruta <= SIMPLES_MAX_RBT12;\n}\n\nexport function getSimplesAnexos(): readonly SimplesAnexo[] {\n return anexos;\n}\n\nexport function getSimplesAnexo(anexo: string): SimplesAnexo | undefined {\n const normalized = normalizeAnexoId(anexo);\n if (normalized.length === 0) {\n return undefined;\n }\n return anexos.find((entry) => entry.id === normalized);\n}\n\nconst FAIXA_MAX_RECEITAS = [180_000, 360_000, 720_000, 1_800_000, 3_600_000, 4_800_000] as const;\n\nfunction resolveFaixaIndex(receitaBruta: number): number {\n if (receitaBruta <= FAIXA_MAX_RECEITAS[0]) {\n return 0;\n }\n if (receitaBruta <= FAIXA_MAX_RECEITAS[1]) {\n return 1;\n }\n if (receitaBruta <= FAIXA_MAX_RECEITAS[2]) {\n return 2;\n }\n if (receitaBruta <= FAIXA_MAX_RECEITAS[3]) {\n return 3;\n }\n if (receitaBruta <= FAIXA_MAX_RECEITAS[4]) {\n return 4;\n }\n return 5;\n}\n\nexport function getSimplesFaixa(options: {\n anexo: string;\n receitaBruta: number;\n}): SimplesFaixaLookup | undefined {\n const anexoEntry = getSimplesAnexo(options.anexo);\n if (anexoEntry === undefined || !isValidReceitaBruta(options.receitaBruta)) {\n return undefined;\n }\n const faixa = anexoEntry.faixas[resolveFaixaIndex(options.receitaBruta)];\n return { ...faixa, anexo: anexoEntry.id };\n}\n\nexport function computeSimplesAliquotaEfetiva(options: {\n anexo: string;\n receitaBruta: number;\n}): number | undefined {\n const faixa = getSimplesFaixa(options);\n if (faixa === undefined) {\n return undefined;\n }\n const numerator = options.receitaBruta * faixa.aliquotaNominal - faixa.parcelaDeduzir;\n return numerator / options.receitaBruta;\n}\n","import simplesNacionalMetadata from './data/metadata.json';\nimport type { SimplesDataVersion } from './types.js';\n\nexport const SIMPLES_NACIONAL_DATA_VERSION: SimplesDataVersion =\n simplesNacionalMetadata as SimplesDataVersion;\n"]}
|
package/dist/telefone.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { D as DocumentFormat, T as Telefone,
|
|
3
|
-
import { b as DatasetChanges, c as DatasetVerification } from './types-
|
|
1
|
+
import { J as TelefoneValidationResult, F as FormatResult } from './validation-result-Rb7C0_xj.js';
|
|
2
|
+
export { D as DocumentFormat, T as Telefone, H as TelefoneTipo, V as ValidationErrorCode } from './validation-result-Rb7C0_xj.js';
|
|
3
|
+
import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
|
|
4
4
|
|
|
5
5
|
/** 67 official Anatel national area codes (CN / DDD). */
|
|
6
6
|
declare const ANATEL_DDDS: readonly ["11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "24", "27", "28", "31", "32", "33", "34", "35", "37", "38", "41", "42", "43", "44", "45", "46", "47", "48", "49", "51", "53", "54", "55", "61", "62", "64", "63", "65", "66", "67", "68", "69", "71", "73", "74", "75", "77", "79", "81", "87", "82", "83", "84", "85", "88", "86", "89", "91", "93", "94", "92", "97", "95", "96", "98", "99"];
|
package/dist/telefone.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './chunk-ZH4RJNG7.js';
|
|
2
|
-
export { formatTelefone } from './chunk-
|
|
3
|
-
export { ANATEL_DDDS, ANATEL_DDD_SET, TELEFONE_ANATEL_DDD_PANEL_URL, TELEFONE_DDD_DATA_VERSION, TELEFONE_GOLDEN_CELULAR, TELEFONE_GOLDEN_CELULAR_MASKED, TELEFONE_GOLDEN_FIXO, TELEFONE_GOLDEN_FIXO_MASKED, TELEFONE_OFFICIAL_SOURCE_URL, extractTelefoneDigits, getDddInfo, isValidTelefone, normalizeTelefoneDigits, stripTelefone, validateTelefone } from './chunk-
|
|
2
|
+
export { formatTelefone } from './chunk-26HMLR4Y.js';
|
|
3
|
+
export { ANATEL_DDDS, ANATEL_DDD_SET, TELEFONE_ANATEL_DDD_PANEL_URL, TELEFONE_DDD_DATA_VERSION, TELEFONE_GOLDEN_CELULAR, TELEFONE_GOLDEN_CELULAR_MASKED, TELEFONE_GOLDEN_FIXO, TELEFONE_GOLDEN_FIXO_MASKED, TELEFONE_OFFICIAL_SOURCE_URL, extractTelefoneDigits, getDddInfo, isValidTelefone, normalizeTelefoneDigits, stripTelefone, validateTelefone } from './chunk-2HD6TA3O.js';
|
|
4
4
|
import './chunk-RRG2HJMY.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-EMZCVV5Y.js';
|
|
6
6
|
//# sourceMappingURL=telefone.js.map
|
|
7
7
|
//# sourceMappingURL=telefone.js.map
|
package/dist/titulo-eleitor.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { U as UfCode,
|
|
2
|
-
export { D as DocumentFormat,
|
|
1
|
+
import { U as UfCode, M as TituloEleitorValidationResult, F as FormatResult } from './validation-result-Rb7C0_xj.js';
|
|
2
|
+
export { D as DocumentFormat, K as TituloEleitor, V as ValidationErrorCode, O as ValidationResult } from './validation-result-Rb7C0_xj.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Título de Eleitor constants — modulo 11 (TSE Res. 20.132/1998 + algorithm cross-checks).
|
package/dist/titulo-eleitor.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import './chunk-7ULDLG4C.js';
|
|
2
|
-
export { formatTituloEleitor } from './chunk-
|
|
3
|
-
export { TITULO_ELEITOR_ALGORITHM_REF_URL, TITULO_ELEITOR_ALGORITHM_WEIGHTS_REF_URL, TITULO_ELEITOR_DV1_WEIGHTS_8, TITULO_ELEITOR_DV1_WEIGHTS_9, TITULO_ELEITOR_DV2_WEIGHTS, TITULO_ELEITOR_ETITULO_URL, TITULO_ELEITOR_EXTERIOR_UF_CODE, TITULO_ELEITOR_GOLDEN_EXTERIOR, TITULO_ELEITOR_GOLDEN_MASKED_INPUT, TITULO_ELEITOR_GOLDEN_PRIMARY, TITULO_ELEITOR_GOLDEN_SP_EXTENDED, TITULO_ELEITOR_GOLDEN_SP_SPECIAL, TITULO_ELEITOR_LENGTH, TITULO_ELEITOR_LENGTH_EXTENDED, TITULO_ELEITOR_NORMATIVE_SECONDARY_URL, TITULO_ELEITOR_NUMERIC_PATTERN_12, TITULO_ELEITOR_NUMERIC_PATTERN_13, TITULO_ELEITOR_OFFICIAL_SOURCE_URL, TITULO_ELEITOR_SEQUENTIAL_LENGTH, TITULO_ELEITOR_SEQUENTIAL_LENGTH_EXTENDED, TITULO_ELEITOR_SPECIAL_UF_CODES, TITULO_ELEITOR_TSE_PORTAL_URL, TITULO_ELEITOR_UF_BY_CODE, isValidTituloEleitor, validateTituloEleitor } from './chunk-
|
|
2
|
+
export { formatTituloEleitor } from './chunk-5I6WYO5R.js';
|
|
3
|
+
export { TITULO_ELEITOR_ALGORITHM_REF_URL, TITULO_ELEITOR_ALGORITHM_WEIGHTS_REF_URL, TITULO_ELEITOR_DV1_WEIGHTS_8, TITULO_ELEITOR_DV1_WEIGHTS_9, TITULO_ELEITOR_DV2_WEIGHTS, TITULO_ELEITOR_ETITULO_URL, TITULO_ELEITOR_EXTERIOR_UF_CODE, TITULO_ELEITOR_GOLDEN_EXTERIOR, TITULO_ELEITOR_GOLDEN_MASKED_INPUT, TITULO_ELEITOR_GOLDEN_PRIMARY, TITULO_ELEITOR_GOLDEN_SP_EXTENDED, TITULO_ELEITOR_GOLDEN_SP_SPECIAL, TITULO_ELEITOR_LENGTH, TITULO_ELEITOR_LENGTH_EXTENDED, TITULO_ELEITOR_NORMATIVE_SECONDARY_URL, TITULO_ELEITOR_NUMERIC_PATTERN_12, TITULO_ELEITOR_NUMERIC_PATTERN_13, TITULO_ELEITOR_OFFICIAL_SOURCE_URL, TITULO_ELEITOR_SEQUENTIAL_LENGTH, TITULO_ELEITOR_SEQUENTIAL_LENGTH_EXTENDED, TITULO_ELEITOR_SPECIAL_UF_CODES, TITULO_ELEITOR_TSE_PORTAL_URL, TITULO_ELEITOR_UF_BY_CODE, isValidTituloEleitor, validateTituloEleitor } from './chunk-Q2CFVQ2U.js';
|
|
4
4
|
export { stripTituloEleitor } from './chunk-YYHS5WQN.js';
|
|
5
5
|
import './chunk-4SNBZFS5.js';
|
|
6
|
-
import './chunk-EB3G4IG6.js';
|
|
7
6
|
import './chunk-UCJPSJN5.js';
|
|
7
|
+
import './chunk-EB3G4IG6.js';
|
|
8
8
|
import './chunk-OTZHMJYE.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-EMZCVV5Y.js';
|
|
10
10
|
//# sourceMappingURL=titulo-eleitor.js.map
|
|
11
11
|
//# sourceMappingURL=titulo-eleitor.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as DatasetChanges, c as DatasetVerification } from './types-
|
|
1
|
+
import { b as DatasetChanges, c as DatasetVerification } from './types-CnePu8im.js';
|
|
2
2
|
|
|
3
3
|
type TransparenciaDeliveryMode = 'query-adapter' | 'bulk-embed-candidate' | 'out-of-scope';
|
|
4
4
|
interface TransparenciaEndpoint {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { metadata_default } from './chunk-GFYWUMYH.js';
|
|
2
|
-
import { stripCnpj } from './chunk-EB3G4IG6.js';
|
|
3
2
|
import { stripCpf } from './chunk-UCJPSJN5.js';
|
|
3
|
+
import { stripCnpj } from './chunk-EB3G4IG6.js';
|
|
4
4
|
|
|
5
5
|
// src/transparencia-snapshots/data/endpoints.json
|
|
6
6
|
var endpoints_default = {
|
package/dist/tse-municipios.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { U as UfCode } from './validation-result-
|
|
2
|
-
import { S as SanitizableDocumentType } from './index-
|
|
1
|
+
import { U as UfCode } from './validation-result-Rb7C0_xj.js';
|
|
2
|
+
import { S as SanitizableDocumentType } from './index-BmoilwS2.js';
|
|
3
3
|
|
|
4
4
|
/** Document types supported by compare, batch, and diff platform APIs. */
|
|
5
5
|
type PlatformDocumentType = SanitizableDocumentType | 'pix' | 'brcode';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type DocumentFormat = 'numeric' | 'alphanumeric' | 'legacy' | 'mercosul' | 'email' | 'phone' | 'evp' | 'linha-digitavel' | 'codigo-barras' | 'cartao-credito' | 'inscricao-estadual' | 'inscricao-estadual-produtor-rural' | 'telefone' | 'brcode' | 'arrecadacao' | 'rg';
|
|
1
|
+
type DocumentFormat = 'numeric' | 'alphanumeric' | 'legacy' | 'mercosul' | 'email' | 'phone' | 'evp' | 'linha-digitavel' | 'codigo-barras' | 'cartao-credito' | 'ean-8' | 'ean-13' | 'inscricao-estadual' | 'inscricao-estadual-produtor-rural' | 'telefone' | 'brcode' | 'arrecadacao' | 'rg';
|
|
2
2
|
type PixKeyType = 'cpf' | 'cnpj' | 'email' | 'phone' | 'evp';
|
|
3
3
|
type TelefoneTipo = 'celular' | 'fixo';
|
|
4
4
|
type BoletoInputKind = 'linha-digitavel' | 'codigo-barras' | 'arrecadacao-linha' | 'arrecadacao-codigo-barras';
|
|
@@ -50,6 +50,22 @@ type Placa = string & {
|
|
|
50
50
|
type PisPasep = string & {
|
|
51
51
|
readonly __brand: 'PisPasep';
|
|
52
52
|
};
|
|
53
|
+
type Nit = string & {
|
|
54
|
+
readonly __brand: 'Nit';
|
|
55
|
+
};
|
|
56
|
+
type NitIssuer = 'inss' | 'caixa';
|
|
57
|
+
type NitTipo = 'nit' | 'pis' | 'nis';
|
|
58
|
+
type NitValidationResult = {
|
|
59
|
+
ok: true;
|
|
60
|
+
value: Nit;
|
|
61
|
+
format: 'numeric';
|
|
62
|
+
issuer: NitIssuer;
|
|
63
|
+
tipo: NitTipo;
|
|
64
|
+
} | {
|
|
65
|
+
ok: false;
|
|
66
|
+
code: ValidationErrorCode;
|
|
67
|
+
message: string;
|
|
68
|
+
};
|
|
53
69
|
type PixKey = string & {
|
|
54
70
|
readonly __brand: 'PixKey';
|
|
55
71
|
};
|
|
@@ -62,6 +78,9 @@ type CodigoBarras = string & {
|
|
|
62
78
|
type CartaoCredito = string & {
|
|
63
79
|
readonly __brand: 'CartaoCredito';
|
|
64
80
|
};
|
|
81
|
+
type Ean = string & {
|
|
82
|
+
readonly __brand: 'Ean';
|
|
83
|
+
};
|
|
65
84
|
type InscricaoEstadual = string & {
|
|
66
85
|
readonly __brand: 'InscricaoEstadual';
|
|
67
86
|
};
|
|
@@ -92,6 +111,15 @@ type CartaoCreditoValidationResult = {
|
|
|
92
111
|
message: string;
|
|
93
112
|
brand?: CardBrand;
|
|
94
113
|
};
|
|
114
|
+
type EanValidationResult = {
|
|
115
|
+
ok: true;
|
|
116
|
+
value: Ean;
|
|
117
|
+
format: 'ean-8' | 'ean-13';
|
|
118
|
+
} | {
|
|
119
|
+
ok: false;
|
|
120
|
+
code: ValidationErrorCode;
|
|
121
|
+
message: string;
|
|
122
|
+
};
|
|
95
123
|
type PixValidationResult = {
|
|
96
124
|
ok: true;
|
|
97
125
|
value: PixKey;
|
|
@@ -232,4 +260,4 @@ type BrCodeValidationResult = {
|
|
|
232
260
|
message: string;
|
|
233
261
|
};
|
|
234
262
|
|
|
235
|
-
export type {
|
|
263
|
+
export type { RgUfCode as A, BoletoInputKind as B, CartaoCredito as C, DocumentFormat as D, Ean as E, FormatResult as F, RgValidationResult as G, TelefoneTipo as H, IeProdutorRuralValidationResult as I, TelefoneValidationResult as J, TituloEleitor as K, LinhaDigitavel as L, TituloEleitorValidationResult as M, NfeChave as N, ValidationResult as O, PisPasep as P, CobrancaBoletoValidationResult as Q, Renavam as R, Telefone as T, UfCode as U, ValidationErrorCode as V, BoletoSituacao as a, BoletoValidationResult as b, BrCodePayload as c, BrCodeValidationResult as d, CartaoCreditoValidationResult as e, Cep as f, Cnh as g, Cnpj as h, CodigoBarras as i, Cpf as j, EanValidationResult as k, InscricaoEstadual as l, InscricaoEstadualProdutorRural as m, InscricaoEstadualValidationResult as n, NfeChaveParsed as o, NfeChaveValidationResult as p, Nit as q, NitIssuer as r, NitTipo as s, NitValidationResult as t, PixKey as u, PixKeyType as v, PixValidationResult as w, Placa as x, ProcessoJudicial as y, Rg as z };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@br-validators/core",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "The Brazilian document validation library for TypeScript — CPF, CNPJ (alphanumeric), NF-e, PIX, boleto, IE (27 UFs), and 15+ more. Zero deps, fully typed, never throws.",
|
|
3
|
+
"version": "1.8.1",
|
|
4
|
+
"description": "The Brazilian document validation library for TypeScript — CPF, CNPJ (alphanumeric), NF-e, PIX, boleto, IE (27 UFs), offline IBGE/ANP/NCM/CST/LC116 reference data, and 15+ more. Zero deps, fully typed, never throws.",
|
|
5
5
|
"homepage": "https://www.npmjs.com/package/@br-validators/core",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"titulo-eleitor",
|
|
27
27
|
"placa",
|
|
28
28
|
"pis-pasep",
|
|
29
|
+
"cnis",
|
|
29
30
|
"telefone",
|
|
30
31
|
"pix",
|
|
31
32
|
"brcode",
|
|
@@ -45,14 +46,22 @@
|
|
|
45
46
|
"aeroportos",
|
|
46
47
|
"tse-municipios",
|
|
47
48
|
"moedas",
|
|
49
|
+
"ptax",
|
|
48
50
|
"paises-bacen",
|
|
49
51
|
"incoterms",
|
|
50
52
|
"feriados",
|
|
51
53
|
"cnaes",
|
|
52
54
|
"cfop",
|
|
53
55
|
"natureza-juridica",
|
|
56
|
+
"cnpj-motivos",
|
|
57
|
+
"ibpt",
|
|
54
58
|
"nbs",
|
|
55
59
|
"cest",
|
|
60
|
+
"cst",
|
|
61
|
+
"lc116",
|
|
62
|
+
"esocial",
|
|
63
|
+
"simples-nacional",
|
|
64
|
+
"ean",
|
|
56
65
|
"ncm",
|
|
57
66
|
"cbo",
|
|
58
67
|
"portos",
|
|
@@ -125,6 +134,10 @@
|
|
|
125
134
|
"types": "./dist/pis-pasep.d.ts",
|
|
126
135
|
"import": "./dist/pis-pasep.js"
|
|
127
136
|
},
|
|
137
|
+
"./cnis": {
|
|
138
|
+
"types": "./dist/cnis.d.ts",
|
|
139
|
+
"import": "./dist/cnis.js"
|
|
140
|
+
},
|
|
128
141
|
"./pix": {
|
|
129
142
|
"types": "./dist/pix.d.ts",
|
|
130
143
|
"import": "./dist/pix.js"
|
|
@@ -193,6 +206,10 @@
|
|
|
193
206
|
"types": "./dist/moedas.d.ts",
|
|
194
207
|
"import": "./dist/moedas.js"
|
|
195
208
|
},
|
|
209
|
+
"./ptax": {
|
|
210
|
+
"types": "./dist/ptax.d.ts",
|
|
211
|
+
"import": "./dist/ptax.js"
|
|
212
|
+
},
|
|
196
213
|
"./paises-bacen": {
|
|
197
214
|
"types": "./dist/paises-bacen.d.ts",
|
|
198
215
|
"import": "./dist/paises-bacen.js"
|
|
@@ -217,6 +234,14 @@
|
|
|
217
234
|
"types": "./dist/natureza-juridica.d.ts",
|
|
218
235
|
"import": "./dist/natureza-juridica.js"
|
|
219
236
|
},
|
|
237
|
+
"./cnpj-motivos": {
|
|
238
|
+
"types": "./dist/cnpj-motivos.d.ts",
|
|
239
|
+
"import": "./dist/cnpj-motivos.js"
|
|
240
|
+
},
|
|
241
|
+
"./ibpt": {
|
|
242
|
+
"types": "./dist/ibpt.d.ts",
|
|
243
|
+
"import": "./dist/ibpt.js"
|
|
244
|
+
},
|
|
220
245
|
"./nbs": {
|
|
221
246
|
"types": "./dist/nbs.d.ts",
|
|
222
247
|
"import": "./dist/nbs.js"
|
|
@@ -225,6 +250,26 @@
|
|
|
225
250
|
"types": "./dist/cest.d.ts",
|
|
226
251
|
"import": "./dist/cest.js"
|
|
227
252
|
},
|
|
253
|
+
"./cst": {
|
|
254
|
+
"types": "./dist/cst.d.ts",
|
|
255
|
+
"import": "./dist/cst.js"
|
|
256
|
+
},
|
|
257
|
+
"./lc116": {
|
|
258
|
+
"types": "./dist/lc116.d.ts",
|
|
259
|
+
"import": "./dist/lc116.js"
|
|
260
|
+
},
|
|
261
|
+
"./esocial": {
|
|
262
|
+
"types": "./dist/esocial.d.ts",
|
|
263
|
+
"import": "./dist/esocial.js"
|
|
264
|
+
},
|
|
265
|
+
"./simples-nacional": {
|
|
266
|
+
"types": "./dist/simples-nacional.d.ts",
|
|
267
|
+
"import": "./dist/simples-nacional.js"
|
|
268
|
+
},
|
|
269
|
+
"./ean": {
|
|
270
|
+
"types": "./dist/ean.d.ts",
|
|
271
|
+
"import": "./dist/ean.js"
|
|
272
|
+
},
|
|
228
273
|
"./ncm": {
|
|
229
274
|
"types": "./dist/ncm.d.ts",
|
|
230
275
|
"import": "./dist/ncm.js"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-3ZALSJZT.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 '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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/validation-result.ts"],"names":[],"mappings":";AA4KO,SAAS,UAAU,KAAA,EAAqB;AAC7C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,sBAAsB,KAAA,EAAiC;AACrE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,SAAS,KAAA,EAAoB;AAC3C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,WAAW,KAAA,EAAsB;AAC/C,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,kBAAkB,KAAA,EAA6B;AAC7D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,uBAAuB,KAAA,EAAkC;AACvE,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,oCAAoC,KAAA,EAA+C;AACjG,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,QAAQ,KAAA,EAAmB;AACzC,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,cAAc,KAAA,EAAyB;AACrD,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,OAAO,KAAA;AACT","file":"chunk-4NFEM2SU.js","sourcesContent":["export type DocumentFormat =\n | 'numeric'\n | 'alphanumeric'\n | 'legacy'\n | 'mercosul'\n | 'email'\n | 'phone'\n | 'evp'\n | 'linha-digitavel'\n | 'codigo-barras'\n | 'cartao-credito'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'telefone'\n | 'brcode'\n | 'arrecadacao'\n | 'rg';\n\nexport type PixKeyType = 'cpf' | 'cnpj' | 'email' | 'phone' | 'evp';\n\nexport type TelefoneTipo = 'celular' | 'fixo';\n\nexport type BoletoInputKind = 'linha-digitavel' | 'codigo-barras' | 'arrecadacao-linha' | 'arrecadacao-codigo-barras';\n\nexport type ValidationErrorCode =\n | 'INVALID_LENGTH'\n | 'INVALID_CHARACTER'\n | 'INVALID_CHECK_DIGIT'\n | 'KNOWN_INVALID_PATTERN'\n | 'UNSUPPORTED_FORMAT'\n | 'EMPTY_INPUT'\n | 'UF_NOT_IMPLEMENTED';\n\nexport type ValidationResult<T extends string = string> =\n | { ok: true; value: T; format: DocumentFormat }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type FormatResult =\n | { ok: true; formatted: string }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type Cnpj = string & { readonly __brand: 'Cnpj' };\nexport type Cpf = string & { readonly __brand: 'Cpf' };\nexport type Cnh = string & { readonly __brand: 'Cnh' };\nexport type Renavam = string & { readonly __brand: 'Renavam' };\nexport type TituloEleitor = string & { readonly __brand: 'TituloEleitor' };\nexport type NfeChave = string & { readonly __brand: 'NfeChave' };\nexport type ProcessoJudicial = string & { readonly __brand: 'ProcessoJudicial' };\nexport type Cep = string & { readonly __brand: 'Cep' };\nexport type Placa = string & { readonly __brand: 'Placa' };\nexport type PisPasep = string & { readonly __brand: 'PisPasep' };\nexport type PixKey = string & { readonly __brand: 'PixKey' };\nexport type LinhaDigitavel = string & { readonly __brand: 'LinhaDigitavel' };\nexport type CodigoBarras = string & { readonly __brand: 'CodigoBarras' };\nexport type CartaoCredito = string & { readonly __brand: 'CartaoCredito' };\nexport type InscricaoEstadual = string & { readonly __brand: 'InscricaoEstadual' };\nexport type InscricaoEstadualProdutorRural = string & { readonly __brand: 'InscricaoEstadualProdutorRural' };\nexport type Rg = string & { readonly __brand: 'Rg' };\nexport type Telefone = string & { readonly __brand: 'Telefone' };\nexport type BrCodePayload = string & { readonly __brand: 'BrCodePayload' };\n\nexport type UfCode =\n | 'AC' | 'AL' | 'AM' | 'AP' | 'BA' | 'CE' | 'DF' | 'ES' | 'GO' | 'MA' | 'MG' | 'MS' | 'MT'\n | 'PA' | 'PB' | 'PE' | 'PI' | 'PR' | 'RJ' | 'RN' | 'RO' | 'RR' | 'RS' | 'SC' | 'SE' | 'SP' | 'TO';\n\n/** Phase-1 RG UFs with implemented validators. */\nexport type RgUfCode = 'SP' | 'RJ' | 'MG' | 'PR' | 'RS' | 'SC';\n\nexport type CardBrand = 'visa' | 'mastercard' | 'amex' | 'elo' | 'hipercard' | 'unknown';\n\nexport type CartaoCreditoValidationResult =\n | { ok: true; value: CartaoCredito; format: 'cartao-credito'; brand: CardBrand }\n | { ok: false; code: ValidationErrorCode; message: string; brand?: CardBrand };\n\nexport type PixValidationResult =\n | { ok: true; value: PixKey; keyType: PixKeyType; format: DocumentFormat }\n | { ok: false; code: ValidationErrorCode; message: string; keyType?: PixKeyType };\n\nexport type BoletoSituacao = '1' | '2';\n\nexport type CobrancaBoletoValidationResult =\n | {\n ok: true;\n value: LinhaDigitavel | CodigoBarras;\n inputKind: 'linha-digitavel' | 'codigo-barras';\n format: 'linha-digitavel' | 'codigo-barras';\n situacao: BoletoSituacao;\n }\n | { ok: false; code: ValidationErrorCode; message: string; inputKind?: BoletoInputKind };\n\nexport type BoletoValidationResult =\n | {\n ok: true;\n value: LinhaDigitavel | CodigoBarras;\n inputKind: 'linha-digitavel' | 'codigo-barras';\n format: 'linha-digitavel' | 'codigo-barras';\n situacao: BoletoSituacao;\n }\n | {\n ok: true;\n value: string;\n inputKind: 'arrecadacao-linha' | 'arrecadacao-codigo-barras';\n format: 'arrecadacao';\n segment: string;\n valueType: '6' | '7' | '8' | '9';\n }\n | { ok: false; code: ValidationErrorCode; message: string; inputKind?: BoletoInputKind };\n\nexport type InscricaoEstadualValidationResult =\n | { ok: true; value: InscricaoEstadual; uf: UfCode; format: 'inscricao-estadual' }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type IeProdutorRuralValidationResult =\n | { ok: true; value: InscricaoEstadualProdutorRural; uf: 'SP'; format: 'inscricao-estadual-produtor-rural' }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type RgValidationResult =\n | {\n ok: true;\n value: Rg;\n uf: RgUfCode;\n format: DocumentFormat;\n checkDigitValidated: boolean;\n }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: RgUfCode };\n\nexport type TituloEleitorValidationResult =\n | {\n ok: true;\n value: TituloEleitor;\n format: 'numeric';\n ufCode: number;\n uf?: UfCode;\n exterior?: true;\n }\n | { ok: false; code: ValidationErrorCode; message: string; ufCode?: number };\n\nexport type NfeChaveParsed = {\n cUF: string;\n aamm: string;\n cnpj: string;\n mod: string;\n serie: string;\n nNF: string;\n tpEmis: string;\n cNF: string;\n cDV: string;\n};\n\nexport type NfeChaveValidationResult =\n | { ok: true; value: NfeChave; format: 'numeric'; parsed: NfeChaveParsed; uf?: UfCode }\n | { ok: false; code: ValidationErrorCode; message: string; uf?: UfCode };\n\nexport type TelefoneValidationResult =\n | { ok: true; value: Telefone; tipo: TelefoneTipo; format: 'telefone' }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport type BrCodeValidationResult =\n | {\n ok: true;\n value: BrCodePayload;\n format: 'brcode';\n merchantName: string;\n merchantCity: string;\n amount?: string;\n txid?: string;\n pixKey?: PixKey;\n pixKeyType?: PixKeyType;\n pixInitiationUrl?: string;\n }\n | { ok: false; code: ValidationErrorCode; message: string };\n\nexport function brandCnpj(value: string): Cnpj {\n return value as Cnpj;\n}\n\nexport function brandCpf(value: string): Cpf {\n return value as Cpf;\n}\n\nexport function brandCnh(value: string): Cnh {\n return value as Cnh;\n}\n\nexport function brandRenavam(value: string): Renavam {\n return value as Renavam;\n}\n\nexport function brandTituloEleitor(value: string): TituloEleitor {\n return value as TituloEleitor;\n}\n\nexport function brandNfeChave(value: string): NfeChave {\n return value as NfeChave;\n}\n\nexport function brandProcessoJudicial(value: string): ProcessoJudicial {\n return value as ProcessoJudicial;\n}\n\nexport function brandCep(value: string): Cep {\n return value as Cep;\n}\n\nexport function brandPlaca(value: string): Placa {\n return value as Placa;\n}\n\nexport function brandPisPasep(value: string): PisPasep {\n return value as PisPasep;\n}\n\nexport function brandPixKey(value: string): PixKey {\n return value as PixKey;\n}\n\nexport function brandLinhaDigitavel(value: string): LinhaDigitavel {\n return value as LinhaDigitavel;\n}\n\nexport function brandCodigoBarras(value: string): CodigoBarras {\n return value as CodigoBarras;\n}\n\nexport function brandCartaoCredito(value: string): CartaoCredito {\n return value as CartaoCredito;\n}\n\nexport function brandInscricaoEstadual(value: string): InscricaoEstadual {\n return value as InscricaoEstadual;\n}\n\nexport function brandInscricaoEstadualProdutorRural(value: string): InscricaoEstadualProdutorRural {\n return value as InscricaoEstadualProdutorRural;\n}\n\nexport function brandRg(value: string): Rg {\n return value as Rg;\n}\n\nexport function brandTelefone(value: string): Telefone {\n return value as Telefone;\n}\n\nexport function brandBrCodePayload(value: string): BrCodePayload {\n return value as BrCodePayload;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-4TOP3CZQ.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 { 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 { 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 | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural';\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 '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 default: {\n const _exhaustive: never = type;\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unsupported type: ${String(_exhaustive)}` };\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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,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;;;ACpBO,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-A2JXKXPS.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 '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"]}
|