🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@br-validators/core

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@br-validators/core - npm Package Compare versions

Comparing version
1.3.0
to
1.5.0
+46
dist/aeroportos.d.ts
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Aeroporto {
iata: string | null;
icao: string;
nome: string;
uf: string;
municipioIbge: number | null;
municipioNome: string | null;
}
interface AeroportosDataVersion {
id: 'aeroportos';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
aeroportos: number;
comIata: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* Brazilian airports — offline embedded data from official ANAC source.
* @see docs/OFFICIAL-SOURCES.md#aeroportos
*/
declare function getAeroportos(): readonly Aeroporto[];
declare function getAeroportoPorIata(code: string): Aeroporto | undefined;
declare function getAeroportoPorIcao(code: string): Aeroporto | undefined;
declare function getAeroportosPorMunicipio(ibgeCodigo: number): readonly Aeroporto[];
declare const ANAC_AERODROMOS_PUBLICOS_CSV_URL = "https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv";
declare const AEROPORTOS_GOLDEN_IATA_GRU = "GRU";
declare const AEROPORTOS_GOLDEN_IATA_GIG = "GIG";
declare const AEROPORTOS_GOLDEN_IATA_BSB = "BSB";
declare const AEROPORTOS_GOLDEN_IATA_SSA = "SSA";
declare const AEROPORTOS_GOLDEN_IATA_CGB = "CGB";
declare const AEROPORTOS_DATA_VERSION: AeroportosDataVersion;
export { AEROPORTOS_DATA_VERSION, AEROPORTOS_GOLDEN_IATA_BSB, AEROPORTOS_GOLDEN_IATA_CGB, AEROPORTOS_GOLDEN_IATA_GIG, AEROPORTOS_GOLDEN_IATA_GRU, AEROPORTOS_GOLDEN_IATA_SSA, ANAC_AERODROMOS_PUBLICOS_CSV_URL, type Aeroporto, type AeroportosDataVersion, getAeroportoPorIata, getAeroportoPorIcao, getAeroportos, getAeroportosPorMunicipio };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Cest {
codigo: string;
descricao: string;
ncms: readonly string[];
segmento: string;
}
interface CestDataVersion {
id: 'cest';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
cest: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* CONFAZ CEST lookup — offline embedded data from Convênio ICMS 142/2018 annex tables.
* @see https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18
*/
declare function getCests(): readonly Cest[];
declare function getCestPorCodigo(codigo: string): Cest | undefined;
declare function searchCest(query: string, options?: {
limit?: number;
}): readonly Cest[];
declare function getCestPorNcm(ncm: string): readonly Cest[];
declare const CEST_HTML_URL = "https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18";
declare const CEST_GOLDEN_CERVEJA_GARRAFA_RETORNAVEL = "0302100";
declare const CEST_GOLDEN_NCM_CERVEJA = "22030000";
declare const CEST_MIN_CODES = 950;
declare const CEST_MAX_CODES = 1050;
declare const CEST_DATA_VERSION: CestDataVersion;
export { CEST_DATA_VERSION, CEST_GOLDEN_CERVEJA_GARRAFA_RETORNAVEL, CEST_GOLDEN_NCM_CERVEJA, CEST_HTML_URL, CEST_MAX_CODES, CEST_MIN_CODES, type Cest, type CestDataVersion, getCestPorCodigo, getCestPorNcm, getCests, searchCest };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

// src/cest/data/metadata.json
var metadata_default = {
id: "cest",
nome: "CONFAZ CEST",
fonte: "CONFAZ Conv\xEAnio ICMS 142/2018 \u2014 Anexos II a XXVI",
endpoints: [
"https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:40:24.666Z",
contagens: {
cest: 1018
},
alteracoes: {
adicionados: 1018,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:40:24.666Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#cest"
};
export { metadata_default };
//# sourceMappingURL=chunk-475HS4CJ.js.map
//# sourceMappingURL=chunk-475HS4CJ.js.map
{"version":3,"sources":["../src/cest/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAS,0DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,IAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-475HS4CJ.js","sourcesContent":["{\n \"id\": \"cest\",\n \"nome\": \"CONFAZ CEST\",\n \"fonte\": \"CONFAZ Convênio ICMS 142/2018 — Anexos II a XXVI\",\n \"endpoints\": [\n \"https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:40:24.666Z\",\n \"contagens\": {\n \"cest\": 1018\n },\n \"alteracoes\": {\n \"adicionados\": 1018,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:40:24.666Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#cest\"\n}\n"]}
// src/paises-bacen/data/metadata.json
var metadata_default = {
id: "paises-bacen",
nome: "NF-e Bacen Country Codes",
fonte: "Portal Nacional NF-e \u2014 Tabela de Pa\xEDses (Bacen)",
endpoints: [
"http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50="
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:35:34.020Z",
contagens: {
paises: 252
},
alteracoes: {
adicionados: 252,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:35:34.020Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#paises-bacen"
};
export { metadata_default };
//# sourceMappingURL=chunk-6EF7GQRS.js.map
//# sourceMappingURL=chunk-6EF7GQRS.js.map
{"version":3,"sources":["../src/paises-bacen/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,cAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,yDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-6EF7GQRS.js","sourcesContent":["{\n \"id\": \"paises-bacen\",\n \"nome\": \"NF-e Bacen Country Codes\",\n \"fonte\": \"Portal Nacional NF-e — Tabela de Países (Bacen)\",\n \"endpoints\": [\n \"http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:35:34.020Z\",\n \"contagens\": {\n \"paises\": 252\n },\n \"alteracoes\": {\n \"adicionados\": 252,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:35:34.020Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#paises-bacen\"\n}\n"]}
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca, PLACA_LENGTH } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateNfeChave, NFE_CHAVE_LENGTH } from './chunk-AO6UTQ4A.js';
import { isSpRuralIeInput, validateIeProdutorRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateArrecadacao } from './chunk-N6RQICAP.js';
import { detectBoletoInputKind } from './chunk-E2EFGMWA.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj, CNPJ_LENGTH } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito, CARTAO_PAN_MIN_LENGTH, CARTAO_PAN_MAX_LENGTH } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/detect/helpers.ts
function stripDigits(input) {
return input.replace(/\D/g, "");
}
function stripAlnumUpper(input) {
return input.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
}
function hasLetters(input) {
return /[A-Za-z]/.test(input);
}
function looksLikeBrCode(input) {
const trimmed = input.trim();
return trimmed.startsWith("00020") && trimmed.length > 20;
}
function looksLikeBoleto(input) {
const kind = detectBoletoInputKind(input);
return kind === "linha-digitavel" || kind === "codigo-barras";
}
function isBoletoArrecadacao(input) {
return detectBoletoInputKind(input) === "arrecadacao";
}
function looksLikeNfeChave(input) {
const digits = stripDigits(input);
return digits.length === NFE_CHAVE_LENGTH && /^\d+$/.test(digits);
}
function looksLikeCnpjNumeric(input) {
const digits = stripDigits(input);
return digits.length === CNPJ_LENGTH && /^\d+$/.test(digits);
}
function looksLikeCnpjAlphanumeric(input) {
const stripped = stripAlnumUpper(input);
return stripped.length === CNPJ_LENGTH && hasLetters(input);
}
function looksLikeElevenDigits(input) {
const digits = stripDigits(input);
return digits.length === 11 && /^\d+$/.test(digits);
}
function looksLikeTituloEleitor(input) {
const digits = stripDigits(input);
return digits.length === 12 && /^\d+$/.test(digits);
}
function looksLikeCep(input) {
const digits = stripDigits(input);
return digits.length === 8 && /^\d+$/.test(digits);
}
function looksLikePlaca(input) {
const stripped = stripAlnumUpper(input);
return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);
}
function looksLikeCartao(input) {
const withoutMask = input.replace(/[\s-]/g, "");
if (/[^0-9]/.test(withoutMask)) {
return false;
}
const digits = stripDigits(input);
return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;
}
function looksLikeIe(input, uf) {
if (!uf) {
return false;
}
if (uf === "SP" && isSpRuralIeInput(input)) {
return true;
}
const digits = stripDigits(input);
return digits.length >= 8 && digits.length <= 14;
}
function looksLikePix(input) {
const trimmed = input.trim();
if (trimmed.includes("@")) {
return true;
}
if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {
return true;
}
if (/^\+?\d/.test(trimmed)) {
const digits = stripDigits(trimmed);
return digits.length === 11 || digits.length === 14;
}
return false;
}
function looksLikeTelefone(input) {
const digits = stripDigits(input);
return digits.length >= 10 && digits.length <= 13;
}
// src/detect/index.ts
function success(type, value, format, meta) {
return { type, ok: true, value, ...format ? { format } : {}, ...meta ? { meta } : {} };
}
function tryValidators(attempts) {
for (const attempt of attempts) {
const result = attempt();
if (result) {
return result;
}
}
return null;
}
var CANDIDATES = [
{
canTry: (raw) => isBoletoArrecadacao(raw),
detect: (raw) => {
const result = validateArrecadacao(raw);
if (!result.ok) {
return null;
}
return success("boleto", result.value, "arrecadacao", {
inputKind: result.inputKind,
segment: result.segment,
valueType: result.valueType
});
}
},
{
canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),
detect: (raw) => {
const result = validateBoleto(raw);
if (!result.ok || result.format === "arrecadacao") {
return null;
}
return success("boleto", result.value, result.format, {
inputKind: result.inputKind,
situacao: result.situacao
});
}
},
{
canTry: (raw) => looksLikeNfeChave(raw),
detect: (raw) => {
const result = validateNfeChave(raw);
if (!result.ok) {
return null;
}
return success("nfe-chave", result.value, result.format, {
parsed: result.parsed,
uf: result.uf
});
}
},
{
canTry: (raw) => looksLikeBrCode(raw),
detect: (raw) => {
const result = validateBrCode(raw);
if (!result.ok) {
return null;
}
return success("brcode", result.value, result.format, {
merchantName: result.merchantName,
merchantCity: result.merchantCity,
pixKey: result.pixKey,
pixKeyType: result.pixKeyType
});
}
},
{
canTry: (raw) => looksLikeCnpjAlphanumeric(raw),
detect: (raw) => {
const result = validateCnpj(raw);
if (!result.ok) {
return null;
}
return success("cnpj", result.value, result.format);
}
},
{
canTry: (raw) => looksLikeCnpjNumeric(raw),
detect: (raw) => {
const result = validateCnpj(raw);
if (!result.ok) {
return null;
}
return success("cnpj", result.value, result.format);
}
},
{
canTry: (raw) => looksLikeElevenDigits(raw),
detect: (raw) => tryValidators([
() => {
const result = validateCpf(raw);
return result.ok ? success("cpf", result.value, result.format) : null;
},
() => {
const result = validateCnh(raw);
return result.ok ? success("cnh", result.value, result.format) : null;
},
() => {
const result = validatePisPasep(raw);
return result.ok ? success("pis-pasep", result.value, result.format) : null;
}
])
},
{
canTry: (raw) => looksLikeTituloEleitor(raw),
detect: (raw) => {
const result = validateTituloEleitor(raw);
if (!result.ok) {
return null;
}
return success("titulo-eleitor", result.value, result.format, {
ufCode: result.ufCode,
...result.uf ? { uf: result.uf } : {},
...result.exterior ? { exterior: result.exterior } : {}
});
}
},
{
canTry: (raw) => looksLikeCep(raw),
detect: (raw) => {
const result = validateCep(raw);
if (!result.ok) {
return null;
}
return success("cep", result.value, result.format);
}
},
{
canTry: (raw) => looksLikePlaca(raw),
detect: (raw) => {
const result = validatePlaca(raw);
if (!result.ok) {
return null;
}
return success("placa", result.value, result.format);
}
},
{
canTry: (raw) => looksLikePix(raw),
detect: (raw) => {
const result = validatePixKey(raw);
if (!result.ok) {
return null;
}
return success("pix", result.value, result.format, { keyType: result.keyType });
}
},
{
canTry: (raw) => looksLikeTelefone(raw),
detect: (raw) => {
const result = validateTelefone(raw);
if (!result.ok) {
return null;
}
return success("telefone", result.value, result.format, { tipo: result.tipo });
}
},
{
canTry: (raw) => looksLikeCartao(raw),
detect: (raw) => {
const result = validateCartaoCredito(raw);
if (!result.ok) {
return null;
}
return success("cartao-credito", result.value, result.format, { brand: result.brand });
}
},
{
canTry: (raw, options) => looksLikeIe(raw, options.uf),
detect: (raw, options) => {
const uf = options.uf;
if (uf === "SP" && isSpRuralIeInput(raw)) {
const result2 = validateIeProdutorRural(uf, raw);
if (!result2.ok) {
return null;
}
return success("inscricao-estadual-produtor-rural", result2.value, result2.format, { uf: result2.uf });
}
const result = validateInscricaoEstadual(raw, { uf });
if (!result.ok) {
return null;
}
return success("inscricao-estadual", result.value, result.format, { uf: result.uf });
}
}
];
function detect(raw, options = {}) {
const trimmed = raw.trim();
if (trimmed.length === 0) {
return {
type: "unknown",
ok: false,
code: "EMPTY_INPUT",
message: "Input is empty"
};
}
for (const candidate of CANDIDATES) {
if (!candidate.canTry(trimmed, options)) {
continue;
}
const result = candidate.detect(trimmed, options);
if (result?.ok) {
return result;
}
}
return {
type: "unknown",
ok: false,
code: "UNSUPPORTED_FORMAT",
message: options.uf ? "No supported document type matched the input" : "No supported document type matched the input; provide options.uf for Inscri\xE7\xE3o Estadual detection"
};
}
export { detect };
//# sourceMappingURL=chunk-6UEXR2MQ.js.map
//# sourceMappingURL=chunk-6UEXR2MQ.js.map
{"version":3,"sources":["../src/detect/helpers.ts","../src/detect/index.ts"],"names":["result"],"mappings":";;;;;;;;;;;;;;;;;;;AAQO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAChC;AAEO,SAAS,gBAAgB,KAAA,EAAuB;AACrD,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,eAAA,EAAiB,EAAE,EAAE,WAAA,EAAY;AACxD;AAEO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,OAAO,UAAA,CAAW,KAAK,KAAK,CAAA;AAC9B;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,OAAO,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,IAAK,QAAQ,MAAA,GAAS,EAAA;AACzD;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,MAAM,IAAA,GAAO,sBAAsB,KAAK,CAAA;AACxC,EAAA,OAAO,IAAA,KAAS,qBAAqB,IAAA,KAAS,eAAA;AAChD;AAEO,SAAS,oBAAoB,KAAA,EAAwB;AAC1D,EAAA,OAAO,qBAAA,CAAsB,KAAK,CAAA,KAAM,aAAA;AAC1C;AAEO,SAAS,kBAAkB,KAAA,EAAwB;AACxD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,gBAAA,IAAoB,OAAA,CAAQ,KAAK,MAAM,CAAA;AAClE;AAEO,SAAS,qBAAqB,KAAA,EAAwB;AAC3D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,WAAA,IAAe,OAAA,CAAQ,KAAK,MAAM,CAAA;AAC7D;AAEO,SAAS,0BAA0B,KAAA,EAAwB;AAChE,EAAA,MAAM,QAAA,GAAW,gBAAgB,KAAK,CAAA;AACtC,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,WAAA,IAAe,UAAA,CAAW,KAAK,CAAA;AAC5D;AAEO,SAAS,sBAAsB,KAAA,EAAwB;AAC5D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AACpD;AAEO,SAAS,uBAAuB,KAAA,EAAwB;AAC7D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AACpD;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,CAAA,IAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AACnD;AAEO,SAAS,eAAe,KAAA,EAAwB;AACrD,EAAA,MAAM,QAAA,GAAW,gBAAgB,KAAK,CAAA;AACtC,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,YAAA,IAAgB,aAAA,CAAc,KAAK,QAAQ,CAAA;AACxE;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,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,KAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,qBAAA,IAAyB,MAAA,CAAO,MAAA,IAAU,qBAAA;AACpE;AAEO,SAAS,WAAA,CAAY,OAAe,EAAA,EAAsB;AAC/D,EAAA,IAAI,CAAC,EAAA,EAAI;AACP,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,EAAA,KAAO,IAAA,IAAQ,gBAAA,CAAiB,KAAK,CAAA,EAAG;AAC1C,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,CAAA,IAAK,MAAA,CAAO,MAAA,IAAU,EAAA;AAChD;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAA,EAAG;AACzB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,iEAAA,CAAkE,IAAA,CAAK,OAAO,CAAA,EAAG;AACnF,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,OAAO,CAAA,EAAG;AAC1B,IAAA,MAAM,MAAA,GAAS,YAAY,OAAO,CAAA;AAClC,IAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,MAAA,CAAO,MAAA,KAAW,EAAA;AAAA,EACnD;AACA,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,kBAAkB,KAAA,EAAwB;AACxD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,EAAA,IAAM,MAAA,CAAO,MAAA,IAAU,EAAA;AACjD;;;ACbA,SAAS,OAAA,CACP,IAAA,EACA,KAAA,EACA,MAAA,EACA,IAAA,EACc;AACd,EAAA,OAAO,EAAE,IAAA,EAAM,EAAA,EAAI,MAAM,KAAA,EAAO,GAAI,SAAS,EAAE,MAAA,EAAO,GAAI,IAAK,GAAI,IAAA,GAAO,EAAE,IAAA,EAAK,GAAI,EAAC,EAAG;AAC3F;AAEA,SAAS,cAAc,QAAA,EAAiE;AACtF,EAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,MAAM,SAAS,OAAA,EAAQ;AACvB,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAEA,IAAM,UAAA,GAA0B;AAAA,EAC9B;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,mBAAA,CAAoB,GAAG,CAAA;AAAA,IACxC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,oBAAoB,GAAG,CAAA;AACtC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,aAAA,EAAe;AAAA,QACpD,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,SAAS,MAAA,CAAO,OAAA;AAAA,QAChB,WAAW,MAAA,CAAO;AAAA,OACnB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA,IAAK,CAAC,oBAAoB,GAAG,CAAA;AAAA,IACjE,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,MAAA,CAAO,EAAA,IAAM,MAAA,CAAO,WAAW,aAAA,EAAe;AACjD,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACpD,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,UAAU,MAAA,CAAO;AAAA,OAClB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,iBAAA,CAAkB,GAAG,CAAA;AAAA,IACtC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,WAAA,EAAa,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACvD,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,IAAI,MAAA,CAAO;AAAA,OACZ,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACpD,cAAc,MAAA,CAAO,YAAA;AAAA,QACrB,cAAc,MAAA,CAAO,YAAA;AAAA,QACrB,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,YAAY,MAAA,CAAO;AAAA,OACpB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,yBAAA,CAA0B,GAAG,CAAA;AAAA,IAC9C,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,aAAa,GAAG,CAAA;AAC/B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACpD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,oBAAA,CAAqB,GAAG,CAAA;AAAA,IACzC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,aAAa,GAAG,CAAA;AAC/B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACpD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,qBAAA,CAAsB,GAAG,CAAA;AAAA,IAC1C,MAAA,EAAQ,CAAC,GAAA,KACP,aAAA,CAAc;AAAA,MACZ,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAA,EAAO,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACnE,CAAA;AAAA,MACA,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAA,EAAO,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACnE,CAAA;AAAA,MACA,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,WAAA,EAAa,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACzE;AAAA,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,sBAAA,CAAuB,GAAG,CAAA;AAAA,IAC3C,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,sBAAsB,GAAG,CAAA;AACxC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QAC5D,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,GAAI,OAAO,EAAA,GAAK,EAAE,IAAI,MAAA,CAAO,EAAA,KAAO,EAAC;AAAA,QACrC,GAAI,OAAO,QAAA,GAAW,EAAE,UAAU,MAAA,CAAO,QAAA,KAAa;AAAC,OACxD,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,YAAA,CAAa,GAAG,CAAA;AAAA,IACjC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACnD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,cAAA,CAAe,GAAG,CAAA;AAAA,IACnC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,cAAc,GAAG,CAAA;AAChC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,OAAA,EAAS,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACrD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,YAAA,CAAa,GAAG,CAAA;AAAA,IACjC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,OAAA,EAAS,MAAA,CAAO,OAAA,EAAS,CAAA;AAAA,IAChF;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,iBAAA,CAAkB,GAAG,CAAA;AAAA,IACtC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,UAAA,EAAY,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,IAAA,EAAM,MAAA,CAAO,IAAA,EAAM,CAAA;AAAA,IAC/E;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,sBAAsB,GAAG,CAAA;AACxC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,CAAA;AAAA,IACvF;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAQ,CAAC,GAAA,EAAK,YAAY,WAAA,CAAY,GAAA,EAAK,QAAQ,EAAE,CAAA;AAAA,IACrD,MAAA,EAAQ,CAAC,GAAA,EAAK,OAAA,KAAY;AACxB,MAAA,MAAM,KAAK,OAAA,CAAQ,EAAA;AACnB,MAAA,IAAI,EAAA,KAAO,IAAA,IAAQ,gBAAA,CAAiB,GAAG,CAAA,EAAG;AACxC,QAAA,MAAMA,OAAAA,GAAS,uBAAA,CAAwB,EAAA,EAAI,GAAG,CAAA;AAC9C,QAAA,IAAI,CAACA,QAAO,EAAA,EAAI;AACd,UAAA,OAAO,IAAA;AAAA,QACT;AACA,QAAA,OAAO,OAAA,CAAQ,mCAAA,EAAqCA,OAAAA,CAAO,KAAA,EAAOA,OAAAA,CAAO,QAAQ,EAAE,EAAA,EAAIA,OAAAA,CAAO,EAAA,EAAI,CAAA;AAAA,MACpG;AACA,MAAA,MAAM,MAAA,GAAS,yBAAA,CAA0B,GAAA,EAAK,EAAE,IAAI,CAAA;AACpD,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,oBAAA,EAAsB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,EAAA,EAAI,MAAA,CAAO,EAAA,EAAI,CAAA;AAAA,IACrF;AAAA;AAEJ,CAAA;AAEO,SAAS,MAAA,CAAO,GAAA,EAAa,OAAA,GAAyB,EAAC,EAAiB;AAC7E,EAAA,MAAM,OAAA,GAAU,IAAI,IAAA,EAAK;AACzB,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,SAAA;AAAA,MACN,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,aAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,KAAA,MAAW,aAAa,UAAA,EAAY;AAClC,IAAA,IAAI,CAAC,SAAA,CAAU,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA,EAAG;AACvC,MAAA;AAAA,IACF;AACA,IAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA;AAChD,IAAA,IAAI,QAAQ,EAAA,EAAI;AACd,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,OAAA,CAAQ,EAAA,GACb,8CAAA,GACA;AAAA,GACN;AACF","file":"chunk-6UEXR2MQ.js","sourcesContent":["import { BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_LINHA_LENGTH } from '../core/boleto/constants.js';\nimport { CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH } from '../core/cartao-credito/constants.js';\nimport { CNPJ_LENGTH } from '../core/cnpj/constants.js';\nimport { NFE_CHAVE_LENGTH } from '../core/nfe-chave/constants.js';\nimport { PLACA_LENGTH } from '../core/placa/constants.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\n\nexport function stripDigits(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function stripAlnumUpper(input: string): string {\n return input.replace(/[^A-Za-z0-9]/g, '').toUpperCase();\n}\n\nexport function hasLetters(input: string): boolean {\n return /[A-Za-z]/.test(input);\n}\n\nexport function looksLikeBrCode(input: string): boolean {\n const trimmed = input.trim();\n return trimmed.startsWith('00020') && trimmed.length > 20;\n}\n\nexport function looksLikeBoleto(input: string): boolean {\n const kind = detectBoletoInputKind(input);\n return kind === 'linha-digitavel' || kind === 'codigo-barras';\n}\n\nexport function isBoletoArrecadacao(input: string): boolean {\n return detectBoletoInputKind(input) === 'arrecadacao';\n}\n\nexport function looksLikeNfeChave(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === NFE_CHAVE_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjNumeric(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === CNPJ_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjAlphanumeric(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === CNPJ_LENGTH && hasLetters(input);\n}\n\nexport function looksLikeElevenDigits(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 11 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeTituloEleitor(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 12 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCep(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 8 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikePlaca(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);\n}\n\nexport function looksLikeCartao(input: string): boolean {\n const withoutMask = input.replace(/[\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return false;\n }\n const digits = stripDigits(input);\n return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;\n}\n\nexport function looksLikeIe(input: string, uf?: string): boolean {\n if (!uf) {\n return false;\n }\n if (uf === 'SP' && isSpRuralIeInput(input)) {\n return true;\n }\n const digits = stripDigits(input);\n return digits.length >= 8 && digits.length <= 14;\n}\n\nexport function looksLikePix(input: string): boolean {\n const trimmed = input.trim();\n if (trimmed.includes('@')) {\n return true;\n }\n if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {\n return true;\n }\n if (/^\\+?\\d/.test(trimmed)) {\n const digits = stripDigits(trimmed);\n return digits.length === 11 || digits.length === 14;\n }\n return false;\n}\n\nexport function looksLikeTelefone(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length >= 10 && digits.length <= 13;\n}\n\nexport {\n BOLETO_CODIGO_BARRAS_LENGTH,\n BOLETO_LINHA_LENGTH,\n};\n","/**\n * Unified document type detection — delegates to existing validators (BR-DETECT-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateArrecadacao } from '../core/boleto/arrecadacao.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateBrCode } from '../core/brcode/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 { validateIeProdutorRural } from '../core/inscricao-estadual/validate-produtor-rural.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport {\n isBoletoArrecadacao,\n looksLikeBoleto,\n looksLikeBrCode,\n looksLikeCartao,\n looksLikeCep,\n looksLikeCnpjAlphanumeric,\n looksLikeCnpjNumeric,\n looksLikeElevenDigits,\n looksLikeIe,\n looksLikeNfeChave,\n looksLikePix,\n looksLikePlaca,\n looksLikeTelefone,\n looksLikeTituloEleitor,\n} from './helpers.js';\nimport type { DocumentFormat, UfCode, ValidationErrorCode } from '../types/validation-result.js';\n\nexport type DetectableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'pix'\n | 'telefone'\n | 'boleto'\n | 'cartao-credito'\n | 'cnh'\n | 'renavam'\n | 'nfe-chave'\n | 'titulo-eleitor'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'brcode'\n | 'unknown';\n\nexport type DetectOptions = {\n uf?: UfCode;\n};\n\nexport type DetectSuccess = {\n type: DetectableDocumentType;\n ok: true;\n value: string;\n format?: DocumentFormat;\n meta?: Record<string, unknown>;\n};\n\nexport type DetectFailure = {\n type: DetectableDocumentType;\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type DetectResult = DetectSuccess | DetectFailure;\n\ntype Candidate = {\n canTry: (raw: string, options: DetectOptions) => boolean;\n detect: (raw: string, options: DetectOptions) => DetectResult | null;\n};\n\n/** @internal Test hook for success result branches. */\nexport function buildDetectSuccess(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return success(type, value, format, meta);\n}\n\nfunction success(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return { type, ok: true, value, ...(format ? { format } : {}), ...(meta ? { meta } : {}) };\n}\n\nfunction tryValidators(attempts: Array<() => DetectResult | null>): DetectResult | null {\n for (const attempt of attempts) {\n const result = attempt();\n if (result) {\n return result;\n }\n }\n return null;\n}\n\nconst CANDIDATES: Candidate[] = [\n {\n canTry: (raw) => isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateArrecadacao(raw);\n if (!result.ok) {\n return null;\n }\n return success('boleto', result.value, 'arrecadacao', {\n inputKind: result.inputKind,\n segment: result.segment,\n valueType: result.valueType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateBoleto(raw);\n if (!result.ok || result.format === 'arrecadacao') {\n return null;\n }\n return success('boleto', result.value, result.format, {\n inputKind: result.inputKind,\n situacao: result.situacao,\n });\n },\n },\n {\n canTry: (raw) => looksLikeNfeChave(raw),\n detect: (raw) => {\n const result = validateNfeChave(raw);\n if (!result.ok) {\n return null;\n }\n return success('nfe-chave', result.value, result.format, {\n parsed: result.parsed,\n uf: result.uf,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBrCode(raw),\n detect: (raw) => {\n const result = validateBrCode(raw);\n if (!result.ok) {\n return null;\n }\n return success('brcode', result.value, result.format, {\n merchantName: result.merchantName,\n merchantCity: result.merchantCity,\n pixKey: result.pixKey,\n pixKeyType: result.pixKeyType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeCnpjAlphanumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeCnpjNumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeElevenDigits(raw),\n detect: (raw) =>\n tryValidators([\n () => {\n const result = validateCpf(raw);\n return result.ok ? success('cpf', result.value, result.format) : null;\n },\n () => {\n const result = validateCnh(raw);\n return result.ok ? success('cnh', result.value, result.format) : null;\n },\n () => {\n const result = validatePisPasep(raw);\n return result.ok ? success('pis-pasep', result.value, result.format) : null;\n },\n ]),\n },\n {\n canTry: (raw) => looksLikeTituloEleitor(raw),\n detect: (raw) => {\n const result = validateTituloEleitor(raw);\n if (!result.ok) {\n return null;\n }\n return success('titulo-eleitor', result.value, result.format, {\n ufCode: result.ufCode,\n ...(result.uf ? { uf: result.uf } : {}),\n ...(result.exterior ? { exterior: result.exterior } : {}),\n });\n },\n },\n {\n canTry: (raw) => looksLikeCep(raw),\n detect: (raw) => {\n const result = validateCep(raw);\n if (!result.ok) {\n return null;\n }\n return success('cep', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePlaca(raw),\n detect: (raw) => {\n const result = validatePlaca(raw);\n if (!result.ok) {\n return null;\n }\n return success('placa', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePix(raw),\n detect: (raw) => {\n const result = validatePixKey(raw);\n if (!result.ok) {\n return null;\n }\n return success('pix', result.value, result.format, { keyType: result.keyType });\n },\n },\n {\n canTry: (raw) => looksLikeTelefone(raw),\n detect: (raw) => {\n const result = validateTelefone(raw);\n if (!result.ok) {\n return null;\n }\n return success('telefone', result.value, result.format, { tipo: result.tipo });\n },\n },\n {\n canTry: (raw) => looksLikeCartao(raw),\n detect: (raw) => {\n const result = validateCartaoCredito(raw);\n if (!result.ok) {\n return null;\n }\n return success('cartao-credito', result.value, result.format, { brand: result.brand });\n },\n },\n {\n canTry: (raw, options) => looksLikeIe(raw, options.uf),\n detect: (raw, options) => {\n const uf = options.uf as UfCode;\n if (uf === 'SP' && isSpRuralIeInput(raw)) {\n const result = validateIeProdutorRural(uf, raw);\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual-produtor-rural', result.value, result.format, { uf: result.uf });\n }\n const result = validateInscricaoEstadual(raw, { uf });\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual', result.value, result.format, { uf: result.uf });\n },\n },\n];\n\nexport function detect(raw: string, options: DetectOptions = {}): DetectResult {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return {\n type: 'unknown',\n ok: false,\n code: 'EMPTY_INPUT',\n message: 'Input is empty',\n };\n }\n\n for (const candidate of CANDIDATES) {\n if (!candidate.canTry(trimmed, options)) {\n continue;\n }\n const result = candidate.detect(trimmed, options);\n if (result?.ok) {\n return result;\n }\n }\n\n return {\n type: 'unknown',\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: options.uf\n ? 'No supported document type matched the input'\n : 'No supported document type matched the input; provide options.uf for Inscrição Estadual detection',\n };\n}\n"]}
// src/tse-municipios/data/metadata.json
var metadata_default = {
id: "tse-municipios",
nome: "TSE \u2194 IBGE Municipality Codes",
fonte: "TSE \u2014 C\xF3digos oficiais de UF e munic\xEDpios segundo o TSE e o IBGE",
endpoints: [
"https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:20:02.432Z",
contagens: {
municipios: 5571
},
alteracoes: {
adicionados: 0,
removidos: 0,
alterados: 0,
comparadoCom: "2026-06-23"
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:20:02.432Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#tse-municipios"
};
export { metadata_default };
//# sourceMappingURL=chunk-7JCJGLA3.js.map
//# sourceMappingURL=chunk-7JCJGLA3.js.map
{"version":3,"sources":["../src/tse-municipios/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,oCAAA;AAAA,EACR,KAAA,EAAS,6EAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,UAAA,EAAc;AAAA,GAChB;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-7JCJGLA3.js","sourcesContent":["{\n \"id\": \"tse-municipios\",\n \"nome\": \"TSE ↔ IBGE Municipality Codes\",\n \"fonte\": \"TSE — Códigos oficiais de UF e municípios segundo o TSE e o IBGE\",\n \"endpoints\": [\n \"https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:20:02.432Z\",\n \"contagens\": {\n \"municipios\": 5571\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:20:02.432Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#tse-municipios\"\n}\n"]}
// src/incoterms/data/metadata.json
var metadata_default = {
id: "incoterms",
nome: "ICC Incoterms 2020",
fonte: "International Chamber of Commerce \u2014 Incoterms 2020 (static reference)",
endpoints: [
"https://iccwbo.org/resources-for-business/incoterms-rules/"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:35:34.344Z",
contagens: {
incoterms: 11
},
alteracoes: {
adicionados: 11,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:35:34.344Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#incoterms"
};
export { metadata_default };
//# sourceMappingURL=chunk-EKOSTVIA.js.map
//# sourceMappingURL=chunk-EKOSTVIA.js.map
{"version":3,"sources":["../src/incoterms/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAQ,oBAAA;AAAA,EACR,KAAA,EAAS,4EAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,EAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-EKOSTVIA.js","sourcesContent":["{\n \"id\": \"incoterms\",\n \"nome\": \"ICC Incoterms 2020\",\n \"fonte\": \"International Chamber of Commerce — Incoterms 2020 (static reference)\",\n \"endpoints\": [\n \"https://iccwbo.org/resources-for-business/incoterms-rules/\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:35:34.344Z\",\n \"contagens\": {\n \"incoterms\": 11\n },\n \"alteracoes\": {\n \"adicionados\": 11,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:35:34.344Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#incoterms\"\n}\n"]}
// src/natureza-juridica/data/metadata.json
var metadata_default = {
id: "natureza-juridica",
nome: "RFB CNPJ Naturezas Jur\xEDdicas",
fonte: "Receita Federal \u2014 Dados Abertos CNPJ (Naturezas.zip)",
endpoints: [
"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:39:09.224Z",
contagens: {
naturezas: 90
},
alteracoes: {
adicionados: 90,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:39:09.224Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#natureza-juridica"
};
export { metadata_default };
//# sourceMappingURL=chunk-F7IEPT22.js.map
//# sourceMappingURL=chunk-F7IEPT22.js.map
{"version":3,"sources":["../src/natureza-juridica/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,mBAAA;AAAA,EACN,IAAA,EAAQ,iCAAA;AAAA,EACR,KAAA,EAAS,2DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa;AAAA,GACf;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,EAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-F7IEPT22.js","sourcesContent":["{\n \"id\": \"natureza-juridica\",\n \"nome\": \"RFB CNPJ Naturezas Jurídicas\",\n \"fonte\": \"Receita Federal — Dados Abertos CNPJ (Naturezas.zip)\",\n \"endpoints\": [\n \"https://github.com/jonathands/dados-abertos-receita-cnpj/releases/download/2024.09/Naturezas.zip\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:39:09.224Z\",\n \"contagens\": {\n \"naturezas\": 90\n },\n \"alteracoes\": {\n \"adicionados\": 90,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:39:09.224Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#natureza-juridica\"\n}\n"]}
// src/pncp-reference/data/metadata.json
var metadata_default = {
id: "pncp-reference",
nome: "PNCP domain reference tables",
fonte: "PNCP Cadastro API \u2014 static domain tables (Lei 14.133 ecosystem)",
endpoints: [
"https://pncp.gov.br/api/pncp/v1/modalidades",
"https://pncp.gov.br/api/pncp/v1/amparos-legais",
"https://pncp.gov.br/api/pncp/v1/modos-disputas",
"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-convocatorios",
"https://pncp.gov.br/api/pncp/v1/tipos-contratos",
"https://pncp.gov.br/api/pncp/v1/criterios-julgamentos",
"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca",
"https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T19:08:24.455Z",
contagens: {
modalidades: 19,
"amparos-legais": 183,
"modos-disputa": 6,
"tipos-instrumentos-convocatorios": 5,
"tipos-contrato": 12,
"criterios-julgamento": 9,
"tipos-instrumentos-cobranca": 1,
"fontes-orcamentarias": 6
},
alteracoes: {
adicionados: 0,
removidos: 0,
alterados: 0,
comparadoCom: "2026-06-23"
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T19:08:24.455Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#pncp-reference"
};
export { metadata_default };
//# sourceMappingURL=chunk-FUYDR7JI.js.map
//# sourceMappingURL=chunk-FUYDR7JI.js.map
{"version":3,"sources":["../src/pncp-reference/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,gBAAA;AAAA,EACN,IAAA,EAAQ,8BAAA;AAAA,EACR,KAAA,EAAS,sEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,6CAAA;AAAA,IACA,gDAAA;AAAA,IACA,gDAAA;AAAA,IACA,kEAAA;AAAA,IACA,iDAAA;AAAA,IACA,uDAAA;AAAA,IACA,6DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,WAAA,EAAe,EAAA;AAAA,IACf,gBAAA,EAAkB,GAAA;AAAA,IAClB,eAAA,EAAiB,CAAA;AAAA,IACjB,kCAAA,EAAoC,CAAA;AAAA,IACpC,gBAAA,EAAkB,EAAA;AAAA,IAClB,sBAAA,EAAwB,CAAA;AAAA,IACxB,6BAAA,EAA+B,CAAA;AAAA,IAC/B,sBAAA,EAAwB;AAAA,GAC1B;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-FUYDR7JI.js","sourcesContent":["{\n \"id\": \"pncp-reference\",\n \"nome\": \"PNCP domain reference tables\",\n \"fonte\": \"PNCP Cadastro API — static domain tables (Lei 14.133 ecosystem)\",\n \"endpoints\": [\n \"https://pncp.gov.br/api/pncp/v1/modalidades\",\n \"https://pncp.gov.br/api/pncp/v1/amparos-legais\",\n \"https://pncp.gov.br/api/pncp/v1/modos-disputas\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-convocatorios\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-contratos\",\n \"https://pncp.gov.br/api/pncp/v1/criterios-julgamentos\",\n \"https://pncp.gov.br/api/pncp/v1/tipos-instrumentos-cobranca\",\n \"https://pncp.gov.br/api/pncp/v1/fontes-orcamentarias\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T19:08:24.455Z\",\n \"contagens\": {\n \"modalidades\": 19,\n \"amparos-legais\": 183,\n \"modos-disputa\": 6,\n \"tipos-instrumentos-convocatorios\": 5,\n \"tipos-contrato\": 12,\n \"criterios-julgamento\": 9,\n \"tipos-instrumentos-cobranca\": 1,\n \"fontes-orcamentarias\": 6\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T19:08:24.455Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#pncp-reference\"\n}\n"]}
// src/aeroportos/data/metadata.json
var metadata_default = {
id: "aeroportos",
nome: "ANAC Public Aerodromos",
fonte: "ANAC \u2014 Lista de aer\xF3dromos de uso p\xFAblico",
endpoints: [
"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:20:01.661Z",
contagens: {
aeroportos: 533,
comIata: 87
},
alteracoes: {
adicionados: 0,
removidos: 0,
alterados: 0,
comparadoCom: "2026-06-23"
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:20:01.661Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#aeroportos"
};
export { metadata_default };
//# sourceMappingURL=chunk-ILKF7HP7.js.map
//# sourceMappingURL=chunk-ILKF7HP7.js.map
{"version":3,"sources":["../src/aeroportos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,YAAA;AAAA,EACN,IAAA,EAAQ,wBAAA;AAAA,EACR,KAAA,EAAS,sDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,UAAA,EAAc,GAAA;AAAA,IACd,OAAA,EAAW;AAAA,GACb;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-ILKF7HP7.js","sourcesContent":["{\n \"id\": \"aeroportos\",\n \"nome\": \"ANAC Public Aerodromos\",\n \"fonte\": \"ANAC — Lista de aeródromos de uso público\",\n \"endpoints\": [\n \"https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:20:01.661Z\",\n \"contagens\": {\n \"aeroportos\": 533,\n \"comIata\": 87\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:20:01.661Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#aeroportos\"\n}\n"]}
// src/nbs/data/metadata.json
var metadata_default = {
id: "nbs",
nome: "NFSe NBS",
fonte: "NFSe Nacional \u2014 Anexo B NBS2 Lista Servi\xE7o Nacional",
endpoints: [
"https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx/@@download/file/ANEXO_B-NBS2-LISTA_SERVICO_NACIONAL-SNNFSe.xlsx"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:40:25.263Z",
contagens: {
nbs: 917
},
alteracoes: {
adicionados: 917,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:40:25.263Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#nbs"
};
export { metadata_default };
//# sourceMappingURL=chunk-NTVB7R3A.js.map
//# sourceMappingURL=chunk-NTVB7R3A.js.map
{"version":3,"sources":["../src/nbs/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,KAAA;AAAA,EACN,IAAA,EAAQ,UAAA;AAAA,EACR,KAAA,EAAS,6DAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,GAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-NTVB7R3A.js","sourcesContent":["{\n \"id\": \"nbs\",\n \"nome\": \"NFSe NBS\",\n \"fonte\": \"NFSe Nacional — Anexo B NBS2 Lista Serviço Nacional\",\n \"endpoints\": [\n \"https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx/@@download/file/ANEXO_B-NBS2-LISTA_SERVICO_NACIONAL-SNNFSe.xlsx\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:40:25.263Z\",\n \"contagens\": {\n \"nbs\": 917\n },\n \"alteracoes\": {\n \"adicionados\": 917,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:40:25.263Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#nbs\"\n}\n"]}
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/platform/validate-dispatch.ts
function validateForPlatform(input, type, options = {}) {
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual validation"
};
}
switch (type) {
case "cpf": {
const result = validateCpf(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnpj": {
const result = validateCnpj(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cep": {
const result = validateCep(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "placa": {
const result = validatePlaca(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pis-pasep": {
const result = validatePisPasep(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "telefone": {
const result = validateTelefone(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnh": {
const result = validateCnh(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "renavam": {
const result = validateRenavam(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "nfe-chave": {
const result = validateNfeChave(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "boleto": {
const result = validateBoleto(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cartao-credito": {
const result = validateCartaoCredito(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual": {
const result = validateInscricaoEstadual(input, { uf: options.uf });
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pix": {
const result = validatePixKey(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "brcode": {
const result = validateBrCode(input);
return result.ok ? { ok: true, value: result.value } : result;
}
default: {
const _exhaustive = type;
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: `Unsupported type: ${String(_exhaustive)}`
};
}
}
}
// src/batch/index.ts
function batch(inputs, type, options = {}) {
const valid = [];
const invalid = [];
inputs.forEach((input, index) => {
const result = validateForPlatform(input, type, options);
if (result.ok) {
valid.push({ index, input, value: result.value });
} else {
invalid.push({ index, input, code: result.code, message: result.message });
}
});
return {
valid,
invalid,
summary: {
total: inputs.length,
valid: valid.length,
invalid: invalid.length
}
};
}
export { batch };
//# sourceMappingURL=chunk-NXS343IJ.js.map
//# sourceMappingURL=chunk-NXS343IJ.js.map
{"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/index.ts"],"names":[],"mappings":"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","file":"chunk-NXS343IJ.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
// src/moedas/data/metadata.json
var metadata_default = {
id: "moedas",
nome: "ISO 4217 Currencies + Bacen PTAX",
fonte: "ISO 4217 (embedded) + Banco Central PTAX Moedas",
endpoints: [
"https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T18:35:27.792Z",
contagens: {
moedas: 154
},
alteracoes: {
adicionados: 154,
removidos: 0,
alterados: 0,
comparadoCom: null
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T18:35:27.792Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#moedas"
};
export { metadata_default };
//# sourceMappingURL=chunk-O4AO4YWC.js.map
//# sourceMappingURL=chunk-O4AO4YWC.js.map
{"version":3,"sources":["../src/moedas/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,kCAAA;AAAA,EACR,KAAA,EAAS,iDAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,GAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-O4AO4YWC.js","sourcesContent":["{\n \"id\": \"moedas\",\n \"nome\": \"ISO 4217 Currencies + Bacen PTAX\",\n \"fonte\": \"ISO 4217 (embedded) + Banco Central PTAX Moedas\",\n \"endpoints\": [\n \"https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T18:35:27.792Z\",\n \"contagens\": {\n \"moedas\": 154\n },\n \"alteracoes\": {\n \"adicionados\": 154,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": null\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T18:35:27.792Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#moedas\"\n}\n"]}
import { formatTituloEleitor } from './chunk-O3T7PUBI.js';
import { formatPisPasep } from './chunk-VSW3NBJQ.js';
import { formatPixKey } from './chunk-JSNXKBZA.js';
import { formatPlaca } from './chunk-YD5MPZWY.js';
import { formatRenavam } from './chunk-5EJAENH5.js';
import { formatTelefone } from './chunk-MAM4U3UR.js';
import { formatNfeChave } from './chunk-JKDU7QYP.js';
import { formatIeProdutorRural } from './chunk-54UWHK5L.js';
import { formatCnh } from './chunk-EQV33L7H.js';
import { formatCnpj } from './chunk-RMTHCPIV.js';
import { formatCpf } from './chunk-EN7PVDYB.js';
import { computeRenavamCheckDigit, RENAVAM_BASE_LENGTH } from './chunk-NT3TNF3R.js';
import { TITULO_ELEITOR_UF_BY_CODE, validateTituloEleitor, TITULO_ELEITOR_SEQUENTIAL_LENGTH, computeTituloEleitorCheckDigits, TITULO_ELEITOR_GOLDEN_PRIMARY, TITULO_ELEITOR_GOLDEN_SP_SPECIAL } from './chunk-XHDRWM46.js';
import { PIS_PASEP_DV_WEIGHTS, PIS_PASEP_BASE_LENGTH } from './chunk-JLCQ7MGC.js';
import { PLACA_LEGACY_PATTERN, PLACA_MERCOSUL_PATTERN, validatePlaca } from './chunk-3LMDBXU6.js';
import { ANATEL_DDDS, validateTelefone } from './chunk-OOUEURR7.js';
import { validateInscricaoEstadual, formatInscricaoEstadual } from './chunk-665E36SC.js';
import { NFE_IBGE_UF_CODES, validateNfeChave, NFE_MODELO_NFE, computeNfeChaveCheckDigit, NFE_CHAVE_GOLDEN_PRIMARY } from './chunk-AO6UTQ4A.js';
import { validateIeSpRural, computeIeSpCheckDigit, IE_SP_DV1_WEIGHTS, IE_SP_RURAL_GOLDEN, IE_SP_GOLDEN, IE_MT_GOLDEN_LEGACY, IE_DF_GOLDEN, computeIeToCheckDigit, computeIeRoCheckDigit, computeIeCyclicMod11CheckDigit, computeIeRrCheckDigit, computeIeAmCheckDigit, computeIeAlCheckDigit, IE_AP_PREFIX, computeIeApCheckDigit, IE_GO_PREFIXES, computeIeGoCheckDigit, computeIePeCheckDigit, computeIeBaModule, computeIeBaCheckDigit, computeIeMgFirstCheckDigit, computeIeMgSecondCheckDigit, IE_MT_PREFIX, computeIeMtCheckDigit, IE_DF_PREFIX, computeIeDfCheckDigit, IE_DF_DV1_WEIGHTS, IE_DF_DV2_WEIGHTS, IE_SP_DV2_WEIGHTS, IE_RR_PREFIX, computeIeCeCheckDigit, IE_AL_PREFIX, computeIePrStyleCheckDigit, IE_RN_PREFIX, IE_MA_PREFIX, IE_PA_PREFIX, IE_MS_PREFIX, computeIeAcCheckDigit, IE_AC_PREFIX } from './chunk-CDNOUZEI.js';
import { computeCnhCheckDigits, CNH_BASE_LENGTH } from './chunk-VKG7UEN5.js';
import { formatBoleto } from './chunk-XWHGXSQV.js';
import { buildArrecadacaoGoldenPair, validateArrecadacao, validateCodigoBarras } from './chunk-N6RQICAP.js';
import { convertCodigoBarrasToLinhaDigits, BOLETO_GOLDEN_LINHA_STRIPPED, computeModulo11BarcodeDv, BOLETO_CURRENCY_REAL } from './chunk-E2EFGMWA.js';
import { validateBrCode, buildStaticPixBrCode, BRCODE_GOLDEN_STATIC_EVP } from './chunk-MZDCVTN6.js';
import { validatePixEvpKey, PIX_GOLDEN_EVP } from './chunk-KLONQL76.js';
import { CNPJ_DV1_WEIGHTS, cnpjCharValue, CNPJ_DV2_WEIGHTS, CNPJ_BASE_LENGTH } from './chunk-FBARVLLP.js';
import { CPF_DV1_WEIGHTS, CPF_DV2_WEIGHTS, CPF_BASE_LENGTH } from './chunk-L7PF4KD6.js';
import { computeCheckDigit } from './chunk-OTZHMJYE.js';
import { formatCartaoCredito } from './chunk-B6A7VF4R.js';
import { detectCardBrand, validateCartaoCredito, CARTAO_GOLDEN_AMEX, CARTAO_GOLDEN_MASTERCARD, CARTAO_GOLDEN_VISA, HIPERCARD_IIN_PREFIXES, ELO_IIN_PREFIXES } from './chunk-ANWQBKGN.js';
import { formatCep } from './chunk-SDEJD2J7.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/generate/apply-mask.ts
function applyMask(type, value) {
switch (type) {
case "cpf": {
const result = formatCpf(value);
return result.ok ? result.formatted : value;
}
case "cnpj": {
const result = formatCnpj(value);
return result.ok ? result.formatted : value;
}
case "cep": {
const result = formatCep(value);
return result.ok ? result.formatted : value;
}
case "placa": {
const result = formatPlaca(value);
return result.ok ? result.formatted : value;
}
case "pis-pasep": {
const result = formatPisPasep(value);
return result.ok ? result.formatted : value;
}
case "renavam": {
const result = formatRenavam(value);
return result.ok ? result.formatted : value;
}
case "cnh": {
const result = formatCnh(value);
return result.ok ? result.formatted : value;
}
case "telefone": {
const result = formatTelefone(value);
return result.ok ? result.formatted : value;
}
case "cartao-credito": {
const result = formatCartaoCredito(value);
return result.ok ? result.formatted : value;
}
case "inscricao-estadual":
return value;
case "titulo-eleitor": {
const result = formatTituloEleitor(value);
return result.ok ? result.formatted : value;
}
case "pix": {
const result = formatPixKey(value);
return result.ok ? result.formatted : value;
}
case "nfe-chave": {
const result = formatNfeChave(value);
return result.ok ? result.formatted : value;
}
case "boleto": {
const result = formatBoleto(value);
return result.ok ? result.formatted : value;
}
case "boleto-arrecadacao":
return value;
case "brcode":
return value;
case "inscricao-estadual-produtor-rural": {
const result = formatIeProdutorRural(value);
return result.ok ? result.formatted : value;
}
default: {
const _exhaustive = type;
return _exhaustive;
}
}
}
// src/generate/boleto.ts
var MAX_ATTEMPTS = 80;
var BANK_CODES = ["001", "033", "104", "237", "341", "756"];
function buildBarcode(rng, validateBarcode) {
const bank = rng.pick(BANK_CODES);
const fator = rng.digits(4);
const valor = rng.digits(10);
const freeField = rng.digits(25);
const withoutDv = bank + BOLETO_CURRENCY_REAL + fator + valor + freeField;
const dv = computeModulo11BarcodeDv(withoutDv);
const barcode = `${bank}${BOLETO_CURRENCY_REAL}${String(dv)}${fator}${valor}${freeField}`;
if (!validateBarcode(barcode).ok) {
return null;
}
return barcode;
}
function generateBoletoValue(rng, validateBarcode = validateCodigoBarras) {
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
const barcode = buildBarcode(rng, validateBarcode);
if (barcode) {
return convertCodigoBarrasToLinhaDigits(barcode);
}
}
return BOLETO_GOLDEN_LINHA_STRIPPED;
}
// src/generate/boleto-arrecadacao.ts
var ARRECADACAO_GOLDEN_LINHA = buildArrecadacaoGoldenPair({
segment: "4",
valueType: "6",
value: "00000008123",
company: "4567",
free: "89012345678901234567890123"
}).linha;
var MAX_ATTEMPTS2 = 80;
var VALUE_TYPES = ["6", "7", "8", "9"];
var SEGMENTS = ["1", "2", "3", "4", "5", "6", "7", "9"];
function applyArrecadacaoLinhaMask(linha) {
return `${linha.slice(0, 11)} ${linha.slice(11, 23)} ${linha.slice(23, 35)} ${linha.slice(35, 47)} ${linha.charAt(47)}`;
}
function generateBoletoArrecadacaoValue(rng, validate = validateArrecadacao) {
for (let attempt = 0; attempt < MAX_ATTEMPTS2; attempt++) {
const pair = buildArrecadacaoGoldenPair({
segment: rng.pick(SEGMENTS),
valueType: rng.pick(VALUE_TYPES),
value: rng.digits(11),
company: rng.digits(4),
free: rng.digits(25)
});
if (validate(pair.linha).ok) {
return pair.linha;
}
}
return ARRECADACAO_GOLDEN_LINHA;
}
// src/generate/pix.ts
var MAX_ATTEMPTS3 = 80;
function seededUuidV4(rng) {
const bytes = Array.from({ length: 16 }, () => rng.int(0, 255));
bytes[6] = bytes[6] & 15 | 64;
bytes[8] = bytes[8] & 63 | 128;
const hex = bytes.map((byte) => byte.toString(16).padStart(2, "0")).join("");
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
}
function generatePixEvpValue(rng, validate = validatePixEvpKey) {
for (let attempt = 0; attempt < MAX_ATTEMPTS3; attempt++) {
const candidate = seededUuidV4(rng);
if (validate(candidate).ok) {
return candidate;
}
}
return PIX_GOLDEN_EVP;
}
// src/generate/brcode.ts
var MAX_ATTEMPTS4 = 50;
var DEFAULT_MERCHANT_NAME = "Merchant Test";
var DEFAULT_MERCHANT_CITY = "BRASILIA";
function generateBrcodeValue(rng, input = {}, validate = validateBrCode) {
const pixKey = input.pixKey ?? generatePixEvpValue(rng);
const merchantName = input.merchantName ?? DEFAULT_MERCHANT_NAME;
const merchantCity = input.merchantCity ?? DEFAULT_MERCHANT_CITY;
for (let attempt = 0; attempt < MAX_ATTEMPTS4; attempt++) {
const payload = buildStaticPixBrCode({
pixKey,
merchantName,
merchantCity,
...input.amount ? { amount: input.amount } : {},
...input.txid ? { txid: input.txid } : {}
});
if (validate(payload).ok) {
return payload;
}
}
return BRCODE_GOLDEN_STATIC_EVP;
}
// src/generate/random.ts
function mulberry32(seed) {
let state = seed >>> 0;
return () => {
state = state + 1831565813 >>> 0;
let t = state;
t = Math.imul(t ^ t >>> 15, t | 1);
t ^= t + Math.imul(t ^ t >>> 7, t | 61);
return ((t ^ t >>> 14) >>> 0) / 4294967296;
};
}
function createRandomSource(seed) {
const nextFn = seed === void 0 ? () => Math.random() : mulberry32(seed);
return {
next: nextFn,
int(min, max) {
return Math.floor(nextFn() * (max - min + 1)) + min;
},
digit() {
return String(Math.floor(nextFn() * 10));
},
digits(count) {
let out = "";
for (let i = 0; i < count; i++) {
out += this.digit();
}
return out;
},
letter() {
const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return letters.charAt(this.int(0, letters.length - 1));
},
pick(items) {
return items[this.int(0, items.length - 1)];
}
};
}
function hasRepeatedChars(value) {
const first = value[0];
for (let i = 1; i < value.length; i++) {
if (value[i] !== first) {
return false;
}
}
return true;
}
function computeLuhnCheckDigit(partial) {
let sum = 0;
let double = true;
for (let i = partial.length - 1; i >= 0; i--) {
let digit = Number(partial.charAt(i));
if (double) {
digit *= 2;
if (digit > 9) {
digit -= 9;
}
}
sum += digit;
double = !double;
}
return String((10 - sum % 10) % 10);
}
// src/generate/cartao-credito.ts
var MAX_ATTEMPTS5 = 50;
var GENERATABLE_CARD_BRANDS = [
"visa",
"mastercard",
"amex",
"elo",
"hipercard"
];
var BRAND_FALLBACKS = {
visa: CARTAO_GOLDEN_VISA,
mastercard: CARTAO_GOLDEN_MASTERCARD,
amex: CARTAO_GOLDEN_AMEX,
elo: "401178000000006",
hipercard: "606282000000003"
};
function buildBrandPartial(rng, brand) {
switch (brand) {
case "visa":
return `411111${rng.digits(9)}`;
case "mastercard":
return `${rng.pick(["51", "52", "53", "54", "55"])}${rng.digits(13)}`;
case "amex":
return `${rng.pick(["34", "37"])}${rng.digits(12)}`;
case "elo": {
const prefix = rng.pick(ELO_IIN_PREFIXES);
return `${prefix}${rng.digits(16 - prefix.length - 1)}`;
}
case "hipercard": {
const prefix = rng.pick(HIPERCARD_IIN_PREFIXES);
return `${prefix}${rng.digits(16 - prefix.length - 1)}`;
}
default: {
const _exhaustive = brand;
return _exhaustive;
}
}
}
function buildRandomPartial(rng) {
const length = rng.int(13, 16);
return rng.digits(length - 1);
}
function generateCartaoCreditoValue(rng, brand, detectBrand = detectCardBrand, validate = validateCartaoCredito) {
for (let attempt = 0; attempt < MAX_ATTEMPTS5; attempt++) {
const partial = brand ? buildBrandPartial(rng, brand) : buildRandomPartial(rng);
if (hasRepeatedChars(partial)) {
continue;
}
const candidate = partial + computeLuhnCheckDigit(partial);
if (!validate(candidate).ok) {
continue;
}
if (brand && detectBrand(candidate) !== brand) {
continue;
}
return candidate;
}
if (brand) {
return BRAND_FALLBACKS[brand];
}
return CARTAO_GOLDEN_VISA;
}
function isGeneratableCardBrand(brand) {
return GENERATABLE_CARD_BRANDS.includes(brand);
}
// src/generate/cpf-alpha.ts
var CPF_ALPHA_GENERATE_STUB = {
ok: false,
code: "CPF_ALPHA_SPEC_PENDING",
message: "Alphanumeric CPF generation is pending official RFB specification \u2014 numeric CPF only until published"
};
function rejectCpfAlphanumericGenerate() {
return CPF_ALPHA_GENERATE_STUB;
}
function assertCpfAlphanumericGenerateAllowed() {
throw new Error(`${CPF_ALPHA_GENERATE_STUB.code}: ${CPF_ALPHA_GENERATE_STUB.message}`);
}
// src/generate/inscricao-estadual-produtor-rural.ts
var MAX_ATTEMPTS6 = 50;
function generateIeProdutorRuralValue(rng, validate = validateIeSpRural) {
for (let attempt = 0; attempt < MAX_ATTEMPTS6; attempt++) {
const dvInput = rng.digits(8);
const dv = String(computeIeSpCheckDigit(dvInput, IE_SP_DV1_WEIGHTS));
const suffix = rng.digits(3);
const candidate = `P${dvInput}${dv}${suffix}`;
if (validate(candidate).ok) {
return candidate;
}
}
return IE_SP_RURAL_GOLDEN;
}
// src/generate/inscricao-estadual.ts
var MAX_ATTEMPTS7 = 50;
var IE_GENERATE_FALLBACKS = {
AC: "0113253877910",
AL: "248682954",
AM: "917050150",
AP: "039045820",
BA: "63984300",
CE: "836182316",
DF: IE_DF_GOLDEN,
ES: "463921810",
GO: "112237118",
MA: "123517680",
MG: "2490944173923",
MS: "282570926",
MT: IE_MT_GOLDEN_LEGACY,
PA: "153662476",
PB: "312029063",
PE: "064970639",
PI: "465180426",
PR: "0031595584",
RJ: "06540481",
RN: "204502292",
RO: "39206839474860",
RR: "247681047",
RS: "3288345503",
SC: "632480718",
SE: "826594042",
SP: IE_SP_GOLDEN,
TO: "27035910938"
};
function prefixBody8(rng, prefix) {
return prefix + rng.digits(8 - prefix.length);
}
function buildCeStyle(rng, prefix) {
const body = prefix ? prefixBody8(rng, prefix) : rng.digits(8);
return body + String(computeIeCeCheckDigit(body));
}
function buildDualTrailing(rng, prefix, bodyLength, computeFirst, computeSecond) {
const body = prefix + rng.digits(bodyLength - prefix.length);
const first = computeFirst(body);
const second = computeSecond(body + String(first));
return body + String(first) + String(second);
}
function generateSpValue(rng) {
const head = rng.digits(8);
const middle = rng.digits(2);
let partial = `${head}0${middle}0`;
const dv1 = computeIeSpCheckDigit(partial, IE_SP_DV1_WEIGHTS);
partial = `${head}${String(dv1)}${middle}0`;
const dv2 = computeIeSpCheckDigit(partial, IE_SP_DV2_WEIGHTS);
return `${head}${String(dv1)}${middle}${String(dv2)}`;
}
function generateDfValue(rng) {
const core11 = IE_DF_PREFIX + rng.digits(9);
const dv1 = computeIeDfCheckDigit(core11, IE_DF_DV1_WEIGHTS);
const dv2 = computeIeDfCheckDigit(core11, IE_DF_DV2_WEIGHTS, true, dv1);
return `${core11}${String(dv1)}${String(dv2)}`;
}
function generateMtValue(rng) {
const padded = `${IE_MT_PREFIX.padStart(4, "0")}${rng.digits(6)}`;
const dv = computeIeMtCheckDigit(padded.slice(0, 10));
return `${padded.slice(0, 10)}${String(dv)}`;
}
function generateMgValue(rng) {
const body = rng.digits(11);
const first = computeIeMgFirstCheckDigit(body);
const second = computeIeMgSecondCheckDigit(body + String(first));
return body + String(first) + String(second);
}
function generateBaValue(rng) {
const body = rng.digits(6);
const mod = computeIeBaModule(`${body}00`);
const second = computeIeBaCheckDigit(body, mod);
const first = computeIeBaCheckDigit(body + String(second), mod);
return body + String(first) + String(second);
}
function generatePeValue(rng) {
const body = rng.digits(7);
const first = computeIePeCheckDigit(body);
const second = computeIePeCheckDigit(body + String(first));
return body + String(first) + String(second);
}
function generateGoValue(rng) {
const prefix = rng.pick([...IE_GO_PREFIXES]);
const body = prefix + rng.digits(6);
return body + String(computeIeGoCheckDigit(body));
}
function generateApValue(rng) {
const body = IE_AP_PREFIX + rng.digits(6);
const dv = computeIeApCheckDigit(body);
return body + String(dv);
}
var GENERATORS = {
SP: generateSpValue,
DF: generateDfValue,
MT: generateMtValue,
MG: generateMgValue,
BA: generateBaValue,
PE: generatePeValue,
GO: generateGoValue,
AP: generateApValue,
AC: (rng) => buildDualTrailing(rng, IE_AC_PREFIX, 11, computeIeAcCheckDigit, computeIeAcCheckDigit),
AL: (rng) => {
const body = prefixBody8(rng, IE_AL_PREFIX);
return body + String(computeIeAlCheckDigit(body));
},
AM: (rng) => {
const body = rng.digits(8);
return body + String(computeIeAmCheckDigit(body));
},
CE: (rng) => buildCeStyle(rng),
ES: (rng) => buildCeStyle(rng),
SC: (rng) => buildCeStyle(rng),
SE: (rng) => buildCeStyle(rng),
PB: (rng) => buildCeStyle(rng),
PI: (rng) => buildCeStyle(rng),
MS: (rng) => buildCeStyle(rng, IE_MS_PREFIX),
PA: (rng) => buildCeStyle(rng, IE_PA_PREFIX),
MA: (rng) => buildCeStyle(rng, IE_MA_PREFIX),
RN: (rng) => buildCeStyle(rng, IE_RN_PREFIX),
RR: (rng) => {
const body = prefixBody8(rng, IE_RR_PREFIX);
return body + String(computeIeRrCheckDigit(body));
},
PR: (rng) => buildDualTrailing(rng, "", 8, computeIePrStyleCheckDigit, computeIePrStyleCheckDigit),
RJ: (rng) => {
const body = rng.digits(7);
return body + String(computeIeCyclicMod11CheckDigit(body, 2, 7));
},
RS: (rng) => {
const body = rng.digits(9);
return body + String(computeIeCyclicMod11CheckDigit(body, 2, 9));
},
RO: (rng) => {
const body = rng.digits(13);
return body + String(computeIeRoCheckDigit(body));
},
TO: (rng) => {
const body = rng.digits(8);
return body + String(computeIeToCheckDigit(body));
}
};
function generateInscricaoEstadualValue(uf, rng, validate = validateInscricaoEstadual) {
const generator = GENERATORS[uf];
for (let attempt = 0; attempt < MAX_ATTEMPTS7; attempt++) {
const candidate = generator(rng);
if (validate(candidate, { uf }).ok) {
return candidate;
}
}
return IE_GENERATE_FALLBACKS[uf];
}
// src/generate/nfe-chave.ts
var MAX_ATTEMPTS8 = 80;
var NFE_UF_CODES = [...NFE_IBGE_UF_CODES];
function generateNfeChaveValue(rng, validate = validateNfeChave) {
for (let attempt = 0; attempt < MAX_ATTEMPTS8; attempt++) {
const cuf = String(rng.pick(NFE_UF_CODES)).padStart(2, "0");
const aamm = rng.digits(4);
const cnpj = rng.digits(14);
const serie = rng.digits(3);
const invoiceNumber = rng.digits(9);
const emissionType = String(rng.int(0, 9));
const numericCode = rng.digits(8);
const base43 = `${cuf}${aamm}${cnpj}${NFE_MODELO_NFE}${serie}${invoiceNumber}${emissionType}${numericCode}`;
const candidate = `${base43}${String(computeNfeChaveCheckDigit(base43))}`;
if (validate(candidate).ok) {
return candidate;
}
}
return NFE_CHAVE_GOLDEN_PRIMARY;
}
// src/generate/titulo-eleitor.ts
var MAX_ATTEMPTS9 = 50;
var TITULO_ELEITOR_CODE_BY_UF = Object.fromEntries(
Object.entries(TITULO_ELEITOR_UF_BY_CODE).map(([code, uf]) => [uf, Number(code)])
);
var TITULO_GENERATE_FALLBACKS = {
SP: TITULO_ELEITOR_GOLDEN_SP_SPECIAL,
SC: TITULO_ELEITOR_GOLDEN_PRIMARY
};
function deterministicTituloFallback(uf) {
const ufCode = TITULO_ELEITOR_CODE_BY_UF[uf];
const ufDigits = String(ufCode).padStart(2, "0");
const sequential = "12345678";
const checkDigits = computeTituloEleitorCheckDigits(sequential, ufDigits, ufCode);
return `${sequential}${ufDigits}${checkDigits}`;
}
function generateTituloEleitorValue(uf, rng, validate = validateTituloEleitor) {
const ufCode = TITULO_ELEITOR_CODE_BY_UF[uf];
const ufDigits = String(ufCode).padStart(2, "0");
for (let attempt = 0; attempt < MAX_ATTEMPTS9; attempt++) {
const sequential = rng.digits(TITULO_ELEITOR_SEQUENTIAL_LENGTH);
if (hasRepeatedChars(sequential)) {
continue;
}
const checkDigits = computeTituloEleitorCheckDigits(sequential, ufDigits, ufCode);
const candidate = `${sequential}${ufDigits}${checkDigits}`;
if (validate(candidate).ok) {
return candidate;
}
}
return TITULO_GENERATE_FALLBACKS[uf] ?? deterministicTituloFallback(uf);
}
// src/generate/index.ts
var CNPJ_ALNUM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var MAX_ATTEMPTS10 = 50;
function digitValue(char) {
return Number(char);
}
function randomBaseDigits(rng, length) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const base = rng.digits(length);
if (!hasRepeatedChars(base)) {
return base;
}
}
return "123456789".slice(0, length).padEnd(length, "1");
}
function randomCnpjAlphanumericBase(rng) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
let base = "";
for (let i = 0; i < CNPJ_BASE_LENGTH; i++) {
base += CNPJ_ALNUM_CHARS.charAt(rng.int(0, CNPJ_ALNUM_CHARS.length - 1));
}
if (!hasRepeatedChars(base)) {
return base;
}
}
return "12ABC34501DE";
}
function generateCpfValue(rng) {
const base = randomBaseDigits(rng, CPF_BASE_LENGTH);
const dv1 = String(computeCheckDigit(base, CPF_DV1_WEIGHTS, digitValue));
const dv2 = String(computeCheckDigit(base + dv1, CPF_DV2_WEIGHTS, digitValue));
return base + dv1 + dv2;
}
function generateCnpjValue(rng, format) {
if (format === "alphanumeric") {
const base2 = randomCnpjAlphanumericBase(rng);
const dv12 = String(computeCheckDigit(base2, CNPJ_DV1_WEIGHTS, cnpjCharValue));
const dv22 = String(computeCheckDigit(base2 + dv12, CNPJ_DV2_WEIGHTS, cnpjCharValue));
return base2 + dv12 + dv22;
}
const base = randomBaseDigits(rng, CNPJ_BASE_LENGTH);
const dv1 = String(computeCheckDigit(base, CNPJ_DV1_WEIGHTS, digitValue));
const dv2 = String(computeCheckDigit(base + dv1, CNPJ_DV2_WEIGHTS, digitValue));
return base + dv1 + dv2;
}
function generateCepValue(rng) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const value = rng.digits(8);
if (value !== "00000000" && validateCep(value).ok) {
return value;
}
}
return "01310100";
}
function generatePlacaValue(rng, format) {
const mode = format === "legacy" ? "legacy" : "mercosul";
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const letters = rng.letter() + rng.letter() + rng.letter();
let candidate;
if (mode === "legacy") {
candidate = letters + rng.digits(4);
if (!PLACA_LEGACY_PATTERN.test(candidate)) {
continue;
}
} else {
candidate = letters + rng.digit() + rng.pick(["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]) + rng.digits(2);
if (!PLACA_MERCOSUL_PATTERN.test(candidate)) {
continue;
}
}
if (validatePlaca(candidate).ok) {
return candidate;
}
}
return mode === "legacy" ? "ABC1234" : "ABC1D23";
}
function generatePisValue(rng) {
const base = randomBaseDigits(rng, PIS_PASEP_BASE_LENGTH);
const dv = String(computeCheckDigit(base, PIS_PASEP_DV_WEIGHTS, digitValue));
return base + dv;
}
function generateRenavamValue(rng) {
const base = randomBaseDigits(rng, RENAVAM_BASE_LENGTH);
const dv = String(computeRenavamCheckDigit(base));
return base + dv;
}
function generateCnhValue(rng) {
const base = randomBaseDigits(rng, CNH_BASE_LENGTH);
return base + computeCnhCheckDigits(base);
}
function generateTelefoneValue(rng, format) {
const ddd = rng.pick(ANATEL_DDDS);
const useFixo = format === "fixo";
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const local = useFixo ? String(rng.int(2, 5)) + rng.digits(7) : `9${rng.digits(8)}`;
const candidate = ddd + local;
if (validateTelefone(candidate).ok) {
return candidate;
}
}
return useFixo ? "1133333333" : "11999999999";
}
function generateCartaoValue(rng, brand) {
return generateCartaoCreditoValue(rng, brand);
}
function applyInscricaoEstadualGenerateMask(value, uf) {
const formatted = formatInscricaoEstadual(value, { uf });
return formatted.ok ? formatted.formatted : value;
}
function generate(type, options = {}) {
const rng = createRandomSource(options.seed);
let value;
switch (type) {
case "cpf":
if (options.format === "alphanumeric") {
assertCpfAlphanumericGenerateAllowed();
}
value = generateCpfValue(rng);
break;
case "cnpj":
value = generateCnpjValue(rng, options.format);
break;
case "cep":
value = generateCepValue(rng);
break;
case "placa":
value = generatePlacaValue(rng, options.format);
break;
case "pis-pasep":
value = generatePisValue(rng);
break;
case "renavam":
value = generateRenavamValue(rng);
break;
case "cnh":
value = generateCnhValue(rng);
break;
case "telefone":
value = generateTelefoneValue(rng, options.format);
break;
case "cartao-credito":
value = generateCartaoValue(rng, options.brand);
break;
case "inscricao-estadual": {
if (!options.uf) {
throw new Error("UF is required for inscricao-estadual generation");
}
value = generateInscricaoEstadualValue(options.uf, rng);
break;
}
case "titulo-eleitor": {
if (!options.uf) {
throw new Error("UF is required for titulo-eleitor generation");
}
value = generateTituloEleitorValue(options.uf, rng);
break;
}
case "pix":
value = generatePixEvpValue(rng);
break;
case "nfe-chave":
value = generateNfeChaveValue(rng);
break;
case "brcode":
value = generateBrcodeValue(rng, {
pixKey: options.pixKey,
merchantName: options.merchantName,
merchantCity: options.merchantCity,
amount: options.amount,
txid: options.txid
});
break;
case "boleto":
value = generateBoletoValue(rng);
break;
case "boleto-arrecadacao":
value = generateBoletoArrecadacaoValue(rng);
break;
case "inscricao-estadual-produtor-rural":
value = generateIeProdutorRuralValue(rng);
break;
default: {
const _exhaustive = type;
throw new Error(`Unsupported generatable type: ${String(_exhaustive)}`);
}
}
if (options.masked && type === "inscricao-estadual") {
return applyInscricaoEstadualGenerateMask(value, options.uf);
}
if (options.masked && type === "boleto-arrecadacao") {
return applyArrecadacaoLinhaMask(value);
}
return options.masked ? applyMask(type, value) : value;
}
export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate };
//# sourceMappingURL=chunk-Q5QBTTNC.js.map
//# sourceMappingURL=chunk-Q5QBTTNC.js.map

Sorry, the diff of this file is too big to display

import { formatTituloEleitor } from './chunk-O3T7PUBI.js';
import { formatPisPasep } from './chunk-VSW3NBJQ.js';
import { formatPixKey } from './chunk-JSNXKBZA.js';
import { formatPlaca } from './chunk-YD5MPZWY.js';
import { formatRenavam } from './chunk-5EJAENH5.js';
import { formatTelefone } from './chunk-MAM4U3UR.js';
import { formatNfeChave } from './chunk-JKDU7QYP.js';
import { formatIeProdutorRural } from './chunk-54UWHK5L.js';
import { formatCnh } from './chunk-EQV33L7H.js';
import { formatCnpj } from './chunk-RMTHCPIV.js';
import { formatCpf } from './chunk-EN7PVDYB.js';
import { formatInscricaoEstadual } from './chunk-665E36SC.js';
import { formatBoleto } from './chunk-XWHGXSQV.js';
import { formatCartaoCredito } from './chunk-B6A7VF4R.js';
import { formatCep } from './chunk-SDEJD2J7.js';
// src/mask/index.ts
var MASKABLE_DOCUMENT_TYPES = [
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural",
"pix"
];
function isMaskableDocumentType(type) {
return MASKABLE_DOCUMENT_TYPES.includes(type);
}
function mask(raw, type, options = {}) {
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual masking"
};
}
return dispatchMask(raw, type, options);
}
function maskRuntime(type, raw, options = {}) {
if (!isMaskableDocumentType(type)) {
return { ok: false, code: "UNSUPPORTED_FORMAT", message: `Unknown document type: ${type}` };
}
return mask(raw, type, options);
}
function dispatchMask(raw, type, options) {
switch (type) {
case "cpf":
return formatCpf(raw);
case "cnpj":
return formatCnpj(raw);
case "cep":
return formatCep(raw);
case "placa":
return formatPlaca(raw);
case "pis-pasep":
return formatPisPasep(raw);
case "telefone":
return formatTelefone(raw);
case "cnh":
return formatCnh(raw);
case "renavam":
return formatRenavam(raw);
case "titulo-eleitor":
return formatTituloEleitor(raw);
case "nfe-chave":
return formatNfeChave(raw);
case "boleto":
return formatBoleto(raw);
case "cartao-credito":
return formatCartaoCredito(raw);
case "inscricao-estadual":
return formatInscricaoEstadual(raw, { uf: options.uf });
case "inscricao-estadual-produtor-rural":
return formatIeProdutorRural(raw);
case "pix":
return formatPixKey(raw);
default: {
const _exhaustive = type;
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: `Unsupported type: ${String(_exhaustive)}`
};
}
}
}
export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime };
//# sourceMappingURL=chunk-QU4HTXM5.js.map
//# sourceMappingURL=chunk-QU4HTXM5.js.map
{"version":3,"sources":["../src/mask/index.ts"],"names":[],"mappings":"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","file":"chunk-QU4HTXM5.js","sourcesContent":["/**\n * Unified display mask — delegates to existing `format*` (BR-MASK-001).\n * @see docs/use-cases/UC-003-format-document.md\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { formatInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { formatBoleto } from '../format/boleto.js';\nimport { formatCartaoCredito } from '../format/cartao-credito.js';\nimport { formatCep } from '../format/cep.js';\nimport { formatCnh } from '../format/cnh.js';\nimport { formatCnpj } from '../format/cnpj.js';\nimport { formatCpf } from '../format/cpf.js';\nimport { formatIeProdutorRural } from '../format/inscricao-estadual-produtor-rural.js';\nimport { formatNfeChave } from '../format/nfe-chave.js';\nimport { formatPisPasep } from '../format/pis-pasep.js';\nimport { formatPixKey } from '../format/pix.js';\nimport { formatPlaca } from '../format/placa.js';\nimport { formatRenavam } from '../format/renavam.js';\nimport { formatTelefone } from '../format/telefone.js';\nimport { formatTituloEleitor } from '../format/titulo-eleitor.js';\nimport type { FormatResult, UfCode } from '../types/validation-result.js';\n\nexport type MaskableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'telefone'\n | 'cnh'\n | 'renavam'\n | 'titulo-eleitor'\n | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'pix';\n\nexport const MASKABLE_DOCUMENT_TYPES = [\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n 'pix',\n] as const satisfies readonly MaskableDocumentType[];\n\nexport type MaskOptions = {\n uf?: UfCode;\n};\n\nexport function isMaskableDocumentType(type: string): type is MaskableDocumentType {\n return (MASKABLE_DOCUMENT_TYPES as readonly string[]).includes(type);\n}\n\nexport function mask(\n raw: string,\n type: MaskableDocumentType,\n options: MaskOptions = {},\n): FormatResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual masking',\n };\n }\n\n return dispatchMask(raw, type, options);\n}\n\n/** Runtime guard for dynamic callers (non-exhaustive type string). */\nexport function maskRuntime(\n type: string,\n raw: string,\n options: MaskOptions = {},\n): FormatResult {\n if (!isMaskableDocumentType(type)) {\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unknown document type: ${type}` };\n }\n return mask(raw, type, options);\n}\n\nfunction dispatchMask(raw: string, type: MaskableDocumentType, options: MaskOptions): FormatResult {\n switch (type) {\n case 'cpf':\n return formatCpf(raw);\n case 'cnpj':\n return formatCnpj(raw);\n case 'cep':\n return formatCep(raw);\n case 'placa':\n return formatPlaca(raw);\n case 'pis-pasep':\n return formatPisPasep(raw);\n case 'telefone':\n return formatTelefone(raw);\n case 'cnh':\n return formatCnh(raw);\n case 'renavam':\n return formatRenavam(raw);\n case 'titulo-eleitor':\n return formatTituloEleitor(raw);\n case 'nfe-chave':\n return formatNfeChave(raw);\n case 'boleto':\n return formatBoleto(raw);\n case 'cartao-credito':\n return formatCartaoCredito(raw);\n case 'inscricao-estadual':\n return formatInscricaoEstadual(raw, { uf: options.uf as UfCode });\n case 'inscricao-estadual-produtor-rural':\n return formatIeProdutorRural(raw);\n case 'pix':\n return formatPixKey(raw);\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n"]}
// src/transparencia-snapshots/data/metadata.json
var metadata_default = {
id: "transparencia-snapshots",
nome: "Portal da Transpar\xEAncia endpoint registry",
fonte: "CGU Portal da Transpar\xEAncia \u2014 Swagger audit (query endpoints; no bulk embed in v1)",
endpoints: [
"https://api.portaldatransparencia.gov.br/swagger-ui/index.html",
"https://api.portaldatransparencia.gov.br/v3/api-docs",
"https://portaldatransparencia.gov.br/"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T19:08:25.007Z",
contagens: {
endpoints: 8,
queryAdapter: 7
},
alteracoes: {
adicionados: 0,
removidos: 0,
alterados: 0,
comparadoCom: "2026-06-23"
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T19:08:25.007Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#portal-transparencia"
};
export { metadata_default };
//# sourceMappingURL=chunk-RWO34ORS.js.map
//# sourceMappingURL=chunk-RWO34ORS.js.map
{"version":3,"sources":["../src/transparencia-snapshots/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,yBAAA;AAAA,EACN,IAAA,EAAQ,8CAAA;AAAA,EACR,KAAA,EAAS,4FAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX,gEAAA;AAAA,IACA,sDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-RWO34ORS.js","sourcesContent":["{\n \"id\": \"transparencia-snapshots\",\n \"nome\": \"Portal da Transparência endpoint registry\",\n \"fonte\": \"CGU Portal da Transparência — Swagger audit (query endpoints; no bulk embed in v1)\",\n \"endpoints\": [\n \"https://api.portaldatransparencia.gov.br/swagger-ui/index.html\",\n \"https://api.portaldatransparencia.gov.br/v3/api-docs\",\n \"https://portaldatransparencia.gov.br/\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T19:08:25.007Z\",\n \"contagens\": {\n \"endpoints\": 8,\n \"queryAdapter\": 7\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T19:08:25.007Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portal-transparencia\"\n}\n"]}
import { normalizeForPlatform } from './chunk-YNUYQKUW.js';
// src/diff/index.ts
function diff(a, b, type, options = {}) {
const left = normalizeForPlatform(a, type, options);
const right = normalizeForPlatform(b, type, options);
if (left === right) {
return { changed: false, fields: [] };
}
const leftFields = splitFields(left, type);
const rightFields = splitFields(right, type);
const keys = /* @__PURE__ */ new Set([...Object.keys(leftFields), ...Object.keys(rightFields)]);
const fields = [];
for (const field of keys) {
const leftValue = leftFields[field];
const rightValue = rightFields[field];
if (leftValue !== rightValue) {
fields.push({ field, a: leftValue, b: rightValue });
}
}
return { changed: fields.length > 0, fields };
}
function splitFields(value, type) {
switch (type) {
case "cpf":
return {
base: value.slice(0, 9),
dv: value.slice(9, 11)
};
case "cnpj":
return {
base: value.slice(0, 12),
dv: value.slice(12, 14)
};
case "cep":
return {
prefix: value.slice(0, 5),
suffix: value.slice(5, 8)
};
case "telefone":
return { ddd: value.slice(0, 2), subscriber: value.slice(2) };
case "pis-pasep":
return {
base: value.slice(0, 10),
dv: value.slice(10, 11)
};
case "cnh":
return {
base: value.slice(0, 9),
dv1: value.slice(9, 10),
dv2: value.slice(10, 11)
};
case "renavam":
return {
base: value.slice(0, 10),
dv: value.slice(10, 11)
};
case "titulo-eleitor":
return {
sequential: value.slice(0, 8),
uf: value.slice(8, 10),
dv: value.slice(10, 12)
};
case "nfe-chave":
return {
cUF: value.slice(0, 2),
aamm: value.slice(2, 6),
cnpj: value.slice(6, 20),
mod: value.slice(20, 22),
serie: value.slice(22, 25),
nNF: value.slice(25, 34),
tpEmis: value.slice(34, 35),
cNF: value.slice(35, 43),
cDV: value.slice(43, 44)
};
case "placa":
return { value };
case "boleto":
case "cartao-credito":
case "inscricao-estadual":
case "inscricao-estadual-produtor-rural":
case "pix":
case "brcode":
return { value };
default: {
return { value };
}
}
}
export { diff };
//# sourceMappingURL=chunk-VWS4AWCI.js.map
//# sourceMappingURL=chunk-VWS4AWCI.js.map
{"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-VWS4AWCI.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 '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 'pix':\n case 'brcode':\n return { value };\n default: {\n const _exhaustive: never = type;\n void _exhaustive;\n return { value };\n }\n }\n}\n"]}
import { normalizeForPlatform } from './chunk-YNUYQKUW.js';
// src/platform/types.ts
var PLATFORM_DOCUMENT_TYPES = [
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural",
"pix",
"brcode"
];
function isPlatformDocumentType(type) {
return PLATFORM_DOCUMENT_TYPES.includes(type);
}
// src/compare/index.ts
function compare(a, b, type, options = {}) {
const left = normalizeForPlatform(a, type, options);
const right = normalizeForPlatform(b, type, options);
return { equal: left === right };
}
function compareRuntime(a, b, type, options = {}) {
if (!isPlatformDocumentType(type)) {
return { equal: false, code: "UNSUPPORTED_FORMAT", message: `Unknown document type: ${type}` };
}
return compare(a, b, type, options);
}
export { compare, compareRuntime };
//# sourceMappingURL=chunk-X7XQRG4X.js.map
//# sourceMappingURL=chunk-X7XQRG4X.js.map
{"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,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;;;AClBO,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-X7XQRG4X.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 '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"]}
import { stripForType } from './chunk-GWAYWBHN.js';
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/platform/normalize.ts
var SANITIZABLE_PLATFORM_TYPES = /* @__PURE__ */ new Set([
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural"
]);
function isSanitizablePlatformType(type) {
return SANITIZABLE_PLATFORM_TYPES.has(type);
}
function stripForPlatform(raw, type) {
if (type === "pix" || type === "brcode") {
return raw;
}
if (isSanitizablePlatformType(type)) {
return stripForType(raw, type);
}
return raw;
}
function normalizeForPlatform(raw, type, options = {}) {
const trimmed = raw.trim();
const stripped = stripForPlatform(trimmed, type);
const validated = tryValidatedCanonical(stripped, type, options.uf);
return validated ?? stripped;
}
function tryValidatedCanonical(value, type, uf) {
switch (type) {
case "cpf": {
const result = validateCpf(value);
return result.ok ? result.value : null;
}
case "cnpj": {
const result = validateCnpj(value);
return result.ok ? result.value : null;
}
case "cep": {
const result = validateCep(value);
return result.ok ? result.value : null;
}
case "placa": {
const result = validatePlaca(value);
return result.ok ? result.value : null;
}
case "pis-pasep": {
const result = validatePisPasep(value);
return result.ok ? result.value : null;
}
case "telefone": {
const result = validateTelefone(value);
return result.ok ? result.value : null;
}
case "cnh": {
const result = validateCnh(value);
return result.ok ? result.value : null;
}
case "renavam": {
const result = validateRenavam(value);
return result.ok ? result.value : null;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(value);
return result.ok ? result.value : null;
}
case "nfe-chave": {
const result = validateNfeChave(value);
return result.ok ? result.value : null;
}
case "boleto": {
const result = validateBoleto(value);
return result.ok ? result.value : null;
}
case "cartao-credito": {
const result = validateCartaoCredito(value);
return result.ok ? result.value : null;
}
case "inscricao-estadual": {
if (!uf) {
return null;
}
const result = validateInscricaoEstadual(value, { uf });
return result.ok ? result.value : null;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(value);
return result.ok ? result.value : null;
}
case "pix": {
const result = validatePixKey(value);
return result.ok ? result.value : null;
}
case "brcode": {
const result = validateBrCode(value);
return result.ok ? result.value : null;
}
default: {
return null;
}
}
}
export { normalizeForPlatform };
//# sourceMappingURL=chunk-YNUYQKUW.js.map
//# sourceMappingURL=chunk-YNUYQKUW.js.map
{"version":3,"sources":["../src/platform/normalize.ts"],"names":[],"mappings":"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","file":"chunk-YNUYQKUW.js","sourcesContent":["/**\n * Canonical normalization for platform compare/diff (BR-PLATFORM-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateBrCode } from '../core/brcode/index.js';\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 { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport { stripForType } from '../sanitize/fixes.js';\nimport type { SanitizableDocumentType } from '../sanitize/index.js';\nimport type { UfCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nconst SANITIZABLE_PLATFORM_TYPES = new Set<PlatformDocumentType>([\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n]);\n\nfunction isSanitizablePlatformType(type: PlatformDocumentType): type is SanitizableDocumentType {\n return SANITIZABLE_PLATFORM_TYPES.has(type);\n}\n\nfunction stripForPlatform(raw: string, type: PlatformDocumentType): string {\n if (type === 'pix' || type === 'brcode') {\n return raw;\n }\n if (isSanitizablePlatformType(type)) {\n return stripForType(raw, type);\n }\n return raw;\n}\n\nexport function normalizeForPlatform(\n raw: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): string {\n const trimmed = raw.trim();\n const stripped = stripForPlatform(trimmed, type);\n const validated = tryValidatedCanonical(stripped, type, options.uf);\n return validated ?? stripped;\n}\n\nfunction tryValidatedCanonical(\n value: string,\n type: PlatformDocumentType,\n uf?: UfCode,\n): string | null {\n switch (type) {\n case 'cpf': {\n const result = validateCpf(value);\n return result.ok ? result.value : null;\n }\n case 'cnpj': {\n const result = validateCnpj(value);\n return result.ok ? result.value : null;\n }\n case 'cep': {\n const result = validateCep(value);\n return result.ok ? result.value : null;\n }\n case 'placa': {\n const result = validatePlaca(value);\n return result.ok ? result.value : null;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(value);\n return result.ok ? result.value : null;\n }\n case 'telefone': {\n const result = validateTelefone(value);\n return result.ok ? result.value : null;\n }\n case 'cnh': {\n const result = validateCnh(value);\n return result.ok ? result.value : null;\n }\n case 'renavam': {\n const result = validateRenavam(value);\n return result.ok ? result.value : null;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(value);\n return result.ok ? result.value : null;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(value);\n return result.ok ? result.value : null;\n }\n case 'boleto': {\n const result = validateBoleto(value);\n return result.ok ? result.value : null;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(value);\n return result.ok ? result.value : null;\n }\n case 'inscricao-estadual': {\n if (!uf) {\n return null;\n }\n const result = validateInscricaoEstadual(value, { uf });\n return result.ok ? result.value : null;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(value);\n return result.ok ? result.value : null;\n }\n case 'pix': {\n const result = validatePixKey(value);\n return result.ok ? result.value : null;\n }\n case 'brcode': {\n const result = validateBrCode(value);\n return result.ok ? result.value : null;\n }\n default: {\n return null;\n }\n }\n}\n"]}
// src/portos/data/metadata.json
var metadata_default = {
id: "portos",
nome: "ANTAQ port installations",
fonte: "ANTAQ \u2014 Instala\xE7\xF5es Portu\xE1rias Outorgadas (Portos.xlsx)",
endpoints: [
"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip"
],
capturadoEm: "2026-06-23",
atualizadoEm: "2026-06-23T19:08:23.577Z",
contagens: {
portos: 1094
},
alteracoes: {
adicionados: 0,
removidos: 0,
alterados: 0,
comparadoCom: "2026-06-23"
},
verificacao: {
agendamento: "semanal",
workflow: "data-refresh-bot.yml",
ultimaExecucao: "2026-06-23T19:08:23.577Z"
},
documentacao: "docs/OFFICIAL-SOURCES.md#portos"
};
export { metadata_default };
//# sourceMappingURL=chunk-ZWAYSR5K.js.map
//# sourceMappingURL=chunk-ZWAYSR5K.js.map
{"version":3,"sources":["../src/portos/data/metadata.json"],"names":[],"mappings":";AAAA,IAAA,gBAAA,GAAA;AAAA,EACE,EAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAAS,uEAAA;AAAA,EACT,SAAA,EAAa;AAAA,IACX;AAAA,GACF;AAAA,EACA,WAAA,EAAe,YAAA;AAAA,EACf,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa;AAAA,IACX,MAAA,EAAU;AAAA,GACZ;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,WAAA,EAAe,CAAA;AAAA,IACf,SAAA,EAAa,CAAA;AAAA,IACb,SAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAgB;AAAA,GAClB;AAAA,EACA,WAAA,EAAe;AAAA,IACb,WAAA,EAAe,SAAA;AAAA,IACf,QAAA,EAAY,sBAAA;AAAA,IACZ,cAAA,EAAkB;AAAA,GACpB;AAAA,EACA,YAAA,EAAgB;AAClB","file":"chunk-ZWAYSR5K.js","sourcesContent":["{\n \"id\": \"portos\",\n \"nome\": \"ANTAQ port installations\",\n \"fonte\": \"ANTAQ — Instalações Portuárias Outorgadas (Portos.xlsx)\",\n \"endpoints\": [\n \"https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip\"\n ],\n \"capturadoEm\": \"2026-06-23\",\n \"atualizadoEm\": \"2026-06-23T19:08:23.577Z\",\n \"contagens\": {\n \"portos\": 1094\n },\n \"alteracoes\": {\n \"adicionados\": 0,\n \"removidos\": 0,\n \"alterados\": 0,\n \"comparadoCom\": \"2026-06-23\"\n },\n \"verificacao\": {\n \"agendamento\": \"semanal\",\n \"workflow\": \"data-refresh-bot.yml\",\n \"ultimaExecucao\": \"2026-06-23T19:08:23.577Z\"\n },\n \"documentacao\": \"docs/OFFICIAL-SOURCES.md#portos\"\n}\n"]}
import { applyFixes } from './chunk-GWAYWBHN.js';
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/sanitize/index.ts
function sanitize(raw, type, options = {}) {
const { value: fixed, fixes } = applyFixes(raw, type);
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual sanitization"
};
}
const validation = validateFixed(fixed, type, options.uf);
if (!validation.ok) {
return { ok: false, code: validation.code, message: validation.message };
}
return { ok: true, value: validation.value, fixes };
}
function validateFixed(value, type, uf) {
switch (type) {
case "cpf": {
const result = validateCpf(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnpj": {
const result = validateCnpj(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cep": {
const result = validateCep(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "placa": {
const result = validatePlaca(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pis-pasep": {
const result = validatePisPasep(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "telefone": {
const result = validateTelefone(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnh": {
const result = validateCnh(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "renavam": {
const result = validateRenavam(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "nfe-chave": {
const result = validateNfeChave(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "boleto": {
const result = validateBoleto(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cartao-credito": {
const result = validateCartaoCredito(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual": {
const result = validateInscricaoEstadual(value, { uf });
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(value);
return result.ok ? { ok: true, value: result.value } : result;
}
default: {
const _exhaustive = type;
return { ok: false, code: "UNSUPPORTED_FORMAT", message: `Unsupported type: ${String(_exhaustive)}` };
}
}
}
export { sanitize };
//# sourceMappingURL=chunk-ZYWBWXTJ.js.map
//# sourceMappingURL=chunk-ZYWBWXTJ.js.map
{"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-ZYWBWXTJ.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 { 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 | '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 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 '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"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Incoterm {
codigo: string;
nome: string;
edicao: '2020';
}
interface IncotermsDataVersion {
id: 'incoterms';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
incoterms: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* ICC Incoterms 2020 lookup — offline static reference (code + name only).
* @see docs/OFFICIAL-SOURCES.md#incoterms
*/
declare function getIncoterms(): readonly Incoterm[];
declare function getIncotermPorCodigo(codigo: string): Incoterm | undefined;
declare const ICC_INCOTERMS_2020_URL = "https://iccwbo.org/resources-for-business/incoterms-rules/";
declare const INCOTERMS_GOLDEN_FOB = "FOB";
declare const INCOTERMS_DATA_VERSION: IncotermsDataVersion;
export { ICC_INCOTERMS_2020_URL, INCOTERMS_DATA_VERSION, INCOTERMS_GOLDEN_FOB, type Incoterm, type IncotermsDataVersion, getIncotermPorCodigo, getIncoterms };
import { metadata_default } from './chunk-EKOSTVIA.js';
// src/incoterms/data/incoterms.json
var incoterms_default = [
{
codigo: "EXW",
nome: "Ex Works",
edicao: "2020"
},
{
codigo: "FCA",
nome: "Free Carrier",
edicao: "2020"
},
{
codigo: "CPT",
nome: "Carriage Paid To",
edicao: "2020"
},
{
codigo: "CIP",
nome: "Carriage and Insurance Paid To",
edicao: "2020"
},
{
codigo: "DAP",
nome: "Delivered at Place",
edicao: "2020"
},
{
codigo: "DPU",
nome: "Delivered at Place Unloaded",
edicao: "2020"
},
{
codigo: "DDP",
nome: "Delivered Duty Paid",
edicao: "2020"
},
{
codigo: "FAS",
nome: "Free Alongside Ship",
edicao: "2020"
},
{
codigo: "FOB",
nome: "Free On Board",
edicao: "2020"
},
{
codigo: "CFR",
nome: "Cost and Freight",
edicao: "2020"
},
{
codigo: "CIF",
nome: "Cost, Insurance and Freight",
edicao: "2020"
}
];
// src/incoterms/lookup.ts
var incoterms = incoterms_default;
function normalizeCodigo(codigo) {
return codigo.trim().toUpperCase();
}
function getIncoterms() {
return incoterms;
}
function getIncotermPorCodigo(codigo) {
const normalized = normalizeCodigo(codigo);
if (!/^[A-Z]{3}$/.test(normalized)) {
return void 0;
}
return incoterms.find((incoterm) => incoterm.codigo === normalized);
}
// src/incoterms/constants.ts
var ICC_INCOTERMS_2020_URL = "https://iccwbo.org/resources-for-business/incoterms-rules/";
var INCOTERMS_GOLDEN_FOB = "FOB";
// src/incoterms/version.ts
var INCOTERMS_DATA_VERSION = metadata_default;
export { ICC_INCOTERMS_2020_URL, INCOTERMS_DATA_VERSION, INCOTERMS_GOLDEN_FOB, getIncotermPorCodigo, getIncoterms };
//# sourceMappingURL=incoterms.js.map
//# sourceMappingURL=incoterms.js.map
{"version":3,"sources":["../src/incoterms/data/incoterms.json","../src/incoterms/lookup.ts","../src/incoterms/constants.ts","../src/incoterms/version.ts"],"names":[],"mappings":";;;AAAA,IAAA,iBAAA,GAAA;AAAA,EACE;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,UAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,kBAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,gCAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,6BAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,qBAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,qBAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,eAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,kBAAA;AAAA,IACR,MAAA,EAAU;AAAA,GACZ;AAAA,EACA;AAAA,IACE,MAAA,EAAU,KAAA;AAAA,IACV,IAAA,EAAQ,6BAAA;AAAA,IACR,MAAA,EAAU;AAAA;AAEd,CAAA;;;AChDA,IAAM,SAAA,GAAiC,iBAAA;AAEvC,SAAS,gBAAgB,MAAA,EAAwB;AAC/C,EAAA,OAAO,MAAA,CAAO,IAAA,EAAK,CAAE,WAAA,EAAY;AACnC;AAEO,SAAS,YAAA,GAAoC;AAClD,EAAA,OAAO,SAAA;AACT;AAEO,SAAS,qBAAqB,MAAA,EAAsC;AACzE,EAAA,MAAM,UAAA,GAAa,gBAAgB,MAAM,CAAA;AACzC,EAAA,IAAI,CAAC,YAAA,CAAa,IAAA,CAAK,UAAU,CAAA,EAAG;AAClC,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,UAAU,IAAA,CAAK,CAAC,QAAA,KAAa,QAAA,CAAS,WAAW,UAAU,CAAA;AACpE;;;ACxBO,IAAM,sBAAA,GACX;AAEK,IAAM,oBAAA,GAAuB;;;ACA7B,IAAM,sBAAA,GACX","file":"incoterms.js","sourcesContent":["[\n {\n \"codigo\": \"EXW\",\n \"nome\": \"Ex Works\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"FCA\",\n \"nome\": \"Free Carrier\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"CPT\",\n \"nome\": \"Carriage Paid To\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"CIP\",\n \"nome\": \"Carriage and Insurance Paid To\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"DAP\",\n \"nome\": \"Delivered at Place\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"DPU\",\n \"nome\": \"Delivered at Place Unloaded\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"DDP\",\n \"nome\": \"Delivered Duty Paid\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"FAS\",\n \"nome\": \"Free Alongside Ship\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"FOB\",\n \"nome\": \"Free On Board\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"CFR\",\n \"nome\": \"Cost and Freight\",\n \"edicao\": \"2020\"\n },\n {\n \"codigo\": \"CIF\",\n \"nome\": \"Cost, Insurance and Freight\",\n \"edicao\": \"2020\"\n }\n]\n","/**\n * ICC Incoterms 2020 lookup — offline static reference (code + name only).\n * @see docs/OFFICIAL-SOURCES.md#incoterms\n */\n\nimport incotermsData from './data/incoterms.json';\nimport type { Incoterm } from './types.js';\n\nconst incoterms: readonly Incoterm[] = incotermsData as Incoterm[];\n\nfunction normalizeCodigo(codigo: string): string {\n return codigo.trim().toUpperCase();\n}\n\nexport function getIncoterms(): readonly Incoterm[] {\n return incoterms;\n}\n\nexport function getIncotermPorCodigo(codigo: string): Incoterm | undefined {\n const normalized = normalizeCodigo(codigo);\n if (!/^[A-Z]{3}$/.test(normalized)) {\n return undefined;\n }\n return incoterms.find((incoterm) => incoterm.codigo === normalized);\n}\n","export const ICC_INCOTERMS_2020_URL =\n 'https://iccwbo.org/resources-for-business/incoterms-rules/';\n\nexport const INCOTERMS_GOLDEN_FOB = 'FOB';\nexport const INCOTERMS_2020_COUNT = 11;\n","import incotermsMetadata from './data/metadata.json';\nimport type { IncotermsDataVersion } from './types.js';\n\nexport const INCOTERMS_DATA_VERSION: IncotermsDataVersion =\n incotermsMetadata as IncotermsDataVersion;\n"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Moeda {
codigo: string;
nome: string;
simbolo: string | null;
tipoBacen: 'A' | 'B' | null;
}
interface MoedasDataVersion {
id: 'moedas';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
moedas: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* ISO 4217 currency lookup — offline embedded data with Bacen PTAX enrichment.
* @see docs/OFFICIAL-SOURCES.md#moedas
*/
declare function getMoedas(): readonly Moeda[];
declare function getMoedaPorCodigo(codigo: string): Moeda | undefined;
declare function searchMoedas(query: string, options?: {
limit?: number;
}): readonly Moeda[];
declare const BACEN_PTAX_MOEDAS_URL = "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas";
declare const MOEDAS_GOLDEN_BRL = "BRL";
declare const MOEDAS_GOLDEN_USD = "USD";
declare const MOEDAS_GOLDEN_EUR = "EUR";
declare const MOEDAS_DATA_VERSION: MoedasDataVersion;
export { BACEN_PTAX_MOEDAS_URL, MOEDAS_DATA_VERSION, MOEDAS_GOLDEN_BRL, MOEDAS_GOLDEN_EUR, MOEDAS_GOLDEN_USD, type Moeda, type MoedasDataVersion, getMoedaPorCodigo, getMoedas, searchMoedas };
import { metadata_default } from './chunk-O4AO4YWC.js';
// src/moedas/data/moedas.json
var moedas_default = [
{
codigo: "AED",
nome: "Dirham dos Emirados \xC1rabes Unidos",
simbolo: "\u062F.\u0625",
tipoBacen: null
},
{
codigo: "AFN",
nome: "Afegane afeg\xE3o",
simbolo: "\u060B",
tipoBacen: null
},
{
codigo: "ALL",
nome: "Lek alban\xEAs",
simbolo: "L",
tipoBacen: null
},
{
codigo: "AMD",
nome: "Dram arm\xE9nio",
simbolo: "\u058F",
tipoBacen: null
},
{
codigo: "ANG",
nome: "Florim das Antilhas Neerlandesas",
simbolo: "\u0192",
tipoBacen: null
},
{
codigo: "AOA",
nome: "Kwanza angolano",
simbolo: "Kz",
tipoBacen: null
},
{
codigo: "ARS",
nome: "Peso argentino",
simbolo: "$",
tipoBacen: null
},
{
codigo: "AUD",
nome: "D\xF3lar australiano",
simbolo: "A$",
tipoBacen: "B"
},
{
codigo: "AWG",
nome: "Florim arubano",
simbolo: "\u0192",
tipoBacen: null
},
{
codigo: "AZN",
nome: "Manat azeri",
simbolo: "\u20BC",
tipoBacen: null
},
{
codigo: "BAM",
nome: "Marco convert\xEDvel da B\xF3snia-Herzegovina",
simbolo: "KM",
tipoBacen: null
},
{
codigo: "BBD",
nome: "D\xF3lar barbadense",
simbolo: "$",
tipoBacen: null
},
{
codigo: "BDT",
nome: "Taka bengali",
simbolo: "\u09F3",
tipoBacen: null
},
{
codigo: "BGN",
nome: "Lev b\xFAlgaro",
simbolo: "\u043B\u0432",
tipoBacen: null
},
{
codigo: "BHD",
nome: "Dinar bareinita",
simbolo: ".\u062F.\u0628",
tipoBacen: null
},
{
codigo: "BIF",
nome: "Franco burundiano",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "BMD",
nome: "D\xF3lar bermudense",
simbolo: "$",
tipoBacen: null
},
{
codigo: "BND",
nome: "D\xF3lar bruneano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "BOB",
nome: "Boliviano",
simbolo: "Bs.",
tipoBacen: null
},
{
codigo: "BRL",
nome: "Real brasileiro",
simbolo: "R$",
tipoBacen: null
},
{
codigo: "BSD",
nome: "D\xF3lar bahamense",
simbolo: "$",
tipoBacen: null
},
{
codigo: "BTN",
nome: "Ngultrum butan\xEAs",
simbolo: "Nu.",
tipoBacen: null
},
{
codigo: "BWP",
nome: "Pula botsuanesa",
simbolo: "P",
tipoBacen: null
},
{
codigo: "BYN",
nome: "Rublo bielorrusso",
simbolo: "Br",
tipoBacen: null
},
{
codigo: "BZD",
nome: "D\xF3lar belizense",
simbolo: "$",
tipoBacen: null
},
{
codigo: "CAD",
nome: "D\xF3lar canadense",
simbolo: "C$",
tipoBacen: "A"
},
{
codigo: "CDF",
nome: "Franco congol\xEAs",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "CHF",
nome: "Franco su\xED\xE7o",
simbolo: "Fr",
tipoBacen: "A"
},
{
codigo: "CLP",
nome: "Peso chileno",
simbolo: "$",
tipoBacen: null
},
{
codigo: "CNY",
nome: "Yuan renminbi chin\xEAs",
simbolo: "\xA5",
tipoBacen: null
},
{
codigo: "COP",
nome: "Peso colombiano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "CRC",
nome: "Col\xF3n costa-riquenho",
simbolo: "\u20A1",
tipoBacen: null
},
{
codigo: "CUP",
nome: "Peso cubano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "CVE",
nome: "Escudo cabo-verdiano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "CZK",
nome: "Coroa checa",
simbolo: "K\u010D",
tipoBacen: null
},
{
codigo: "DJF",
nome: "Franco djibutiano",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "DKK",
nome: "Coroa dinamarquesa",
simbolo: "kr",
tipoBacen: "A"
},
{
codigo: "DOP",
nome: "Peso dominicano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "DZD",
nome: "Dinar argelino",
simbolo: "\u062F.\u062C",
tipoBacen: null
},
{
codigo: "EGP",
nome: "Libra eg\xEDpcia",
simbolo: "E\xA3",
tipoBacen: null
},
{
codigo: "ERN",
nome: "Nakfa eritreia",
simbolo: "Nfk",
tipoBacen: null
},
{
codigo: "ETB",
nome: "Birr et\xEDope",
simbolo: "Br",
tipoBacen: null
},
{
codigo: "EUR",
nome: "Euro",
simbolo: "\u20AC",
tipoBacen: "B"
},
{
codigo: "FJD",
nome: "D\xF3lar fijiano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "FKP",
nome: "Libra das Ilhas Falkland",
simbolo: "\xA3",
tipoBacen: null
},
{
codigo: "GBP",
nome: "Libra Esterlina",
simbolo: "\xA3",
tipoBacen: "B"
},
{
codigo: "GEL",
nome: "Lari georgiano",
simbolo: "\u20BE",
tipoBacen: null
},
{
codigo: "GHS",
nome: "Cedi gan\xEAs",
simbolo: "\u20B5",
tipoBacen: null
},
{
codigo: "GIP",
nome: "Libra de Gibraltar",
simbolo: "\xA3",
tipoBacen: null
},
{
codigo: "GMD",
nome: "Dalasi gambiano",
simbolo: "D",
tipoBacen: null
},
{
codigo: "GNF",
nome: "Franco guineense",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "GTQ",
nome: "Quetzal guatemalteco",
simbolo: "Q",
tipoBacen: null
},
{
codigo: "GYD",
nome: "D\xF3lar guianense",
simbolo: "$",
tipoBacen: null
},
{
codigo: "HKD",
nome: "D\xF3lar de Hong Kong",
simbolo: "HK$",
tipoBacen: null
},
{
codigo: "HNL",
nome: "Lempira hondurenha",
simbolo: "L",
tipoBacen: null
},
{
codigo: "HTG",
nome: "Gourde haitiano",
simbolo: "G",
tipoBacen: null
},
{
codigo: "HUF",
nome: "Forint h\xFAngaro",
simbolo: "Ft",
tipoBacen: null
},
{
codigo: "IDR",
nome: "Rupia indon\xE9sia",
simbolo: "Rp",
tipoBacen: null
},
{
codigo: "ILS",
nome: "Novo shekel israelense",
simbolo: "\u20AA",
tipoBacen: null
},
{
codigo: "INR",
nome: "R\xFApia indiana",
simbolo: "\u20B9",
tipoBacen: null
},
{
codigo: "IQD",
nome: "Dinar iraquiano",
simbolo: "\u0639.\u062F",
tipoBacen: null
},
{
codigo: "IRR",
nome: "Rial iraniano",
simbolo: "\uFDFC",
tipoBacen: null
},
{
codigo: "ISK",
nome: "Coroa islandesa",
simbolo: "kr",
tipoBacen: null
},
{
codigo: "JMD",
nome: "D\xF3lar jamaicano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "JOD",
nome: "Dinar jordano",
simbolo: "\u062F.\u0627",
tipoBacen: null
},
{
codigo: "JPY",
nome: "Iene",
simbolo: "\xA5",
tipoBacen: "A"
},
{
codigo: "KES",
nome: "Xelim queniano",
simbolo: "Sh",
tipoBacen: null
},
{
codigo: "KGS",
nome: "Som quirguiz",
simbolo: "\u0441",
tipoBacen: null
},
{
codigo: "KHR",
nome: "Riel cambojano",
simbolo: "\u17DB",
tipoBacen: null
},
{
codigo: "KMF",
nome: "Franco comorense",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "KRW",
nome: "Won sul-coreano",
simbolo: "\u20A9",
tipoBacen: null
},
{
codigo: "KWD",
nome: "Dinar kuwaitiano",
simbolo: "\u062F.\u0643",
tipoBacen: null
},
{
codigo: "KYD",
nome: "D\xF3lar das Ilhas Cayman",
simbolo: "$",
tipoBacen: null
},
{
codigo: "KZT",
nome: "Tenge cazaque",
simbolo: "\u20B8",
tipoBacen: null
},
{
codigo: "LAK",
nome: "Kip laosiano",
simbolo: "\u20AD",
tipoBacen: null
},
{
codigo: "LBP",
nome: "Libra libanesa",
simbolo: "\u0644.\u0644",
tipoBacen: null
},
{
codigo: "LKR",
nome: "R\xFApia cingalesa",
simbolo: "Rs",
tipoBacen: null
},
{
codigo: "LRD",
nome: "D\xF3lar liberiano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "LSL",
nome: "Loti lesotiano",
simbolo: "L",
tipoBacen: null
},
{
codigo: "LYD",
nome: "Dinar l\xEDbio",
simbolo: "\u0644.\u062F",
tipoBacen: null
},
{
codigo: "MAD",
nome: "Dirham marroquino",
simbolo: "\u062F.\u0645.",
tipoBacen: null
},
{
codigo: "MDL",
nome: "Leu moldavo",
simbolo: "L",
tipoBacen: null
},
{
codigo: "MGA",
nome: "Ariary malgaxe",
simbolo: "Ar",
tipoBacen: null
},
{
codigo: "MKD",
nome: "Denar maced\xF3nio",
simbolo: "\u0434\u0435\u043D",
tipoBacen: null
},
{
codigo: "MMK",
nome: "Kyat birman\xEAs",
simbolo: "K",
tipoBacen: null
},
{
codigo: "MNT",
nome: "Tugrik mongol",
simbolo: "\u20AE",
tipoBacen: null
},
{
codigo: "MOP",
nome: "Pataca macaense",
simbolo: "P",
tipoBacen: null
},
{
codigo: "MRU",
nome: "Ouguiya mauritana",
simbolo: "UM",
tipoBacen: null
},
{
codigo: "MUR",
nome: "R\xFApia mauriciana",
simbolo: "\u20A8",
tipoBacen: null
},
{
codigo: "MVR",
nome: "Rufiyaa maldiva",
simbolo: ".\u0783",
tipoBacen: null
},
{
codigo: "MWK",
nome: "Kwacha malauiana",
simbolo: "MK",
tipoBacen: null
},
{
codigo: "MXN",
nome: "Peso mexicano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "MYR",
nome: "Ringgit malaio",
simbolo: "RM",
tipoBacen: null
},
{
codigo: "MZN",
nome: "Metical mo\xE7ambicano",
simbolo: "MT",
tipoBacen: null
},
{
codigo: "NAD",
nome: "D\xF3lar namibiano",
simbolo: "$",
tipoBacen: null
},
{
codigo: "NGN",
nome: "Naira nigeriana",
simbolo: "\u20A6",
tipoBacen: null
},
{
codigo: "NIO",
nome: "C\xF3rdoba nicaraguense",
simbolo: "C$",
tipoBacen: null
},
{
codigo: "NOK",
nome: "Coroa norueguesa",
simbolo: "kr",
tipoBacen: "A"
},
{
codigo: "NPR",
nome: "R\xFApia nepalesa",
simbolo: "\u20A8",
tipoBacen: null
},
{
codigo: "NZD",
nome: "D\xF3lar neozeland\xEAs",
simbolo: "NZ$",
tipoBacen: null
},
{
codigo: "OMR",
nome: "Rial omanense",
simbolo: "\u0631.\u0639.",
tipoBacen: null
},
{
codigo: "PAB",
nome: "Balboa panamenho",
simbolo: "B/.",
tipoBacen: null
},
{
codigo: "PEN",
nome: "Sol peruano",
simbolo: "S/",
tipoBacen: null
},
{
codigo: "PGK",
nome: "Kina papu\xE1sia",
simbolo: "K",
tipoBacen: null
},
{
codigo: "PHP",
nome: "Peso filipino",
simbolo: "\u20B1",
tipoBacen: null
},
{
codigo: "PKR",
nome: "R\xFApia paquistanesa",
simbolo: "\u20A8",
tipoBacen: null
},
{
codigo: "PLN",
nome: "Zloty polaco",
simbolo: "z\u0142",
tipoBacen: null
},
{
codigo: "PYG",
nome: "Guarani paraguaio",
simbolo: "\u20B2",
tipoBacen: null
},
{
codigo: "QAR",
nome: "Rial catariano",
simbolo: "\u0631.\u0642",
tipoBacen: null
},
{
codigo: "RON",
nome: "Leu romeno",
simbolo: "lei",
tipoBacen: null
},
{
codigo: "RSD",
nome: "Dinar s\xE9rvio",
simbolo: "\u0434\u0438\u043D.",
tipoBacen: null
},
{
codigo: "RUB",
nome: "Rublo russo",
simbolo: "\u20BD",
tipoBacen: null
},
{
codigo: "RWF",
nome: "Franco ruand\xEAs",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "SAR",
nome: "Rial saudita",
simbolo: "\u0631.\u0633",
tipoBacen: null
},
{
codigo: "SBD",
nome: "D\xF3lar das Ilhas Salom\xE3o",
simbolo: "$",
tipoBacen: null
},
{
codigo: "SCR",
nome: "R\xFApia seichelense",
simbolo: "\u20A8",
tipoBacen: null
},
{
codigo: "SDG",
nome: "Libra sudanesa",
simbolo: "\u062C.\u0633.",
tipoBacen: null
},
{
codigo: "SEK",
nome: "Coroa sueca",
simbolo: "kr",
tipoBacen: "A"
},
{
codigo: "SGD",
nome: "D\xF3lar singapurense",
simbolo: "S$",
tipoBacen: null
},
{
codigo: "SHP",
nome: "Libra de Santa Helena",
simbolo: "\xA3",
tipoBacen: null
},
{
codigo: "SLE",
nome: "Leone de Serra Leoa",
simbolo: "Le",
tipoBacen: null
},
{
codigo: "SOS",
nome: "Xelim somali",
simbolo: "Sh",
tipoBacen: null
},
{
codigo: "SRD",
nome: "D\xF3lar surinam\xEAs",
simbolo: "$",
tipoBacen: null
},
{
codigo: "SSP",
nome: "Libra sul-sudanesa",
simbolo: "\xA3",
tipoBacen: null
},
{
codigo: "STN",
nome: "Dobra de S\xE3o Tom\xE9 e Pr\xEDncipe",
simbolo: "Db",
tipoBacen: null
},
{
codigo: "SVC",
nome: "Col\xF3n salvadorenho",
simbolo: "\u20A1",
tipoBacen: null
},
{
codigo: "SYP",
nome: "Libra s\xEDria",
simbolo: "\xA3",
tipoBacen: null
},
{
codigo: "SZL",
nome: "Lilangeni suazi",
simbolo: "L",
tipoBacen: null
},
{
codigo: "THB",
nome: "Baht tailand\xEAs",
simbolo: "\u0E3F",
tipoBacen: null
},
{
codigo: "TJS",
nome: "Somoni tajique",
simbolo: "\u0405\u041C",
tipoBacen: null
},
{
codigo: "TMT",
nome: "Manat turcomeno",
simbolo: "m",
tipoBacen: null
},
{
codigo: "TND",
nome: "Dinar tunisino",
simbolo: "\u062F.\u062A",
tipoBacen: null
},
{
codigo: "TOP",
nome: "Pa\u02BBanga tonganesa",
simbolo: "T$",
tipoBacen: null
},
{
codigo: "TRY",
nome: "Lira turca",
simbolo: "\u20BA",
tipoBacen: null
},
{
codigo: "TTD",
nome: "D\xF3lar de Trinidad e Tobago",
simbolo: "$",
tipoBacen: null
},
{
codigo: "TWD",
nome: "Novo d\xF3lar taiwan\xEAs",
simbolo: "NT$",
tipoBacen: null
},
{
codigo: "TZS",
nome: "Xelim tanzaniano",
simbolo: "Sh",
tipoBacen: null
},
{
codigo: "UAH",
nome: "Hryvnia ucraniana",
simbolo: "\u20B4",
tipoBacen: null
},
{
codigo: "UGX",
nome: "Xelim ugandense",
simbolo: "Sh",
tipoBacen: null
},
{
codigo: "USD",
nome: "D\xF3lar dos Estados Unidos",
simbolo: "US$",
tipoBacen: "A"
},
{
codigo: "UYU",
nome: "Peso uruguayo",
simbolo: "$U",
tipoBacen: null
},
{
codigo: "UZS",
nome: "Som uzbeque",
simbolo: "so'm",
tipoBacen: null
},
{
codigo: "VES",
nome: "Bol\xEDvar soberano",
simbolo: "Bs.S",
tipoBacen: null
},
{
codigo: "VND",
nome: "Dong vietnamita",
simbolo: "\u20AB",
tipoBacen: null
},
{
codigo: "VUV",
nome: "Vatu vanuatuense",
simbolo: "Vt",
tipoBacen: null
},
{
codigo: "WST",
nome: "Tala samoano",
simbolo: "T",
tipoBacen: null
},
{
codigo: "XAF",
nome: "Franco CFA BEAC",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "XCD",
nome: "D\xF3lar do Caribe Oriental",
simbolo: "$",
tipoBacen: null
},
{
codigo: "XOF",
nome: "Franco CFA BCEAO",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "XPF",
nome: "Franco CFP",
simbolo: "Fr",
tipoBacen: null
},
{
codigo: "YER",
nome: "Rial iemenita",
simbolo: "\uFDFC",
tipoBacen: null
},
{
codigo: "ZAR",
nome: "Rand sul-africano",
simbolo: "R",
tipoBacen: null
},
{
codigo: "ZMW",
nome: "Kwacha zambiano",
simbolo: "ZK",
tipoBacen: null
},
{
codigo: "ZWL",
nome: "D\xF3lar zimbabuense",
simbolo: "Z$",
tipoBacen: null
}
];
// src/moedas/lookup.ts
var moedas = moedas_default;
function normalizeCodigo(codigo) {
return codigo.trim().toUpperCase();
}
function getMoedas() {
return moedas;
}
function getMoedaPorCodigo(codigo) {
const normalized = normalizeCodigo(codigo);
if (!/^[A-Z]{3}$/.test(normalized)) {
return void 0;
}
return moedas.find((moeda) => moeda.codigo === normalized);
}
function searchMoedas(query, options) {
const normalizedQuery = query.trim().toLowerCase();
if (normalizedQuery.length === 0) {
return [];
}
const limit = options?.limit ?? 10;
const results = [];
for (const moeda of moedas) {
const matchesNome = moeda.nome.toLowerCase().includes(normalizedQuery);
const matchesCodigo = moeda.codigo.toLowerCase().includes(normalizedQuery);
if (matchesNome || matchesCodigo) {
results.push(moeda);
if (results.length >= limit) {
break;
}
}
}
return results;
}
// src/moedas/constants.ts
var BACEN_PTAX_MOEDAS_URL = "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas";
var MOEDAS_GOLDEN_BRL = "BRL";
var MOEDAS_GOLDEN_USD = "USD";
var MOEDAS_GOLDEN_EUR = "EUR";
// src/moedas/version.ts
var MOEDAS_DATA_VERSION = metadata_default;
export { BACEN_PTAX_MOEDAS_URL, MOEDAS_DATA_VERSION, MOEDAS_GOLDEN_BRL, MOEDAS_GOLDEN_EUR, MOEDAS_GOLDEN_USD, getMoedaPorCodigo, getMoedas, searchMoedas };
//# sourceMappingURL=moedas.js.map
//# sourceMappingURL=moedas.js.map
{"version":3,"sources":["../src/moedas/data/moedas.json","../src/moedas/lookup.ts","../src/moedas/constants.ts","../src/moedas/version.ts"],"names":[],"mappings":"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","file":"moedas.js","sourcesContent":["[\n {\n \"codigo\": \"AED\",\n \"nome\": \"Dirham dos Emirados Árabes Unidos\",\n \"simbolo\": \"د.إ\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"AFN\",\n \"nome\": \"Afegane afegão\",\n \"simbolo\": \"؋\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ALL\",\n \"nome\": \"Lek albanês\",\n \"simbolo\": \"L\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"AMD\",\n \"nome\": \"Dram arménio\",\n \"simbolo\": \"֏\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ANG\",\n \"nome\": \"Florim das Antilhas Neerlandesas\",\n \"simbolo\": \"ƒ\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"AOA\",\n \"nome\": \"Kwanza angolano\",\n \"simbolo\": \"Kz\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ARS\",\n \"nome\": \"Peso argentino\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"AUD\",\n \"nome\": \"Dólar australiano\",\n \"simbolo\": \"A$\",\n \"tipoBacen\": \"B\"\n },\n {\n \"codigo\": \"AWG\",\n \"nome\": \"Florim arubano\",\n \"simbolo\": \"ƒ\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"AZN\",\n \"nome\": \"Manat azeri\",\n \"simbolo\": \"₼\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BAM\",\n \"nome\": \"Marco convertível da Bósnia-Herzegovina\",\n \"simbolo\": \"KM\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BBD\",\n \"nome\": \"Dólar barbadense\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BDT\",\n \"nome\": \"Taka bengali\",\n \"simbolo\": \"৳\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BGN\",\n \"nome\": \"Lev búlgaro\",\n \"simbolo\": \"лв\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BHD\",\n \"nome\": \"Dinar bareinita\",\n \"simbolo\": \".د.ب\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BIF\",\n \"nome\": \"Franco burundiano\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BMD\",\n \"nome\": \"Dólar bermudense\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BND\",\n \"nome\": \"Dólar bruneano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BOB\",\n \"nome\": \"Boliviano\",\n \"simbolo\": \"Bs.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BRL\",\n \"nome\": \"Real brasileiro\",\n \"simbolo\": \"R$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BSD\",\n \"nome\": \"Dólar bahamense\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BTN\",\n \"nome\": \"Ngultrum butanês\",\n \"simbolo\": \"Nu.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BWP\",\n \"nome\": \"Pula botsuanesa\",\n \"simbolo\": \"P\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BYN\",\n \"nome\": \"Rublo bielorrusso\",\n \"simbolo\": \"Br\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"BZD\",\n \"nome\": \"Dólar belizense\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CAD\",\n \"nome\": \"Dólar canadense\",\n \"simbolo\": \"C$\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"CDF\",\n \"nome\": \"Franco congolês\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CHF\",\n \"nome\": \"Franco suíço\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"CLP\",\n \"nome\": \"Peso chileno\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CNY\",\n \"nome\": \"Yuan renminbi chinês\",\n \"simbolo\": \"¥\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"COP\",\n \"nome\": \"Peso colombiano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CRC\",\n \"nome\": \"Colón costa-riquenho\",\n \"simbolo\": \"₡\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CUP\",\n \"nome\": \"Peso cubano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CVE\",\n \"nome\": \"Escudo cabo-verdiano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"CZK\",\n \"nome\": \"Coroa checa\",\n \"simbolo\": \"Kč\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"DJF\",\n \"nome\": \"Franco djibutiano\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"DKK\",\n \"nome\": \"Coroa dinamarquesa\",\n \"simbolo\": \"kr\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"DOP\",\n \"nome\": \"Peso dominicano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"DZD\",\n \"nome\": \"Dinar argelino\",\n \"simbolo\": \"د.ج\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"EGP\",\n \"nome\": \"Libra egípcia\",\n \"simbolo\": \"E£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ERN\",\n \"nome\": \"Nakfa eritreia\",\n \"simbolo\": \"Nfk\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ETB\",\n \"nome\": \"Birr etíope\",\n \"simbolo\": \"Br\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"EUR\",\n \"nome\": \"Euro\",\n \"simbolo\": \"€\",\n \"tipoBacen\": \"B\"\n },\n {\n \"codigo\": \"FJD\",\n \"nome\": \"Dólar fijiano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"FKP\",\n \"nome\": \"Libra das Ilhas Falkland\",\n \"simbolo\": \"£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GBP\",\n \"nome\": \"Libra Esterlina\",\n \"simbolo\": \"£\",\n \"tipoBacen\": \"B\"\n },\n {\n \"codigo\": \"GEL\",\n \"nome\": \"Lari georgiano\",\n \"simbolo\": \"₾\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GHS\",\n \"nome\": \"Cedi ganês\",\n \"simbolo\": \"₵\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GIP\",\n \"nome\": \"Libra de Gibraltar\",\n \"simbolo\": \"£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GMD\",\n \"nome\": \"Dalasi gambiano\",\n \"simbolo\": \"D\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GNF\",\n \"nome\": \"Franco guineense\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GTQ\",\n \"nome\": \"Quetzal guatemalteco\",\n \"simbolo\": \"Q\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"GYD\",\n \"nome\": \"Dólar guianense\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"HKD\",\n \"nome\": \"Dólar de Hong Kong\",\n \"simbolo\": \"HK$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"HNL\",\n \"nome\": \"Lempira hondurenha\",\n \"simbolo\": \"L\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"HTG\",\n \"nome\": \"Gourde haitiano\",\n \"simbolo\": \"G\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"HUF\",\n \"nome\": \"Forint húngaro\",\n \"simbolo\": \"Ft\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"IDR\",\n \"nome\": \"Rupia indonésia\",\n \"simbolo\": \"Rp\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ILS\",\n \"nome\": \"Novo shekel israelense\",\n \"simbolo\": \"₪\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"INR\",\n \"nome\": \"Rúpia indiana\",\n \"simbolo\": \"₹\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"IQD\",\n \"nome\": \"Dinar iraquiano\",\n \"simbolo\": \"ع.د\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"IRR\",\n \"nome\": \"Rial iraniano\",\n \"simbolo\": \"﷼\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ISK\",\n \"nome\": \"Coroa islandesa\",\n \"simbolo\": \"kr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"JMD\",\n \"nome\": \"Dólar jamaicano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"JOD\",\n \"nome\": \"Dinar jordano\",\n \"simbolo\": \"د.ا\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"JPY\",\n \"nome\": \"Iene\",\n \"simbolo\": \"¥\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"KES\",\n \"nome\": \"Xelim queniano\",\n \"simbolo\": \"Sh\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KGS\",\n \"nome\": \"Som quirguiz\",\n \"simbolo\": \"с\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KHR\",\n \"nome\": \"Riel cambojano\",\n \"simbolo\": \"៛\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KMF\",\n \"nome\": \"Franco comorense\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KRW\",\n \"nome\": \"Won sul-coreano\",\n \"simbolo\": \"₩\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KWD\",\n \"nome\": \"Dinar kuwaitiano\",\n \"simbolo\": \"د.ك\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KYD\",\n \"nome\": \"Dólar das Ilhas Cayman\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"KZT\",\n \"nome\": \"Tenge cazaque\",\n \"simbolo\": \"₸\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LAK\",\n \"nome\": \"Kip laosiano\",\n \"simbolo\": \"₭\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LBP\",\n \"nome\": \"Libra libanesa\",\n \"simbolo\": \"ل.ل\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LKR\",\n \"nome\": \"Rúpia cingalesa\",\n \"simbolo\": \"Rs\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LRD\",\n \"nome\": \"Dólar liberiano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LSL\",\n \"nome\": \"Loti lesotiano\",\n \"simbolo\": \"L\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"LYD\",\n \"nome\": \"Dinar líbio\",\n \"simbolo\": \"ل.د\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MAD\",\n \"nome\": \"Dirham marroquino\",\n \"simbolo\": \"د.م.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MDL\",\n \"nome\": \"Leu moldavo\",\n \"simbolo\": \"L\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MGA\",\n \"nome\": \"Ariary malgaxe\",\n \"simbolo\": \"Ar\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MKD\",\n \"nome\": \"Denar macedónio\",\n \"simbolo\": \"ден\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MMK\",\n \"nome\": \"Kyat birmanês\",\n \"simbolo\": \"K\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MNT\",\n \"nome\": \"Tugrik mongol\",\n \"simbolo\": \"₮\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MOP\",\n \"nome\": \"Pataca macaense\",\n \"simbolo\": \"P\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MRU\",\n \"nome\": \"Ouguiya mauritana\",\n \"simbolo\": \"UM\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MUR\",\n \"nome\": \"Rúpia mauriciana\",\n \"simbolo\": \"₨\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MVR\",\n \"nome\": \"Rufiyaa maldiva\",\n \"simbolo\": \".ރ\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MWK\",\n \"nome\": \"Kwacha malauiana\",\n \"simbolo\": \"MK\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MXN\",\n \"nome\": \"Peso mexicano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MYR\",\n \"nome\": \"Ringgit malaio\",\n \"simbolo\": \"RM\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"MZN\",\n \"nome\": \"Metical moçambicano\",\n \"simbolo\": \"MT\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"NAD\",\n \"nome\": \"Dólar namibiano\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"NGN\",\n \"nome\": \"Naira nigeriana\",\n \"simbolo\": \"₦\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"NIO\",\n \"nome\": \"Córdoba nicaraguense\",\n \"simbolo\": \"C$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"NOK\",\n \"nome\": \"Coroa norueguesa\",\n \"simbolo\": \"kr\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"NPR\",\n \"nome\": \"Rúpia nepalesa\",\n \"simbolo\": \"₨\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"NZD\",\n \"nome\": \"Dólar neozelandês\",\n \"simbolo\": \"NZ$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"OMR\",\n \"nome\": \"Rial omanense\",\n \"simbolo\": \"ر.ع.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PAB\",\n \"nome\": \"Balboa panamenho\",\n \"simbolo\": \"B/.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PEN\",\n \"nome\": \"Sol peruano\",\n \"simbolo\": \"S/\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PGK\",\n \"nome\": \"Kina papuásia\",\n \"simbolo\": \"K\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PHP\",\n \"nome\": \"Peso filipino\",\n \"simbolo\": \"₱\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PKR\",\n \"nome\": \"Rúpia paquistanesa\",\n \"simbolo\": \"₨\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PLN\",\n \"nome\": \"Zloty polaco\",\n \"simbolo\": \"zł\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"PYG\",\n \"nome\": \"Guarani paraguaio\",\n \"simbolo\": \"₲\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"QAR\",\n \"nome\": \"Rial catariano\",\n \"simbolo\": \"ر.ق\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"RON\",\n \"nome\": \"Leu romeno\",\n \"simbolo\": \"lei\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"RSD\",\n \"nome\": \"Dinar sérvio\",\n \"simbolo\": \"дин.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"RUB\",\n \"nome\": \"Rublo russo\",\n \"simbolo\": \"₽\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"RWF\",\n \"nome\": \"Franco ruandês\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SAR\",\n \"nome\": \"Rial saudita\",\n \"simbolo\": \"ر.س\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SBD\",\n \"nome\": \"Dólar das Ilhas Salomão\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SCR\",\n \"nome\": \"Rúpia seichelense\",\n \"simbolo\": \"₨\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SDG\",\n \"nome\": \"Libra sudanesa\",\n \"simbolo\": \"ج.س.\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SEK\",\n \"nome\": \"Coroa sueca\",\n \"simbolo\": \"kr\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"SGD\",\n \"nome\": \"Dólar singapurense\",\n \"simbolo\": \"S$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SHP\",\n \"nome\": \"Libra de Santa Helena\",\n \"simbolo\": \"£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SLE\",\n \"nome\": \"Leone de Serra Leoa\",\n \"simbolo\": \"Le\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SOS\",\n \"nome\": \"Xelim somali\",\n \"simbolo\": \"Sh\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SRD\",\n \"nome\": \"Dólar surinamês\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SSP\",\n \"nome\": \"Libra sul-sudanesa\",\n \"simbolo\": \"£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"STN\",\n \"nome\": \"Dobra de São Tomé e Príncipe\",\n \"simbolo\": \"Db\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SVC\",\n \"nome\": \"Colón salvadorenho\",\n \"simbolo\": \"₡\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SYP\",\n \"nome\": \"Libra síria\",\n \"simbolo\": \"£\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"SZL\",\n \"nome\": \"Lilangeni suazi\",\n \"simbolo\": \"L\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"THB\",\n \"nome\": \"Baht tailandês\",\n \"simbolo\": \"฿\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TJS\",\n \"nome\": \"Somoni tajique\",\n \"simbolo\": \"ЅМ\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TMT\",\n \"nome\": \"Manat turcomeno\",\n \"simbolo\": \"m\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TND\",\n \"nome\": \"Dinar tunisino\",\n \"simbolo\": \"د.ت\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TOP\",\n \"nome\": \"Paʻanga tonganesa\",\n \"simbolo\": \"T$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TRY\",\n \"nome\": \"Lira turca\",\n \"simbolo\": \"₺\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TTD\",\n \"nome\": \"Dólar de Trinidad e Tobago\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TWD\",\n \"nome\": \"Novo dólar taiwanês\",\n \"simbolo\": \"NT$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"TZS\",\n \"nome\": \"Xelim tanzaniano\",\n \"simbolo\": \"Sh\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"UAH\",\n \"nome\": \"Hryvnia ucraniana\",\n \"simbolo\": \"₴\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"UGX\",\n \"nome\": \"Xelim ugandense\",\n \"simbolo\": \"Sh\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"USD\",\n \"nome\": \"Dólar dos Estados Unidos\",\n \"simbolo\": \"US$\",\n \"tipoBacen\": \"A\"\n },\n {\n \"codigo\": \"UYU\",\n \"nome\": \"Peso uruguayo\",\n \"simbolo\": \"$U\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"UZS\",\n \"nome\": \"Som uzbeque\",\n \"simbolo\": \"so'm\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"VES\",\n \"nome\": \"Bolívar soberano\",\n \"simbolo\": \"Bs.S\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"VND\",\n \"nome\": \"Dong vietnamita\",\n \"simbolo\": \"₫\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"VUV\",\n \"nome\": \"Vatu vanuatuense\",\n \"simbolo\": \"Vt\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"WST\",\n \"nome\": \"Tala samoano\",\n \"simbolo\": \"T\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"XAF\",\n \"nome\": \"Franco CFA BEAC\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"XCD\",\n \"nome\": \"Dólar do Caribe Oriental\",\n \"simbolo\": \"$\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"XOF\",\n \"nome\": \"Franco CFA BCEAO\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"XPF\",\n \"nome\": \"Franco CFP\",\n \"simbolo\": \"Fr\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"YER\",\n \"nome\": \"Rial iemenita\",\n \"simbolo\": \"﷼\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ZAR\",\n \"nome\": \"Rand sul-africano\",\n \"simbolo\": \"R\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ZMW\",\n \"nome\": \"Kwacha zambiano\",\n \"simbolo\": \"ZK\",\n \"tipoBacen\": null\n },\n {\n \"codigo\": \"ZWL\",\n \"nome\": \"Dólar zimbabuense\",\n \"simbolo\": \"Z$\",\n \"tipoBacen\": null\n }\n]\n","/**\n * ISO 4217 currency lookup — offline embedded data with Bacen PTAX enrichment.\n * @see docs/OFFICIAL-SOURCES.md#moedas\n */\n\nimport moedasData from './data/moedas.json';\nimport type { Moeda } from './types.js';\n\nconst moedas: readonly Moeda[] = moedasData as Moeda[];\n\nfunction normalizeCodigo(codigo: string): string {\n return codigo.trim().toUpperCase();\n}\n\nexport function getMoedas(): readonly Moeda[] {\n return moedas;\n}\n\nexport function getMoedaPorCodigo(codigo: string): Moeda | undefined {\n const normalized = normalizeCodigo(codigo);\n if (!/^[A-Z]{3}$/.test(normalized)) {\n return undefined;\n }\n return moedas.find((moeda) => moeda.codigo === normalized);\n}\n\nexport function searchMoedas(query: string, options?: { limit?: number }): readonly Moeda[] {\n const normalizedQuery = query.trim().toLowerCase();\n if (normalizedQuery.length === 0) {\n return [];\n }\n\n const limit = options?.limit ?? 10;\n const results: Moeda[] = [];\n\n for (const moeda of moedas) {\n const matchesNome = moeda.nome.toLowerCase().includes(normalizedQuery);\n const matchesCodigo = moeda.codigo.toLowerCase().includes(normalizedQuery);\n if (matchesNome || matchesCodigo) {\n results.push(moeda);\n if (results.length >= limit) {\n break;\n }\n }\n }\n\n return results;\n}\n","export const BACEN_PTAX_MOEDAS_URL =\n 'https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas';\n\nexport const MOEDAS_GOLDEN_BRL = 'BRL';\nexport const MOEDAS_GOLDEN_USD = 'USD';\nexport const MOEDAS_GOLDEN_EUR = 'EUR';\n\nexport const MOEDAS_MIN_CODES = 150;\nexport const MOEDAS_MAX_CODES = 200;\n","import moedasMetadata from './data/metadata.json';\nimport type { MoedasDataVersion } from './types.js';\n\nexport const MOEDAS_DATA_VERSION: MoedasDataVersion = moedasMetadata as MoedasDataVersion;\n"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface NaturezaJuridica {
codigo: string;
descricao: string;
}
interface NaturezaJuridicaDataVersion {
id: 'natureza-juridica';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
naturezas: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* RFB CNPJ natureza jurídica lookup — offline embedded data from official open-data CSV.
* @see https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj/
*/
declare function getNaturezasJuridicas(): readonly NaturezaJuridica[];
declare function getNaturezaJuridicaPorCodigo(codigo: string): NaturezaJuridica | undefined;
declare const NATUREZA_JURIDICA_BASE_URL = "https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj";
declare const NATUREZA_JURIDICA_GOLDEN_LTDA = "2062";
declare const NATUREZA_JURIDICA_MIN_CODES = 85;
declare const NATUREZA_JURIDICA_MAX_CODES = 95;
declare const NATUREZA_JURIDICA_DATA_VERSION: NaturezaJuridicaDataVersion;
export { NATUREZA_JURIDICA_BASE_URL, NATUREZA_JURIDICA_DATA_VERSION, NATUREZA_JURIDICA_GOLDEN_LTDA, NATUREZA_JURIDICA_MAX_CODES, NATUREZA_JURIDICA_MIN_CODES, type NaturezaJuridica, type NaturezaJuridicaDataVersion, getNaturezaJuridicaPorCodigo, getNaturezasJuridicas };
import { metadata_default } from './chunk-F7IEPT22.js';
// src/natureza-juridica/data/naturezas.json
var naturezas_default = [
{
codigo: "0000",
descricao: "Natureza Jur\xEDdica n\xE3o informada"
},
{
codigo: "1015",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Executivo Federal"
},
{
codigo: "1023",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Executivo Estadual ou do Distrito Federal"
},
{
codigo: "1031",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Executivo Municipal"
},
{
codigo: "1040",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Legislativo Federal"
},
{
codigo: "1058",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Legislativo Estadual ou do Distrito Federal"
},
{
codigo: "1066",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Legislativo Municipal"
},
{
codigo: "1074",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Judici\xE1rio Federal"
},
{
codigo: "1082",
descricao: "\xD3rg\xE3o P\xFAblico do Poder Judici\xE1rio Estadual"
},
{
codigo: "1104",
descricao: "Autarquia Federal"
},
{
codigo: "1112",
descricao: "Autarquia Estadual ou do Distrito Federal"
},
{
codigo: "1120",
descricao: "Autarquia Municipal"
},
{
codigo: "1139",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito P\xFAblico Federal"
},
{
codigo: "1147",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito P\xFAblico Estadual ou do Distrito Federal"
},
{
codigo: "1155",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito P\xFAblico Municipal"
},
{
codigo: "1163",
descricao: "\xD3rg\xE3o P\xFAblico Aut\xF4nomo Federal"
},
{
codigo: "1171",
descricao: "\xD3rg\xE3o P\xFAblico Aut\xF4nomo Estadual ou do Distrito Federal"
},
{
codigo: "1180",
descricao: "\xD3rg\xE3o P\xFAblico Aut\xF4nomo Municipal"
},
{
codigo: "1198",
descricao: "Comiss\xE3o Polinacional"
},
{
codigo: "1210",
descricao: "Cons\xF3rcio P\xFAblico de Direito P\xFAblico (Associa\xE7\xE3o P\xFAblica)"
},
{
codigo: "1228",
descricao: "Cons\xF3rcio P\xFAblico de Direito Privado"
},
{
codigo: "1236",
descricao: "Estado ou Distrito Federal"
},
{
codigo: "1244",
descricao: "Munic\xEDpio"
},
{
codigo: "1252",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito Privado Federal"
},
{
codigo: "1260",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito Privado Estadual ou do Distrito Federal"
},
{
codigo: "1279",
descricao: "Funda\xE7\xE3o P\xFAblica de Direito Privado Municipal"
},
{
codigo: "1287",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Indireta Federal"
},
{
codigo: "1295",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Indireta Estadual ou do Distrito Federal"
},
{
codigo: "1309",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Indireta Municipal"
},
{
codigo: "1317",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Direta Federal"
},
{
codigo: "1325",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Direta Estadual ou do Distrito Federal"
},
{
codigo: "1333",
descricao: "Fundo P\xFAblico da Administra\xE7\xE3o Direta Municipal"
},
{
codigo: "1341",
descricao: "Uni\xE3o"
},
{
codigo: "2011",
descricao: "Empresa P\xFAblica"
},
{
codigo: "2038",
descricao: "Sociedade de Economia Mista"
},
{
codigo: "2046",
descricao: "Sociedade An\xF4nima Aberta"
},
{
codigo: "2054",
descricao: "Sociedade An\xF4nima Fechada"
},
{
codigo: "2062",
descricao: "Sociedade Empres\xE1ria Limitada"
},
{
codigo: "2070",
descricao: "Sociedade Empres\xE1ria em Nome Coletivo"
},
{
codigo: "2089",
descricao: "Sociedade Empres\xE1ria em Comandita Simples"
},
{
codigo: "2097",
descricao: "Sociedade Empres\xE1ria em Comandita por A\xE7\xF5es"
},
{
codigo: "2100",
descricao: "Sociedade Mercantil de Capital e Ind\xFAstria"
},
{
codigo: "2127",
descricao: "Sociedade em Conta de Participa\xE7\xE3o"
},
{
codigo: "2135",
descricao: "Empres\xE1rio (Individual)"
},
{
codigo: "2143",
descricao: "Cooperativa"
},
{
codigo: "2151",
descricao: "Cons\xF3rcio de Sociedades"
},
{
codigo: "2160",
descricao: "Grupo de Sociedades"
},
{
codigo: "2178",
descricao: "Estabelecimento, no Brasil, de Sociedade Estrangeira"
},
{
codigo: "2194",
descricao: "Estabelecimento, no Brasil, de Empresa Binacional Argentino-Brasileira"
},
{
codigo: "2216",
descricao: "Empresa Domiciliada no Exterior"
},
{
codigo: "2224",
descricao: "Clube/Fundo de Investimento"
},
{
codigo: "2232",
descricao: "Sociedade Simples Pura"
},
{
codigo: "2240",
descricao: "Sociedade Simples Limitada"
},
{
codigo: "2259",
descricao: "Sociedade Simples em Nome Coletivo"
},
{
codigo: "2267",
descricao: "Sociedade Simples em Comandita Simples"
},
{
codigo: "2275",
descricao: "Empresa Binacional"
},
{
codigo: "2283",
descricao: "Cons\xF3rcio de Empregadores"
},
{
codigo: "2291",
descricao: "Cons\xF3rcio Simples"
},
{
codigo: "2305",
descricao: "Empresa Individual de Responsabilidade Limitada (de Natureza Empres\xE1ria)"
},
{
codigo: "2313",
descricao: "Empresa Individual de Responsabilidade Limitada (de Natureza Simples)"
},
{
codigo: "2321",
descricao: "Sociedade Unipessoal de Advocacia"
},
{
codigo: "2330",
descricao: "Cooperativas de Consumo"
},
{
codigo: "2348",
descricao: "Empresa Simples de Inova\xE7\xE3o"
},
{
codigo: "3034",
descricao: "Servi\xE7o Notarial e Registral (Cart\xF3rio)"
},
{
codigo: "3069",
descricao: "Funda\xE7\xE3o Privada"
},
{
codigo: "3077",
descricao: "Servi\xE7o Social Aut\xF4nomo"
},
{
codigo: "3085",
descricao: "Condom\xEDnio Edil\xEDcio"
},
{
codigo: "3107",
descricao: "Comiss\xE3o de Concilia\xE7\xE3o Pr\xE9via"
},
{
codigo: "3115",
descricao: "Entidade de Media\xE7\xE3o e Arbitragem"
},
{
codigo: "3131",
descricao: "Entidade Sindical"
},
{
codigo: "3204",
descricao: "Estabelecimento, no Brasil, de Funda\xE7\xE3o ou Associa\xE7\xE3o Estrangeiras"
},
{
codigo: "3212",
descricao: "Funda\xE7\xE3o ou Associa\xE7\xE3o Domiciliada no Exterior"
},
{
codigo: "3220",
descricao: "Organiza\xE7\xE3o Religiosa"
},
{
codigo: "3239",
descricao: "Comunidade Ind\xEDgena"
},
{
codigo: "3247",
descricao: "Fundo Privado"
},
{
codigo: "3255",
descricao: "\xD3rg\xE3o de Dire\xE7\xE3o Nacional de Partido Pol\xEDtico"
},
{
codigo: "3263",
descricao: "\xD3rg\xE3o de Dire\xE7\xE3o Regional de Partido Pol\xEDtico"
},
{
codigo: "3271",
descricao: "\xD3rg\xE3o de Dire\xE7\xE3o Local de Partido Pol\xEDtico"
},
{
codigo: "3280",
descricao: "Comit\xEA Financeiro de Partido Pol\xEDtico"
},
{
codigo: "3298",
descricao: "Frente Plebiscit\xE1ria ou Referend\xE1ria"
},
{
codigo: "3301",
descricao: "Organiza\xE7\xE3o Social (OS)"
},
{
codigo: "3328",
descricao: "Plano de Benef\xEDcios de Previd\xEAncia Complementar Fechada"
},
{
codigo: "3999",
descricao: "Associa\xE7\xE3o Privada"
},
{
codigo: "4014",
descricao: "Empresa Individual Imobili\xE1ria"
},
{
codigo: "4090",
descricao: "Candidato a Cargo Pol\xEDtico Eletivo"
},
{
codigo: "4120",
descricao: "Produtor Rural (Pessoa F\xEDsica)"
},
{
codigo: "5010",
descricao: "Organiza\xE7\xE3o Internacional"
},
{
codigo: "5029",
descricao: "Representa\xE7\xE3o Diplom\xE1tica Estrangeira"
},
{
codigo: "5037",
descricao: "Outras Institui\xE7\xF5es Extraterritoriais"
},
{
codigo: "8885",
descricao: "Natureza Jur\xEDdica n\xE3o informada"
}
];
// src/natureza-juridica/lookup.ts
var naturezas = naturezas_default;
function normalizeCodigo(codigo) {
const digits = codigo.replace(/\D/g, "");
if (digits.length === 0) {
return "";
}
return digits.padStart(4, "0").slice(-4);
}
function getNaturezasJuridicas() {
return naturezas;
}
function getNaturezaJuridicaPorCodigo(codigo) {
const normalized = normalizeCodigo(codigo);
if (normalized.length !== 4) {
return void 0;
}
return naturezas.find((natureza) => natureza.codigo === normalized);
}
// src/natureza-juridica/constants.ts
var NATUREZA_JURIDICA_BASE_URL = "https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj";
var NATUREZA_JURIDICA_GOLDEN_LTDA = "2062";
var NATUREZA_JURIDICA_MIN_CODES = 85;
var NATUREZA_JURIDICA_MAX_CODES = 95;
// src/natureza-juridica/version.ts
var NATUREZA_JURIDICA_DATA_VERSION = metadata_default;
export { NATUREZA_JURIDICA_BASE_URL, NATUREZA_JURIDICA_DATA_VERSION, NATUREZA_JURIDICA_GOLDEN_LTDA, NATUREZA_JURIDICA_MAX_CODES, NATUREZA_JURIDICA_MIN_CODES, getNaturezaJuridicaPorCodigo, getNaturezasJuridicas };
//# sourceMappingURL=natureza-juridica.js.map
//# sourceMappingURL=natureza-juridica.js.map
{"version":3,"sources":["../src/natureza-juridica/data/naturezas.json","../src/natureza-juridica/lookup.ts","../src/natureza-juridica/constants.ts","../src/natureza-juridica/version.ts"],"names":[],"mappings":";;;AAAA,IAAA,iBAAA,GAAA;AAAA,EACE;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,SAAA,EAAa;AAAA;AAEjB,CAAA;;;ACjWA,IAAM,SAAA,GAAyC,iBAAA;AAE/C,SAAS,gBAAgB,MAAA,EAAwB;AAC/C,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACvC,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAO,QAAA,CAAS,CAAA,EAAG,GAAG,CAAA,CAAE,MAAM,EAAE,CAAA;AACzC;AAEO,SAAS,qBAAA,GAAqD;AACnE,EAAA,OAAO,SAAA;AACT;AAEO,SAAS,6BAA6B,MAAA,EAA8C;AACzF,EAAA,MAAM,UAAA,GAAa,gBAAgB,MAAM,CAAA;AACzC,EAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG;AAC3B,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,UAAU,IAAA,CAAK,CAAC,QAAA,KAAa,QAAA,CAAS,WAAW,UAAU,CAAA;AACpE;;;AC5BO,IAAM,0BAAA,GACX;AAEK,IAAM,6BAAA,GAAgC;AACtC,IAAM,2BAAA,GAA8B;AACpC,IAAM,2BAAA,GAA8B;;;ACFpC,IAAM,8BAAA,GACX","file":"natureza-juridica.js","sourcesContent":["[\n {\n \"codigo\": \"0000\",\n \"descricao\": \"Natureza Jurídica não informada\"\n },\n {\n \"codigo\": \"1015\",\n \"descricao\": \"Órgão Público do Poder Executivo Federal\"\n },\n {\n \"codigo\": \"1023\",\n \"descricao\": \"Órgão Público do Poder Executivo Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1031\",\n \"descricao\": \"Órgão Público do Poder Executivo Municipal\"\n },\n {\n \"codigo\": \"1040\",\n \"descricao\": \"Órgão Público do Poder Legislativo Federal\"\n },\n {\n \"codigo\": \"1058\",\n \"descricao\": \"Órgão Público do Poder Legislativo Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1066\",\n \"descricao\": \"Órgão Público do Poder Legislativo Municipal\"\n },\n {\n \"codigo\": \"1074\",\n \"descricao\": \"Órgão Público do Poder Judiciário Federal\"\n },\n {\n \"codigo\": \"1082\",\n \"descricao\": \"Órgão Público do Poder Judiciário Estadual\"\n },\n {\n \"codigo\": \"1104\",\n \"descricao\": \"Autarquia Federal\"\n },\n {\n \"codigo\": \"1112\",\n \"descricao\": \"Autarquia Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1120\",\n \"descricao\": \"Autarquia Municipal\"\n },\n {\n \"codigo\": \"1139\",\n \"descricao\": \"Fundação Pública de Direito Público Federal\"\n },\n {\n \"codigo\": \"1147\",\n \"descricao\": \"Fundação Pública de Direito Público Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1155\",\n \"descricao\": \"Fundação Pública de Direito Público Municipal\"\n },\n {\n \"codigo\": \"1163\",\n \"descricao\": \"Órgão Público Autônomo Federal\"\n },\n {\n \"codigo\": \"1171\",\n \"descricao\": \"Órgão Público Autônomo Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1180\",\n \"descricao\": \"Órgão Público Autônomo Municipal\"\n },\n {\n \"codigo\": \"1198\",\n \"descricao\": \"Comissão Polinacional\"\n },\n {\n \"codigo\": \"1210\",\n \"descricao\": \"Consórcio Público de Direito Público (Associação Pública)\"\n },\n {\n \"codigo\": \"1228\",\n \"descricao\": \"Consórcio Público de Direito Privado\"\n },\n {\n \"codigo\": \"1236\",\n \"descricao\": \"Estado ou Distrito Federal\"\n },\n {\n \"codigo\": \"1244\",\n \"descricao\": \"Município\"\n },\n {\n \"codigo\": \"1252\",\n \"descricao\": \"Fundação Pública de Direito Privado Federal\"\n },\n {\n \"codigo\": \"1260\",\n \"descricao\": \"Fundação Pública de Direito Privado Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1279\",\n \"descricao\": \"Fundação Pública de Direito Privado Municipal\"\n },\n {\n \"codigo\": \"1287\",\n \"descricao\": \"Fundo Público da Administração Indireta Federal\"\n },\n {\n \"codigo\": \"1295\",\n \"descricao\": \"Fundo Público da Administração Indireta Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1309\",\n \"descricao\": \"Fundo Público da Administração Indireta Municipal\"\n },\n {\n \"codigo\": \"1317\",\n \"descricao\": \"Fundo Público da Administração Direta Federal\"\n },\n {\n \"codigo\": \"1325\",\n \"descricao\": \"Fundo Público da Administração Direta Estadual ou do Distrito Federal\"\n },\n {\n \"codigo\": \"1333\",\n \"descricao\": \"Fundo Público da Administração Direta Municipal\"\n },\n {\n \"codigo\": \"1341\",\n \"descricao\": \"União\"\n },\n {\n \"codigo\": \"2011\",\n \"descricao\": \"Empresa Pública\"\n },\n {\n \"codigo\": \"2038\",\n \"descricao\": \"Sociedade de Economia Mista\"\n },\n {\n \"codigo\": \"2046\",\n \"descricao\": \"Sociedade Anônima Aberta\"\n },\n {\n \"codigo\": \"2054\",\n \"descricao\": \"Sociedade Anônima Fechada\"\n },\n {\n \"codigo\": \"2062\",\n \"descricao\": \"Sociedade Empresária Limitada\"\n },\n {\n \"codigo\": \"2070\",\n \"descricao\": \"Sociedade Empresária em Nome Coletivo\"\n },\n {\n \"codigo\": \"2089\",\n \"descricao\": \"Sociedade Empresária em Comandita Simples\"\n },\n {\n \"codigo\": \"2097\",\n \"descricao\": \"Sociedade Empresária em Comandita por Ações\"\n },\n {\n \"codigo\": \"2100\",\n \"descricao\": \"Sociedade Mercantil de Capital e Indústria\"\n },\n {\n \"codigo\": \"2127\",\n \"descricao\": \"Sociedade em Conta de Participação\"\n },\n {\n \"codigo\": \"2135\",\n \"descricao\": \"Empresário (Individual)\"\n },\n {\n \"codigo\": \"2143\",\n \"descricao\": \"Cooperativa\"\n },\n {\n \"codigo\": \"2151\",\n \"descricao\": \"Consórcio de Sociedades\"\n },\n {\n \"codigo\": \"2160\",\n \"descricao\": \"Grupo de Sociedades\"\n },\n {\n \"codigo\": \"2178\",\n \"descricao\": \"Estabelecimento, no Brasil, de Sociedade Estrangeira\"\n },\n {\n \"codigo\": \"2194\",\n \"descricao\": \"Estabelecimento, no Brasil, de Empresa Binacional Argentino-Brasileira\"\n },\n {\n \"codigo\": \"2216\",\n \"descricao\": \"Empresa Domiciliada no Exterior\"\n },\n {\n \"codigo\": \"2224\",\n \"descricao\": \"Clube/Fundo de Investimento\"\n },\n {\n \"codigo\": \"2232\",\n \"descricao\": \"Sociedade Simples Pura\"\n },\n {\n \"codigo\": \"2240\",\n \"descricao\": \"Sociedade Simples Limitada\"\n },\n {\n \"codigo\": \"2259\",\n \"descricao\": \"Sociedade Simples em Nome Coletivo\"\n },\n {\n \"codigo\": \"2267\",\n \"descricao\": \"Sociedade Simples em Comandita Simples\"\n },\n {\n \"codigo\": \"2275\",\n \"descricao\": \"Empresa Binacional\"\n },\n {\n \"codigo\": \"2283\",\n \"descricao\": \"Consórcio de Empregadores\"\n },\n {\n \"codigo\": \"2291\",\n \"descricao\": \"Consórcio Simples\"\n },\n {\n \"codigo\": \"2305\",\n \"descricao\": \"Empresa Individual de Responsabilidade Limitada (de Natureza Empresária)\"\n },\n {\n \"codigo\": \"2313\",\n \"descricao\": \"Empresa Individual de Responsabilidade Limitada (de Natureza Simples)\"\n },\n {\n \"codigo\": \"2321\",\n \"descricao\": \"Sociedade Unipessoal de Advocacia\"\n },\n {\n \"codigo\": \"2330\",\n \"descricao\": \"Cooperativas de Consumo\"\n },\n {\n \"codigo\": \"2348\",\n \"descricao\": \"Empresa Simples de Inovação\"\n },\n {\n \"codigo\": \"3034\",\n \"descricao\": \"Serviço Notarial e Registral (Cartório)\"\n },\n {\n \"codigo\": \"3069\",\n \"descricao\": \"Fundação Privada\"\n },\n {\n \"codigo\": \"3077\",\n \"descricao\": \"Serviço Social Autônomo\"\n },\n {\n \"codigo\": \"3085\",\n \"descricao\": \"Condomínio Edilício\"\n },\n {\n \"codigo\": \"3107\",\n \"descricao\": \"Comissão de Conciliação Prévia\"\n },\n {\n \"codigo\": \"3115\",\n \"descricao\": \"Entidade de Mediação e Arbitragem\"\n },\n {\n \"codigo\": \"3131\",\n \"descricao\": \"Entidade Sindical\"\n },\n {\n \"codigo\": \"3204\",\n \"descricao\": \"Estabelecimento, no Brasil, de Fundação ou Associação Estrangeiras\"\n },\n {\n \"codigo\": \"3212\",\n \"descricao\": \"Fundação ou Associação Domiciliada no Exterior\"\n },\n {\n \"codigo\": \"3220\",\n \"descricao\": \"Organização Religiosa\"\n },\n {\n \"codigo\": \"3239\",\n \"descricao\": \"Comunidade Indígena\"\n },\n {\n \"codigo\": \"3247\",\n \"descricao\": \"Fundo Privado\"\n },\n {\n \"codigo\": \"3255\",\n \"descricao\": \"Órgão de Direção Nacional de Partido Político\"\n },\n {\n \"codigo\": \"3263\",\n \"descricao\": \"Órgão de Direção Regional de Partido Político\"\n },\n {\n \"codigo\": \"3271\",\n \"descricao\": \"Órgão de Direção Local de Partido Político\"\n },\n {\n \"codigo\": \"3280\",\n \"descricao\": \"Comitê Financeiro de Partido Político\"\n },\n {\n \"codigo\": \"3298\",\n \"descricao\": \"Frente Plebiscitária ou Referendária\"\n },\n {\n \"codigo\": \"3301\",\n \"descricao\": \"Organização Social (OS)\"\n },\n {\n \"codigo\": \"3328\",\n \"descricao\": \"Plano de Benefícios de Previdência Complementar Fechada\"\n },\n {\n \"codigo\": \"3999\",\n \"descricao\": \"Associação Privada\"\n },\n {\n \"codigo\": \"4014\",\n \"descricao\": \"Empresa Individual Imobiliária\"\n },\n {\n \"codigo\": \"4090\",\n \"descricao\": \"Candidato a Cargo Político Eletivo\"\n },\n {\n \"codigo\": \"4120\",\n \"descricao\": \"Produtor Rural (Pessoa Física)\"\n },\n {\n \"codigo\": \"5010\",\n \"descricao\": \"Organização Internacional\"\n },\n {\n \"codigo\": \"5029\",\n \"descricao\": \"Representação Diplomática Estrangeira\"\n },\n {\n \"codigo\": \"5037\",\n \"descricao\": \"Outras Instituições Extraterritoriais\"\n },\n {\n \"codigo\": \"8885\",\n \"descricao\": \"Natureza Jurídica não informada\"\n }\n]\n","/**\n * RFB CNPJ natureza jurídica lookup — offline embedded data from official open-data CSV.\n * @see https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj/\n */\n\nimport naturezasData from './data/naturezas.json';\nimport type { NaturezaJuridica } from './types.js';\n\nconst naturezas: readonly NaturezaJuridica[] = naturezasData;\n\nfunction normalizeCodigo(codigo: string): string {\n const digits = codigo.replace(/\\D/g, '');\n if (digits.length === 0) {\n return '';\n }\n return digits.padStart(4, '0').slice(-4);\n}\n\nexport function getNaturezasJuridicas(): readonly NaturezaJuridica[] {\n return naturezas;\n}\n\nexport function getNaturezaJuridicaPorCodigo(codigo: string): NaturezaJuridica | undefined {\n const normalized = normalizeCodigo(codigo);\n if (normalized.length !== 4) {\n return undefined;\n }\n return naturezas.find((natureza) => natureza.codigo === normalized);\n}\n","export const NATUREZA_JURIDICA_BASE_URL =\n 'https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj';\n\nexport const NATUREZA_JURIDICA_GOLDEN_LTDA = '2062';\nexport const NATUREZA_JURIDICA_MIN_CODES = 85;\nexport const NATUREZA_JURIDICA_MAX_CODES = 95;\n","import naturezaJuridicaMetadata from './data/metadata.json';\nimport type { NaturezaJuridicaDataVersion } from './types.js';\n\nexport const NATUREZA_JURIDICA_DATA_VERSION: NaturezaJuridicaDataVersion =\n naturezaJuridicaMetadata as NaturezaJuridicaDataVersion;\n"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Nbs {
codigo: string;
descricao: string;
}
interface NbsDataVersion {
id: 'nbs';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
nbs: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* NFSe NBS lookup — offline embedded data from official Anexo B xlsx.
* @see https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx
*/
declare function getNbsList(): readonly Nbs[];
declare function getNbsPorCodigo(codigo: string): Nbs | undefined;
declare function searchNbs(query: string, options?: {
limit?: number;
}): readonly Nbs[];
declare const NBS_XLSX_URL = "https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx/@@download/file/ANEXO_B-NBS2-LISTA_SERVICO_NACIONAL-SNNFSe.xlsx";
declare const NBS_GOLDEN_INTEGRACAO_SISTEMAS = "1.1502.50.00";
declare const NBS_MIN_CODES = 800;
declare const NBS_MAX_CODES = 950;
declare const NBS_DATA_VERSION: NbsDataVersion;
export { NBS_DATA_VERSION, NBS_GOLDEN_INTEGRACAO_SISTEMAS, NBS_MAX_CODES, NBS_MIN_CODES, NBS_XLSX_URL, type Nbs, type NbsDataVersion, getNbsList, getNbsPorCodigo, searchNbs };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface PaisBacen {
codigo: string;
nome: string;
}
interface PaisesBacenDataVersion {
id: 'paises-bacen';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
paises: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* NF-e Bacen country code lookup — offline embedded data from official NF-e table.
* @see docs/OFFICIAL-SOURCES.md#paises-bacen
*/
declare function getPaisesBacen(): readonly PaisBacen[];
declare function getPaisPorCodigoBacen(codigo: string): PaisBacen | undefined;
declare const NFE_PAISES_TABLE_URL = "http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=";
declare const PAISES_BACEN_GOLDEN_BRASIL = "1058";
declare const PAISES_BACEN_DATA_VERSION: PaisesBacenDataVersion;
export { NFE_PAISES_TABLE_URL, PAISES_BACEN_DATA_VERSION, PAISES_BACEN_GOLDEN_BRASIL, type PaisBacen, type PaisesBacenDataVersion, getPaisPorCodigoBacen, getPaisesBacen };
import { metadata_default } from './chunk-6EF7GQRS.js';
// src/paises-bacen/data/paises.json
var paises_default = [
{
codigo: "0132",
nome: "Afeganist\xE3o"
},
{
codigo: "0153",
nome: "Aland, Ilhas"
},
{
codigo: "0175",
nome: "Alb\xE2nia, Rep\xFAblica da"
},
{
codigo: "0230",
nome: "Alemanha"
},
{
codigo: "0256",
nome: "Alemanha, Rep\xFAblica Democr\xE1tica da"
},
{
codigo: "0310",
nome: "Burkina Faso"
},
{
codigo: "0370",
nome: "Andorra"
},
{
codigo: "0400",
nome: "Angola"
},
{
codigo: "0418",
nome: "Anguilla"
},
{
codigo: "0420",
nome: "Ant\xE1rtica"
},
{
codigo: "0434",
nome: "Ant\xEDgua e Barbuda"
},
{
codigo: "0477",
nome: "Antilhas Holandesas"
},
{
codigo: "0531",
nome: "Ar\xE1bia Saudita"
},
{
codigo: "0590",
nome: "Arg\xE9lia"
},
{
codigo: "0639",
nome: "Argentina"
},
{
codigo: "0647",
nome: "Arm\xEAnia, Rep\xFAblica da"
},
{
codigo: "0655",
nome: "Aruba"
},
{
codigo: "0698",
nome: "Austr\xE1lia"
},
{
codigo: "0728",
nome: "\xC1ustria"
},
{
codigo: "0736",
nome: "Azerbaij\xE3o, Rep\xFAblica do"
},
{
codigo: "0779",
nome: "Bahamas, Ilhas"
},
{
codigo: "0809",
nome: "Bahrein, Ilhas"
},
{
codigo: "0817",
nome: "Bangladesh"
},
{
codigo: "0833",
nome: "Barbados"
},
{
codigo: "0850",
nome: "Bielo-Russia (Belarus), Rep\xFAblica da"
},
{
codigo: "0876",
nome: "B\xE9lgica"
},
{
codigo: "0884",
nome: "Belize"
},
{
codigo: "0906",
nome: "Bermudas"
},
{
codigo: "0930",
nome: "Myanmar (Birm\xE2nia)"
},
{
codigo: "0973",
nome: "Bol\xEDvia"
},
{
codigo: "0981",
nome: "B\xF3snia-Herzegovina, Rep\xFAblica da"
},
{
codigo: "0990",
nome: "Bonaire, Santo Eust\xE1quio e Saba"
},
{
codigo: "1015",
nome: "Botsuana"
},
{
codigo: "1023",
nome: "Bouvet, Ilha"
},
{
codigo: "1058",
nome: "Brasil"
},
{
codigo: "1082",
nome: "Brunei"
},
{
codigo: "1112",
nome: "Bulg\xE1ria"
},
{
codigo: "1155",
nome: "Burundi"
},
{
codigo: "1198",
nome: "But\xE3o"
},
{
codigo: "1279",
nome: "Cabo Verde, Rep\xFAblica de"
},
{
codigo: "1376",
nome: "Cayman, Ilhas"
},
{
codigo: "1414",
nome: "Camboja"
},
{
codigo: "1457",
nome: "Camar\xF5es"
},
{
codigo: "1490",
nome: "Canad\xE1"
},
{
codigo: "1511",
nome: "Canarias, Ilhas"
},
{
codigo: "1538",
nome: "Cazaquist\xE3o, Rep\xFAblica do"
},
{
codigo: "1546",
nome: "Catar"
},
{
codigo: "1589",
nome: "Chile"
},
{
codigo: "1600",
nome: "China, Rep\xFAblica Popular da"
},
{
codigo: "1619",
nome: "Formosa (Taiwan) - Prov\xEDncia da China"
},
{
codigo: "1635",
nome: "Chipre"
},
{
codigo: "1651",
nome: "Cocos (Keeling), Ilhas"
},
{
codigo: "1694",
nome: "Col\xF4mbia"
},
{
codigo: "1732",
nome: "Comores, Ilhas"
},
{
codigo: "1775",
nome: "Congo"
},
{
codigo: "1830",
nome: "Cook, Ilhas"
},
{
codigo: "1872",
nome: "Cor\xE9ia (do Norte), Rep. Popular Democr\xE1tica da"
},
{
codigo: "1902",
nome: "Cor\xE9ia (do Sul), Rep\xFAblica da"
},
{
codigo: "1937",
nome: "Costa do Marfim"
},
{
codigo: "1953",
nome: "Cro\xE1cia, Rep\xFAblica da"
},
{
codigo: "1961",
nome: "Costa Rica"
},
{
codigo: "1988",
nome: "Coveite (Kuwait)"
},
{
codigo: "1996",
nome: "Cuba"
},
{
codigo: "2003",
nome: "Cura\xE7ao"
},
{
codigo: "2291",
nome: "Benim"
},
{
codigo: "2321",
nome: "Dinamarca"
},
{
codigo: "2356",
nome: "Dominica"
},
{
codigo: "2399",
nome: "Equador"
},
{
codigo: "2402",
nome: "Egito"
},
{
codigo: "2437",
nome: "Eritreia"
},
{
codigo: "2445",
nome: "Emirados \xC1rabes Unidos"
},
{
codigo: "2453",
nome: "Espanha"
},
{
codigo: "2461",
nome: "Eslov\xEAnia, Rep\xFAblica da"
},
{
codigo: "2470",
nome: "Eslovaca, Rep\xFAblica"
},
{
codigo: "2496",
nome: "Estados Unidos"
},
{
codigo: "2518",
nome: "Est\xF4nia, Rep\xFAblica da"
},
{
codigo: "2534",
nome: "Eti\xF3pia"
},
{
codigo: "2550",
nome: "Falkland (Ilhas Malvinas)"
},
{
codigo: "2593",
nome: "Feroe, Ilhas"
},
{
codigo: "2674",
nome: "Filipinas"
},
{
codigo: "2712",
nome: "Finl\xE2ndia"
},
{
codigo: "2755",
nome: "Fran\xE7a"
},
{
codigo: "2810",
nome: "Gab\xE3o"
},
{
codigo: "2852",
nome: "G\xE2mbia"
},
{
codigo: "2895",
nome: "Gana"
},
{
codigo: "2917",
nome: "Ge\xF3rgia, Rep\xFAblica da"
},
{
codigo: "2925",
nome: "Ilhas Ge\xF3rgia do Sul e Sandwich do Sul"
},
{
codigo: "2933",
nome: "Gibraltar"
},
{
codigo: "2976",
nome: "Granada"
},
{
codigo: "3018",
nome: "Gr\xE9cia"
},
{
codigo: "3050",
nome: "Groenl\xE2ndia"
},
{
codigo: "3093",
nome: "Guadalupe"
},
{
codigo: "3131",
nome: "Guam"
},
{
codigo: "3174",
nome: "Guatemala"
},
{
codigo: "3212",
nome: "Guernsey, Ilha do Canal (Inclui Alderney e Sark)"
},
{
codigo: "3255",
nome: "Guiana Francesa"
},
{
codigo: "3298",
nome: "Guin\xE9"
},
{
codigo: "3310",
nome: "Guin\xE9-Equatorial"
},
{
codigo: "3344",
nome: "Guin\xE9 Bissau"
},
{
codigo: "3379",
nome: "Guiana"
},
{
codigo: "3417",
nome: "Haiti"
},
{
codigo: "3433",
nome: "Ilha Heard e Ilhas McDonald"
},
{
codigo: "3450",
nome: "Honduras"
},
{
codigo: "3514",
nome: "Hong-Kong"
},
{
codigo: "3557",
nome: "Hungria, Rep\xFAblica da"
},
{
codigo: "3573",
nome: "I\xEAmen"
},
{
codigo: "3595",
nome: "Man, Ilha de"
},
{
codigo: "3611",
nome: "\xCDndia"
},
{
codigo: "3654",
nome: "Indon\xE9sia"
},
{
codigo: "3697",
nome: "Iraque"
},
{
codigo: "3727",
nome: "Ir\xE3, Rep\xFAblica Isl\xE2mica do"
},
{
codigo: "3751",
nome: "Irlanda"
},
{
codigo: "3794",
nome: "Isl\xE2ndia"
},
{
codigo: "3832",
nome: "Israel"
},
{
codigo: "3867",
nome: "It\xE1lia"
},
{
codigo: "3883",
nome: "S\xE9rvia e Montenegro (Iugosl\xE1via, Rep. Fed. da"
},
{
codigo: "3913",
nome: "Jamaica"
},
{
codigo: "3930",
nome: "Jersey, Ilha do Canal"
},
{
codigo: "3999",
nome: "Jap\xE3o"
},
{
codigo: "4030",
nome: "Jord\xE2nia"
},
{
codigo: "4111",
nome: "Kiribati"
},
{
codigo: "4200",
nome: "Laos, Rep\xFAblica Pop. e Democr\xE1tica do"
},
{
codigo: "4260",
nome: "Lesoto"
},
{
codigo: "4278",
nome: "Let\xF4nia, Rep\xFAblica da"
},
{
codigo: "4316",
nome: "L\xEDbano"
},
{
codigo: "4340",
nome: "Lib\xE9ria"
},
{
codigo: "4383",
nome: "L\xEDbia"
},
{
codigo: "4405",
nome: "Liechtenstein"
},
{
codigo: "4421",
nome: "Litu\xE2nia, Rep\xFAblica da"
},
{
codigo: "4456",
nome: "Luxemburgo"
},
{
codigo: "4472",
nome: "Macau"
},
{
codigo: "4499",
nome: "Maced\xF4nia, Ant. Rep. Iugoslava"
},
{
codigo: "4502",
nome: "Madagascar"
},
{
codigo: "4553",
nome: "Mal\xE1sia"
},
{
codigo: "4588",
nome: "Malavi"
},
{
codigo: "4618",
nome: "Maldivas"
},
{
codigo: "4642",
nome: "M\xE1li"
},
{
codigo: "4677",
nome: "Malta"
},
{
codigo: "4723",
nome: "Marianas do Norte"
},
{
codigo: "4740",
nome: "Marrocos"
},
{
codigo: "4766",
nome: "Marshall, Ilhas"
},
{
codigo: "4774",
nome: "Martinica"
},
{
codigo: "4855",
nome: "Maur\xEDcio"
},
{
codigo: "4880",
nome: "Maurit\xE2nia"
},
{
codigo: "4898",
nome: "Mayotte (Ilhas Francesas)"
},
{
codigo: "4936",
nome: "M\xE9xico"
},
{
codigo: "4944",
nome: "Mold\xE1via (Moldava), Rep\xFAblica da"
},
{
codigo: "4952",
nome: "M\xF4naco"
},
{
codigo: "4979",
nome: "Mong\xF3lia"
},
{
codigo: "4985",
nome: "Montenegro"
},
{
codigo: "4995",
nome: "Micron\xE9sia, Est. Fed. da"
},
{
codigo: "5010",
nome: "Monserrat, Ilhas"
},
{
codigo: "5053",
nome: "Mo\xE7ambique"
},
{
codigo: "5070",
nome: "Nam\xEDbia"
},
{
codigo: "5088",
nome: "Nauru"
},
{
codigo: "5118",
nome: "Christmas, Ilhas (Navidad)"
},
{
codigo: "5177",
nome: "Nepal"
},
{
codigo: "5215",
nome: "Nicar\xE1gua"
},
{
codigo: "5258",
nome: "Niger"
},
{
codigo: "5282",
nome: "Nig\xE9ria"
},
{
codigo: "5312",
nome: "Niue, Ilha"
},
{
codigo: "5355",
nome: "Norfolk, Ilha"
},
{
codigo: "5380",
nome: "Noruega"
},
{
codigo: "5428",
nome: "Nova Caled\xF4nia"
},
{
codigo: "5452",
nome: "Papua Nova Guin\xE9"
},
{
codigo: "5487",
nome: "Nova Zel\xE2ndia"
},
{
codigo: "5517",
nome: "Vanuatu"
},
{
codigo: "5568",
nome: "Om\xE3"
},
{
codigo: "5738",
nome: "Pa\xEDses Baixos (Holanda)"
},
{
codigo: "5754",
nome: "Palau, Rep\xFAblica do"
},
{
codigo: "5762",
nome: "Paquist\xE3o"
},
{
codigo: "5780",
nome: "Palestina"
},
{
codigo: "5800",
nome: "Panam\xE1"
},
{
codigo: "5860",
nome: "Paraguai"
},
{
codigo: "5894",
nome: "Peru"
},
{
codigo: "5932",
nome: "Pitcairn, Ilha de"
},
{
codigo: "5991",
nome: "Polin\xE9sia Francesa"
},
{
codigo: "6033",
nome: "Pol\xF4nia"
},
{
codigo: "6076",
nome: "Portugal"
},
{
codigo: "6114",
nome: "Porto Rico"
},
{
codigo: "6238",
nome: "Qu\xEAnia"
},
{
codigo: "6254",
nome: "Quirguizia, Rep\xFAblica da"
},
{
codigo: "6289",
nome: "Reino Unido"
},
{
codigo: "6408",
nome: "Rep\xFAblica Centro-Africana"
},
{
codigo: "6475",
nome: "Rep\xFAblica Dominicana"
},
{
codigo: "6602",
nome: "Reuni\xE3o, Ilha"
},
{
codigo: "6653",
nome: "Zimb\xE1bue"
},
{
codigo: "6700",
nome: "Rom\xEAnia"
},
{
codigo: "6750",
nome: "Ruanda"
},
{
codigo: "6769",
nome: "R\xFAssia, Federa\xE7\xE3o da"
},
{
codigo: "6777",
nome: "Salom\xE3o, Ilhas"
},
{
codigo: "6858",
nome: "Saara Ocidental"
},
{
codigo: "6874",
nome: "El Salvador"
},
{
codigo: "6904",
nome: "Samoa"
},
{
codigo: "6912",
nome: "Samoa Americana"
},
{
codigo: "6939",
nome: "S\xE3o Bartolomeu"
},
{
codigo: "6955",
nome: "S\xE3o Crist\xF3v\xE3o e Neves"
},
{
codigo: "6971",
nome: "San Marino"
},
{
codigo: "6980",
nome: "S\xE3o Martinho (Parte Francesa)"
},
{
codigo: "6998",
nome: "S\xE3o Martinho (Parte Holandesa)"
},
{
codigo: "7005",
nome: "S\xE3o Pedro e Miquelon"
},
{
codigo: "7056",
nome: "S\xE3o Vicente e Granadinas"
},
{
codigo: "7102",
nome: "Santa Helena"
},
{
codigo: "7153",
nome: "Santa L\xFAcia"
},
{
codigo: "7200",
nome: "S\xE3o Tom\xE9 e Pr\xEDncipe"
},
{
codigo: "7285",
nome: "Senegal"
},
{
codigo: "7315",
nome: "Seychelles"
},
{
codigo: "7358",
nome: "Serra Leoa"
},
{
codigo: "7370",
nome: "Servia"
},
{
codigo: "7412",
nome: "Cingapura"
},
{
codigo: "7447",
nome: "S\xEDria, Rep\xFAblica \xC1rabe da"
},
{
codigo: "7480",
nome: "Som\xE1lia"
},
{
codigo: "7501",
nome: "Sri-Lanka"
},
{
codigo: "7544",
nome: "Suazil\xE2ndia"
},
{
codigo: "7552",
nome: "Svalbard e Jan Mayen"
},
{
codigo: "7560",
nome: "\xC1frica do Sul"
},
{
codigo: "7595",
nome: "Sud\xE3o"
},
{
codigo: "7600",
nome: "Sud\xE3o do Sul"
},
{
codigo: "7641",
nome: "Su\xE9cia"
},
{
codigo: "7676",
nome: "Su\xED\xE7a"
},
{
codigo: "7706",
nome: "Suriname"
},
{
codigo: "7722",
nome: "Tadjiquist\xE3o, Rep\xFAblica do"
},
{
codigo: "7765",
nome: "Tail\xE2ndia"
},
{
codigo: "7803",
nome: "Tanz\xE2nia"
},
{
codigo: "7811",
nome: "Terras Austrais e Ant\xE1rticas Francesas"
},
{
codigo: "7820",
nome: "Territ\xF3rio Brit\xE2nico no Oceano \xCDndico"
},
{
codigo: "7838",
nome: "Djibuti"
},
{
codigo: "7889",
nome: "Chade"
},
{
codigo: "7919",
nome: "Tcheca, Rep\xFAblica"
},
{
codigo: "7951",
nome: "Timor Leste"
},
{
codigo: "8001",
nome: "Togo"
},
{
codigo: "8052",
nome: "Toquelau, Ilhas"
},
{
codigo: "8109",
nome: "Tonga"
},
{
codigo: "8150",
nome: "Trinidad e Tobago"
},
{
codigo: "8206",
nome: "Tun\xEDsia"
},
{
codigo: "8230",
nome: "Turcas e Caicos, Ilhas"
},
{
codigo: "8249",
nome: "Turcomenist\xE3o, Rep\xFAblica do"
},
{
codigo: "8273",
nome: "Turquia"
},
{
codigo: "8281",
nome: "Tuvalu"
},
{
codigo: "8311",
nome: "Ucr\xE2nia"
},
{
codigo: "8338",
nome: "Uganda"
},
{
codigo: "8451",
nome: "Uruguai"
},
{
codigo: "8478",
nome: "Uzbequist\xE3o, Rep\xFAblica do"
},
{
codigo: "8486",
nome: "Vaticano, Cidade do (Santa S\xE9)"
},
{
codigo: "8508",
nome: "Venezuela"
},
{
codigo: "8583",
nome: "Vietn\xE3"
},
{
codigo: "8630",
nome: "Virgens, Ilhas (Brit\xE2nicas)"
},
{
codigo: "8664",
nome: "Virgens, Ilhas (EUA)"
},
{
codigo: "8702",
nome: "Fiji"
},
{
codigo: "8753",
nome: "Wallis e Futuna, Ilhas"
},
{
codigo: "8885",
nome: "Congo, Rep\xFAblica Democr\xE1tica do"
},
{
codigo: "8907",
nome: "Z\xE2mbia"
}
];
// src/paises-bacen/lookup.ts
var paises = paises_default;
function normalizeCodigo(codigo) {
const digits = codigo.replace(/\D/g, "");
if (digits.length === 0) {
return "";
}
return digits.padStart(4, "0").slice(-4);
}
function getPaisesBacen() {
return paises;
}
function getPaisPorCodigoBacen(codigo) {
const normalized = normalizeCodigo(codigo);
if (normalized.length !== 4) {
return void 0;
}
return paises.find((pais) => pais.codigo === normalized);
}
// src/paises-bacen/constants.ts
var NFE_PAISES_TABLE_URL = "http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=";
var PAISES_BACEN_GOLDEN_BRASIL = "1058";
// src/paises-bacen/version.ts
var PAISES_BACEN_DATA_VERSION = metadata_default;
export { NFE_PAISES_TABLE_URL, PAISES_BACEN_DATA_VERSION, PAISES_BACEN_GOLDEN_BRASIL, getPaisPorCodigoBacen, getPaisesBacen };
//# sourceMappingURL=paises-bacen.js.map
//# sourceMappingURL=paises-bacen.js.map
{"version":3,"sources":["../src/paises-bacen/data/paises.json","../src/paises-bacen/lookup.ts","../src/paises-bacen/constants.ts","../src/paises-bacen/version.ts"],"names":[],"mappings":";;;AAAA,IAAA,cAAA,GAAA;AAAA,EACE;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAQ;AAAA;AAEZ,CAAA;;;ACz+BA,IAAM,MAAA,GAA+B,cAAA;AAErC,SAAS,gBAAgB,MAAA,EAAwB;AAC/C,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACvC,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAO,QAAA,CAAS,CAAA,EAAG,GAAG,CAAA,CAAE,MAAM,EAAE,CAAA;AACzC;AAEO,SAAS,cAAA,GAAuC;AACrD,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,sBAAsB,MAAA,EAAuC;AAC3E,EAAA,MAAM,UAAA,GAAa,gBAAgB,MAAM,CAAA;AACzC,EAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG;AAC3B,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAO,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,UAAU,CAAA;AACzD;;;AC5BO,IAAM,oBAAA,GACX;AAEK,IAAM,0BAAA,GAA6B;;;ACAnC,IAAM,yBAAA,GACX","file":"paises-bacen.js","sourcesContent":["[\n {\n \"codigo\": \"0132\",\n \"nome\": \"Afeganistão\"\n },\n {\n \"codigo\": \"0153\",\n \"nome\": \"Aland, Ilhas\"\n },\n {\n \"codigo\": \"0175\",\n \"nome\": \"Albânia, República da\"\n },\n {\n \"codigo\": \"0230\",\n \"nome\": \"Alemanha\"\n },\n {\n \"codigo\": \"0256\",\n \"nome\": \"Alemanha, República Democrática da\"\n },\n {\n \"codigo\": \"0310\",\n \"nome\": \"Burkina Faso\"\n },\n {\n \"codigo\": \"0370\",\n \"nome\": \"Andorra\"\n },\n {\n \"codigo\": \"0400\",\n \"nome\": \"Angola\"\n },\n {\n \"codigo\": \"0418\",\n \"nome\": \"Anguilla\"\n },\n {\n \"codigo\": \"0420\",\n \"nome\": \"Antártica\"\n },\n {\n \"codigo\": \"0434\",\n \"nome\": \"Antígua e Barbuda\"\n },\n {\n \"codigo\": \"0477\",\n \"nome\": \"Antilhas Holandesas\"\n },\n {\n \"codigo\": \"0531\",\n \"nome\": \"Arábia Saudita\"\n },\n {\n \"codigo\": \"0590\",\n \"nome\": \"Argélia\"\n },\n {\n \"codigo\": \"0639\",\n \"nome\": \"Argentina\"\n },\n {\n \"codigo\": \"0647\",\n \"nome\": \"Armênia, República da\"\n },\n {\n \"codigo\": \"0655\",\n \"nome\": \"Aruba\"\n },\n {\n \"codigo\": \"0698\",\n \"nome\": \"Austrália\"\n },\n {\n \"codigo\": \"0728\",\n \"nome\": \"Áustria\"\n },\n {\n \"codigo\": \"0736\",\n \"nome\": \"Azerbaijão, República do\"\n },\n {\n \"codigo\": \"0779\",\n \"nome\": \"Bahamas, Ilhas\"\n },\n {\n \"codigo\": \"0809\",\n \"nome\": \"Bahrein, Ilhas\"\n },\n {\n \"codigo\": \"0817\",\n \"nome\": \"Bangladesh\"\n },\n {\n \"codigo\": \"0833\",\n \"nome\": \"Barbados\"\n },\n {\n \"codigo\": \"0850\",\n \"nome\": \"Bielo-Russia (Belarus), República da\"\n },\n {\n \"codigo\": \"0876\",\n \"nome\": \"Bélgica\"\n },\n {\n \"codigo\": \"0884\",\n \"nome\": \"Belize\"\n },\n {\n \"codigo\": \"0906\",\n \"nome\": \"Bermudas\"\n },\n {\n \"codigo\": \"0930\",\n \"nome\": \"Myanmar (Birmânia)\"\n },\n {\n \"codigo\": \"0973\",\n \"nome\": \"Bolívia\"\n },\n {\n \"codigo\": \"0981\",\n \"nome\": \"Bósnia-Herzegovina, República da\"\n },\n {\n \"codigo\": \"0990\",\n \"nome\": \"Bonaire, Santo Eustáquio e Saba\"\n },\n {\n \"codigo\": \"1015\",\n \"nome\": \"Botsuana\"\n },\n {\n \"codigo\": \"1023\",\n \"nome\": \"Bouvet, Ilha\"\n },\n {\n \"codigo\": \"1058\",\n \"nome\": \"Brasil\"\n },\n {\n \"codigo\": \"1082\",\n \"nome\": \"Brunei\"\n },\n {\n \"codigo\": \"1112\",\n \"nome\": \"Bulgária\"\n },\n {\n \"codigo\": \"1155\",\n \"nome\": \"Burundi\"\n },\n {\n \"codigo\": \"1198\",\n \"nome\": \"Butão\"\n },\n {\n \"codigo\": \"1279\",\n \"nome\": \"Cabo Verde, República de\"\n },\n {\n \"codigo\": \"1376\",\n \"nome\": \"Cayman, Ilhas\"\n },\n {\n \"codigo\": \"1414\",\n \"nome\": \"Camboja\"\n },\n {\n \"codigo\": \"1457\",\n \"nome\": \"Camarões\"\n },\n {\n \"codigo\": \"1490\",\n \"nome\": \"Canadá\"\n },\n {\n \"codigo\": \"1511\",\n \"nome\": \"Canarias, Ilhas\"\n },\n {\n \"codigo\": \"1538\",\n \"nome\": \"Cazaquistão, República do\"\n },\n {\n \"codigo\": \"1546\",\n \"nome\": \"Catar\"\n },\n {\n \"codigo\": \"1589\",\n \"nome\": \"Chile\"\n },\n {\n \"codigo\": \"1600\",\n \"nome\": \"China, República Popular da\"\n },\n {\n \"codigo\": \"1619\",\n \"nome\": \"Formosa (Taiwan) - Província da China\"\n },\n {\n \"codigo\": \"1635\",\n \"nome\": \"Chipre\"\n },\n {\n \"codigo\": \"1651\",\n \"nome\": \"Cocos (Keeling), Ilhas\"\n },\n {\n \"codigo\": \"1694\",\n \"nome\": \"Colômbia\"\n },\n {\n \"codigo\": \"1732\",\n \"nome\": \"Comores, Ilhas\"\n },\n {\n \"codigo\": \"1775\",\n \"nome\": \"Congo\"\n },\n {\n \"codigo\": \"1830\",\n \"nome\": \"Cook, Ilhas\"\n },\n {\n \"codigo\": \"1872\",\n \"nome\": \"Coréia (do Norte), Rep. Popular Democrática da\"\n },\n {\n \"codigo\": \"1902\",\n \"nome\": \"Coréia (do Sul), República da\"\n },\n {\n \"codigo\": \"1937\",\n \"nome\": \"Costa do Marfim\"\n },\n {\n \"codigo\": \"1953\",\n \"nome\": \"Croácia, República da\"\n },\n {\n \"codigo\": \"1961\",\n \"nome\": \"Costa Rica\"\n },\n {\n \"codigo\": \"1988\",\n \"nome\": \"Coveite (Kuwait)\"\n },\n {\n \"codigo\": \"1996\",\n \"nome\": \"Cuba\"\n },\n {\n \"codigo\": \"2003\",\n \"nome\": \"Curaçao\"\n },\n {\n \"codigo\": \"2291\",\n \"nome\": \"Benim\"\n },\n {\n \"codigo\": \"2321\",\n \"nome\": \"Dinamarca\"\n },\n {\n \"codigo\": \"2356\",\n \"nome\": \"Dominica\"\n },\n {\n \"codigo\": \"2399\",\n \"nome\": \"Equador\"\n },\n {\n \"codigo\": \"2402\",\n \"nome\": \"Egito\"\n },\n {\n \"codigo\": \"2437\",\n \"nome\": \"Eritreia\"\n },\n {\n \"codigo\": \"2445\",\n \"nome\": \"Emirados Árabes Unidos\"\n },\n {\n \"codigo\": \"2453\",\n \"nome\": \"Espanha\"\n },\n {\n \"codigo\": \"2461\",\n \"nome\": \"Eslovênia, República da\"\n },\n {\n \"codigo\": \"2470\",\n \"nome\": \"Eslovaca, República\"\n },\n {\n \"codigo\": \"2496\",\n \"nome\": \"Estados Unidos\"\n },\n {\n \"codigo\": \"2518\",\n \"nome\": \"Estônia, República da\"\n },\n {\n \"codigo\": \"2534\",\n \"nome\": \"Etiópia\"\n },\n {\n \"codigo\": \"2550\",\n \"nome\": \"Falkland (Ilhas Malvinas)\"\n },\n {\n \"codigo\": \"2593\",\n \"nome\": \"Feroe, Ilhas\"\n },\n {\n \"codigo\": \"2674\",\n \"nome\": \"Filipinas\"\n },\n {\n \"codigo\": \"2712\",\n \"nome\": \"Finlândia\"\n },\n {\n \"codigo\": \"2755\",\n \"nome\": \"França\"\n },\n {\n \"codigo\": \"2810\",\n \"nome\": \"Gabão\"\n },\n {\n \"codigo\": \"2852\",\n \"nome\": \"Gâmbia\"\n },\n {\n \"codigo\": \"2895\",\n \"nome\": \"Gana\"\n },\n {\n \"codigo\": \"2917\",\n \"nome\": \"Geórgia, República da\"\n },\n {\n \"codigo\": \"2925\",\n \"nome\": \"Ilhas Geórgia do Sul e Sandwich do Sul\"\n },\n {\n \"codigo\": \"2933\",\n \"nome\": \"Gibraltar\"\n },\n {\n \"codigo\": \"2976\",\n \"nome\": \"Granada\"\n },\n {\n \"codigo\": \"3018\",\n \"nome\": \"Grécia\"\n },\n {\n \"codigo\": \"3050\",\n \"nome\": \"Groenlândia\"\n },\n {\n \"codigo\": \"3093\",\n \"nome\": \"Guadalupe\"\n },\n {\n \"codigo\": \"3131\",\n \"nome\": \"Guam\"\n },\n {\n \"codigo\": \"3174\",\n \"nome\": \"Guatemala\"\n },\n {\n \"codigo\": \"3212\",\n \"nome\": \"Guernsey, Ilha do Canal (Inclui Alderney e Sark)\"\n },\n {\n \"codigo\": \"3255\",\n \"nome\": \"Guiana Francesa\"\n },\n {\n \"codigo\": \"3298\",\n \"nome\": \"Guiné\"\n },\n {\n \"codigo\": \"3310\",\n \"nome\": \"Guiné-Equatorial\"\n },\n {\n \"codigo\": \"3344\",\n \"nome\": \"Guiné Bissau\"\n },\n {\n \"codigo\": \"3379\",\n \"nome\": \"Guiana\"\n },\n {\n \"codigo\": \"3417\",\n \"nome\": \"Haiti\"\n },\n {\n \"codigo\": \"3433\",\n \"nome\": \"Ilha Heard e Ilhas McDonald\"\n },\n {\n \"codigo\": \"3450\",\n \"nome\": \"Honduras\"\n },\n {\n \"codigo\": \"3514\",\n \"nome\": \"Hong-Kong\"\n },\n {\n \"codigo\": \"3557\",\n \"nome\": \"Hungria, República da\"\n },\n {\n \"codigo\": \"3573\",\n \"nome\": \"Iêmen\"\n },\n {\n \"codigo\": \"3595\",\n \"nome\": \"Man, Ilha de\"\n },\n {\n \"codigo\": \"3611\",\n \"nome\": \"Índia\"\n },\n {\n \"codigo\": \"3654\",\n \"nome\": \"Indonésia\"\n },\n {\n \"codigo\": \"3697\",\n \"nome\": \"Iraque\"\n },\n {\n \"codigo\": \"3727\",\n \"nome\": \"Irã, República Islâmica do\"\n },\n {\n \"codigo\": \"3751\",\n \"nome\": \"Irlanda\"\n },\n {\n \"codigo\": \"3794\",\n \"nome\": \"Islândia\"\n },\n {\n \"codigo\": \"3832\",\n \"nome\": \"Israel\"\n },\n {\n \"codigo\": \"3867\",\n \"nome\": \"Itália\"\n },\n {\n \"codigo\": \"3883\",\n \"nome\": \"Sérvia e Montenegro (Iugoslávia, Rep. Fed. da\"\n },\n {\n \"codigo\": \"3913\",\n \"nome\": \"Jamaica\"\n },\n {\n \"codigo\": \"3930\",\n \"nome\": \"Jersey, Ilha do Canal\"\n },\n {\n \"codigo\": \"3999\",\n \"nome\": \"Japão\"\n },\n {\n \"codigo\": \"4030\",\n \"nome\": \"Jordânia\"\n },\n {\n \"codigo\": \"4111\",\n \"nome\": \"Kiribati\"\n },\n {\n \"codigo\": \"4200\",\n \"nome\": \"Laos, República Pop. e Democrática do\"\n },\n {\n \"codigo\": \"4260\",\n \"nome\": \"Lesoto\"\n },\n {\n \"codigo\": \"4278\",\n \"nome\": \"Letônia, República da\"\n },\n {\n \"codigo\": \"4316\",\n \"nome\": \"Líbano\"\n },\n {\n \"codigo\": \"4340\",\n \"nome\": \"Libéria\"\n },\n {\n \"codigo\": \"4383\",\n \"nome\": \"Líbia\"\n },\n {\n \"codigo\": \"4405\",\n \"nome\": \"Liechtenstein\"\n },\n {\n \"codigo\": \"4421\",\n \"nome\": \"Lituânia, República da\"\n },\n {\n \"codigo\": \"4456\",\n \"nome\": \"Luxemburgo\"\n },\n {\n \"codigo\": \"4472\",\n \"nome\": \"Macau\"\n },\n {\n \"codigo\": \"4499\",\n \"nome\": \"Macedônia, Ant. Rep. Iugoslava\"\n },\n {\n \"codigo\": \"4502\",\n \"nome\": \"Madagascar\"\n },\n {\n \"codigo\": \"4553\",\n \"nome\": \"Malásia\"\n },\n {\n \"codigo\": \"4588\",\n \"nome\": \"Malavi\"\n },\n {\n \"codigo\": \"4618\",\n \"nome\": \"Maldivas\"\n },\n {\n \"codigo\": \"4642\",\n \"nome\": \"Máli\"\n },\n {\n \"codigo\": \"4677\",\n \"nome\": \"Malta\"\n },\n {\n \"codigo\": \"4723\",\n \"nome\": \"Marianas do Norte\"\n },\n {\n \"codigo\": \"4740\",\n \"nome\": \"Marrocos\"\n },\n {\n \"codigo\": \"4766\",\n \"nome\": \"Marshall, Ilhas\"\n },\n {\n \"codigo\": \"4774\",\n \"nome\": \"Martinica\"\n },\n {\n \"codigo\": \"4855\",\n \"nome\": \"Maurício\"\n },\n {\n \"codigo\": \"4880\",\n \"nome\": \"Mauritânia\"\n },\n {\n \"codigo\": \"4898\",\n \"nome\": \"Mayotte (Ilhas Francesas)\"\n },\n {\n \"codigo\": \"4936\",\n \"nome\": \"México\"\n },\n {\n \"codigo\": \"4944\",\n \"nome\": \"Moldávia (Moldava), República da\"\n },\n {\n \"codigo\": \"4952\",\n \"nome\": \"Mônaco\"\n },\n {\n \"codigo\": \"4979\",\n \"nome\": \"Mongólia\"\n },\n {\n \"codigo\": \"4985\",\n \"nome\": \"Montenegro\"\n },\n {\n \"codigo\": \"4995\",\n \"nome\": \"Micronésia, Est. Fed. da\"\n },\n {\n \"codigo\": \"5010\",\n \"nome\": \"Monserrat, Ilhas\"\n },\n {\n \"codigo\": \"5053\",\n \"nome\": \"Moçambique\"\n },\n {\n \"codigo\": \"5070\",\n \"nome\": \"Namíbia\"\n },\n {\n \"codigo\": \"5088\",\n \"nome\": \"Nauru\"\n },\n {\n \"codigo\": \"5118\",\n \"nome\": \"Christmas, Ilhas (Navidad)\"\n },\n {\n \"codigo\": \"5177\",\n \"nome\": \"Nepal\"\n },\n {\n \"codigo\": \"5215\",\n \"nome\": \"Nicarágua\"\n },\n {\n \"codigo\": \"5258\",\n \"nome\": \"Niger\"\n },\n {\n \"codigo\": \"5282\",\n \"nome\": \"Nigéria\"\n },\n {\n \"codigo\": \"5312\",\n \"nome\": \"Niue, Ilha\"\n },\n {\n \"codigo\": \"5355\",\n \"nome\": \"Norfolk, Ilha\"\n },\n {\n \"codigo\": \"5380\",\n \"nome\": \"Noruega\"\n },\n {\n \"codigo\": \"5428\",\n \"nome\": \"Nova Caledônia\"\n },\n {\n \"codigo\": \"5452\",\n \"nome\": \"Papua Nova Guiné\"\n },\n {\n \"codigo\": \"5487\",\n \"nome\": \"Nova Zelândia\"\n },\n {\n \"codigo\": \"5517\",\n \"nome\": \"Vanuatu\"\n },\n {\n \"codigo\": \"5568\",\n \"nome\": \"Omã\"\n },\n {\n \"codigo\": \"5738\",\n \"nome\": \"Países Baixos (Holanda)\"\n },\n {\n \"codigo\": \"5754\",\n \"nome\": \"Palau, República do\"\n },\n {\n \"codigo\": \"5762\",\n \"nome\": \"Paquistão\"\n },\n {\n \"codigo\": \"5780\",\n \"nome\": \"Palestina\"\n },\n {\n \"codigo\": \"5800\",\n \"nome\": \"Panamá\"\n },\n {\n \"codigo\": \"5860\",\n \"nome\": \"Paraguai\"\n },\n {\n \"codigo\": \"5894\",\n \"nome\": \"Peru\"\n },\n {\n \"codigo\": \"5932\",\n \"nome\": \"Pitcairn, Ilha de\"\n },\n {\n \"codigo\": \"5991\",\n \"nome\": \"Polinésia Francesa\"\n },\n {\n \"codigo\": \"6033\",\n \"nome\": \"Polônia\"\n },\n {\n \"codigo\": \"6076\",\n \"nome\": \"Portugal\"\n },\n {\n \"codigo\": \"6114\",\n \"nome\": \"Porto Rico\"\n },\n {\n \"codigo\": \"6238\",\n \"nome\": \"Quênia\"\n },\n {\n \"codigo\": \"6254\",\n \"nome\": \"Quirguizia, República da\"\n },\n {\n \"codigo\": \"6289\",\n \"nome\": \"Reino Unido\"\n },\n {\n \"codigo\": \"6408\",\n \"nome\": \"República Centro-Africana\"\n },\n {\n \"codigo\": \"6475\",\n \"nome\": \"República Dominicana\"\n },\n {\n \"codigo\": \"6602\",\n \"nome\": \"Reunião, Ilha\"\n },\n {\n \"codigo\": \"6653\",\n \"nome\": \"Zimbábue\"\n },\n {\n \"codigo\": \"6700\",\n \"nome\": \"Romênia\"\n },\n {\n \"codigo\": \"6750\",\n \"nome\": \"Ruanda\"\n },\n {\n \"codigo\": \"6769\",\n \"nome\": \"Rússia, Federação da\"\n },\n {\n \"codigo\": \"6777\",\n \"nome\": \"Salomão, Ilhas\"\n },\n {\n \"codigo\": \"6858\",\n \"nome\": \"Saara Ocidental\"\n },\n {\n \"codigo\": \"6874\",\n \"nome\": \"El Salvador\"\n },\n {\n \"codigo\": \"6904\",\n \"nome\": \"Samoa\"\n },\n {\n \"codigo\": \"6912\",\n \"nome\": \"Samoa Americana\"\n },\n {\n \"codigo\": \"6939\",\n \"nome\": \"São Bartolomeu\"\n },\n {\n \"codigo\": \"6955\",\n \"nome\": \"São Cristóvão e Neves\"\n },\n {\n \"codigo\": \"6971\",\n \"nome\": \"San Marino\"\n },\n {\n \"codigo\": \"6980\",\n \"nome\": \"São Martinho (Parte Francesa)\"\n },\n {\n \"codigo\": \"6998\",\n \"nome\": \"São Martinho (Parte Holandesa)\"\n },\n {\n \"codigo\": \"7005\",\n \"nome\": \"São Pedro e Miquelon\"\n },\n {\n \"codigo\": \"7056\",\n \"nome\": \"São Vicente e Granadinas\"\n },\n {\n \"codigo\": \"7102\",\n \"nome\": \"Santa Helena\"\n },\n {\n \"codigo\": \"7153\",\n \"nome\": \"Santa Lúcia\"\n },\n {\n \"codigo\": \"7200\",\n \"nome\": \"São Tomé e Príncipe\"\n },\n {\n \"codigo\": \"7285\",\n \"nome\": \"Senegal\"\n },\n {\n \"codigo\": \"7315\",\n \"nome\": \"Seychelles\"\n },\n {\n \"codigo\": \"7358\",\n \"nome\": \"Serra Leoa\"\n },\n {\n \"codigo\": \"7370\",\n \"nome\": \"Servia\"\n },\n {\n \"codigo\": \"7412\",\n \"nome\": \"Cingapura\"\n },\n {\n \"codigo\": \"7447\",\n \"nome\": \"Síria, República Árabe da\"\n },\n {\n \"codigo\": \"7480\",\n \"nome\": \"Somália\"\n },\n {\n \"codigo\": \"7501\",\n \"nome\": \"Sri-Lanka\"\n },\n {\n \"codigo\": \"7544\",\n \"nome\": \"Suazilândia\"\n },\n {\n \"codigo\": \"7552\",\n \"nome\": \"Svalbard e Jan Mayen\"\n },\n {\n \"codigo\": \"7560\",\n \"nome\": \"África do Sul\"\n },\n {\n \"codigo\": \"7595\",\n \"nome\": \"Sudão\"\n },\n {\n \"codigo\": \"7600\",\n \"nome\": \"Sudão do Sul\"\n },\n {\n \"codigo\": \"7641\",\n \"nome\": \"Suécia\"\n },\n {\n \"codigo\": \"7676\",\n \"nome\": \"Suíça\"\n },\n {\n \"codigo\": \"7706\",\n \"nome\": \"Suriname\"\n },\n {\n \"codigo\": \"7722\",\n \"nome\": \"Tadjiquistão, República do\"\n },\n {\n \"codigo\": \"7765\",\n \"nome\": \"Tailândia\"\n },\n {\n \"codigo\": \"7803\",\n \"nome\": \"Tanzânia\"\n },\n {\n \"codigo\": \"7811\",\n \"nome\": \"Terras Austrais e Antárticas Francesas\"\n },\n {\n \"codigo\": \"7820\",\n \"nome\": \"Território Britânico no Oceano Índico\"\n },\n {\n \"codigo\": \"7838\",\n \"nome\": \"Djibuti\"\n },\n {\n \"codigo\": \"7889\",\n \"nome\": \"Chade\"\n },\n {\n \"codigo\": \"7919\",\n \"nome\": \"Tcheca, República\"\n },\n {\n \"codigo\": \"7951\",\n \"nome\": \"Timor Leste\"\n },\n {\n \"codigo\": \"8001\",\n \"nome\": \"Togo\"\n },\n {\n \"codigo\": \"8052\",\n \"nome\": \"Toquelau, Ilhas\"\n },\n {\n \"codigo\": \"8109\",\n \"nome\": \"Tonga\"\n },\n {\n \"codigo\": \"8150\",\n \"nome\": \"Trinidad e Tobago\"\n },\n {\n \"codigo\": \"8206\",\n \"nome\": \"Tunísia\"\n },\n {\n \"codigo\": \"8230\",\n \"nome\": \"Turcas e Caicos, Ilhas\"\n },\n {\n \"codigo\": \"8249\",\n \"nome\": \"Turcomenistão, República do\"\n },\n {\n \"codigo\": \"8273\",\n \"nome\": \"Turquia\"\n },\n {\n \"codigo\": \"8281\",\n \"nome\": \"Tuvalu\"\n },\n {\n \"codigo\": \"8311\",\n \"nome\": \"Ucrânia\"\n },\n {\n \"codigo\": \"8338\",\n \"nome\": \"Uganda\"\n },\n {\n \"codigo\": \"8451\",\n \"nome\": \"Uruguai\"\n },\n {\n \"codigo\": \"8478\",\n \"nome\": \"Uzbequistão, República do\"\n },\n {\n \"codigo\": \"8486\",\n \"nome\": \"Vaticano, Cidade do (Santa Sé)\"\n },\n {\n \"codigo\": \"8508\",\n \"nome\": \"Venezuela\"\n },\n {\n \"codigo\": \"8583\",\n \"nome\": \"Vietnã\"\n },\n {\n \"codigo\": \"8630\",\n \"nome\": \"Virgens, Ilhas (Britânicas)\"\n },\n {\n \"codigo\": \"8664\",\n \"nome\": \"Virgens, Ilhas (EUA)\"\n },\n {\n \"codigo\": \"8702\",\n \"nome\": \"Fiji\"\n },\n {\n \"codigo\": \"8753\",\n \"nome\": \"Wallis e Futuna, Ilhas\"\n },\n {\n \"codigo\": \"8885\",\n \"nome\": \"Congo, República Democrática do\"\n },\n {\n \"codigo\": \"8907\",\n \"nome\": \"Zâmbia\"\n }\n]\n","/**\n * NF-e Bacen country code lookup — offline embedded data from official NF-e table.\n * @see docs/OFFICIAL-SOURCES.md#paises-bacen\n */\n\nimport paisesData from './data/paises.json';\nimport type { PaisBacen } from './types.js';\n\nconst paises: readonly PaisBacen[] = paisesData;\n\nfunction normalizeCodigo(codigo: string): string {\n const digits = codigo.replace(/\\D/g, '');\n if (digits.length === 0) {\n return '';\n }\n return digits.padStart(4, '0').slice(-4);\n}\n\nexport function getPaisesBacen(): readonly PaisBacen[] {\n return paises;\n}\n\nexport function getPaisPorCodigoBacen(codigo: string): PaisBacen | undefined {\n const normalized = normalizeCodigo(codigo);\n if (normalized.length !== 4) {\n return undefined;\n }\n return paises.find((pais) => pais.codigo === normalized);\n}\n","export const NFE_PAISES_TABLE_URL =\n 'http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=';\n\nexport const PAISES_BACEN_GOLDEN_BRASIL = '1058';\n\nexport const PAISES_BACEN_MIN_PAISES = 240;\nexport const PAISES_BACEN_MAX_PAISES = 270;\n","import paisesMetadata from './data/metadata.json';\nimport type { PaisesBacenDataVersion } from './types.js';\n\nexport const PAISES_BACEN_DATA_VERSION: PaisesBacenDataVersion =\n paisesMetadata as PaisesBacenDataVersion;\n"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface PncpReferenceItem {
id: number;
nome: string;
descricao: string;
ativo: boolean;
}
type PncpReferenceTableId = 'modalidades' | 'amparos-legais' | 'modos-disputa' | 'tipos-instrumentos-convocatorios' | 'tipos-contrato' | 'criterios-julgamento' | 'tipos-instrumentos-cobranca' | 'fontes-orcamentarias';
interface PncpReferenceDataVersion {
id: 'pncp-reference';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: Record<string, number>;
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* PNCP domain reference lookup — offline embedded tables from Cadastro API.
* @see docs/OFFICIAL-SOURCES.md#pncp-reference
*/
declare function getPncpReferenceTable(tableId: PncpReferenceTableId): readonly PncpReferenceItem[];
declare function getPncpReferenceItem(tableId: PncpReferenceTableId, id: number | string): PncpReferenceItem | undefined;
declare function getPncpModalidades(): readonly PncpReferenceItem[];
declare function getPncpModalidadePorId(id: number | string): PncpReferenceItem | undefined;
declare function getPncpAmparosLegais(): readonly PncpReferenceItem[];
declare function getPncpAmparoLegalPorId(id: number | string): PncpReferenceItem | undefined;
declare function searchPncpReference(tableId: PncpReferenceTableId, query: string, options?: {
limit?: number;
}): readonly PncpReferenceItem[];
/**
* Normalize CNPJ for PNCP adapter queries — delegates to core strip helper.
* @see docs/ADAPTERS-PNCP-RFC.md
*/
declare function normalizePncpCnpj(input: string): string;
declare const PNCP_CADASTRO_BASE_URL = "https://pncp.gov.br/api/pncp/v1";
declare const PNCP_CADASTRO_OPENAPI_URL = "https://pncp.gov.br/api/pncp/v3/api-docs";
declare const PNCP_OPENAPI_URL = "https://pncp.gov.br/api/pncp/v3/api-docs";
declare const PNCP_CONSULTA_BASE_URL = "https://pncp.gov.br/api/consulta";
declare const PNCP_CONSULTA_OPENAPI_URL = "https://pncp.gov.br/api/consulta/v3/api-docs";
declare const PNCP_CONSULTA_SWAGGER_URL = "https://pncp.gov.br/api/consulta/swagger-ui/index.html";
declare const PNCP_GOLDEN_MODALIDADE_ID = 6;
declare const PNCP_GOLDEN_MODALIDADE_NAME = "Preg\u00E3o - Eletr\u00F4nico";
declare const PNCP_ADAPTER_PACKAGE = "@br-validators/adapters-pncp";
declare const PNCP_REFERENCE_DATA_VERSION: PncpReferenceDataVersion;
export { PNCP_ADAPTER_PACKAGE, PNCP_CADASTRO_BASE_URL, PNCP_CADASTRO_OPENAPI_URL, PNCP_CONSULTA_BASE_URL, PNCP_CONSULTA_OPENAPI_URL, PNCP_CONSULTA_SWAGGER_URL, PNCP_GOLDEN_MODALIDADE_ID, PNCP_GOLDEN_MODALIDADE_NAME, PNCP_OPENAPI_URL, PNCP_REFERENCE_DATA_VERSION, type PncpReferenceDataVersion, type PncpReferenceItem, type PncpReferenceTableId, getPncpAmparoLegalPorId, getPncpAmparosLegais, getPncpModalidadePorId, getPncpModalidades, getPncpReferenceItem, getPncpReferenceTable, normalizePncpCnpj, searchPncpReference };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface Porto {
codigo: string;
nome: string;
tipo: string;
situacao: string;
uf: string;
municipioNome: string;
municipioIbge: number | null;
latitude: number | null;
longitude: number | null;
}
interface PortosDataVersion {
id: 'portos';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
portos: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* ANTAQ port installations lookup — offline embedded data from official open-data xlsx.
* @see docs/OFFICIAL-SOURCES.md#portos
*/
declare function getPortos(): readonly Porto[];
declare function getPortoPorCodigo(codigo: string): Porto | undefined;
declare function getPortosPorMunicipio(ibgeCodigo: number): readonly Porto[];
declare function searchPortos(query: string, options?: {
limit?: number;
}): readonly Porto[];
declare const ANTAQ_PORTOS_ZIP_URL = "https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip";
declare const PORTOS_GOLDEN_SANTOS = "BRSSZ";
declare const PORTOS_MIN_COUNT = 800;
declare const PORTOS_MAX_COUNT = 1500;
declare const PORTOS_DATA_VERSION: PortosDataVersion;
export { ANTAQ_PORTOS_ZIP_URL, PORTOS_DATA_VERSION, PORTOS_GOLDEN_SANTOS, PORTOS_MAX_COUNT, PORTOS_MIN_COUNT, type Porto, type PortosDataVersion, getPortoPorCodigo, getPortos, getPortosPorMunicipio, searchPortos };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
type TransparenciaDeliveryMode = 'query-adapter' | 'bulk-embed-candidate' | 'out-of-scope';
interface TransparenciaEndpoint {
id: string;
path: string;
domain: string;
delivery: TransparenciaDeliveryMode;
description: string;
}
interface TransparenciaSnapshotsRegistry {
capturadoEm: string;
swaggerOk: boolean;
openapiOk: boolean;
cadastroUrl: string;
adapterPackage: string;
endpoints: readonly TransparenciaEndpoint[];
}
interface TransparenciaSnapshotsDataVersion {
id: 'transparencia-snapshots';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
endpoints: number;
queryAdapter: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* Portal da Transparência endpoint registry — offline metadata (no live API in core).
* @see docs/OFFICIAL-SOURCES.md#portal-transparencia
*/
declare function getTransparenciaRegistry(): TransparenciaSnapshotsRegistry;
declare function getTransparenciaEndpoints(): readonly TransparenciaEndpoint[];
declare function getTransparenciaEndpointPorId(id: string): TransparenciaEndpoint | undefined;
declare function getTransparenciaEndpointsPorDominio(domain: string): readonly TransparenciaEndpoint[];
declare function getTransparenciaQueryAdapterEndpoints(): readonly TransparenciaEndpoint[];
/**
* Normalize identifiers for Transparência adapter queries — delegates to core strip helpers.
* @see docs/ADAPTERS-TRANSPARENCIA-RFC.md
*/
declare function normalizeTransparenciaCpf(input: string): string;
declare function normalizeTransparenciaCnpj(input: string): string;
declare const TRANSPARENCIA_SWAGGER_URL = "https://api.portaldatransparencia.gov.br/swagger-ui/index.html";
declare const TRANSPARENCIA_OPENAPI_URL = "https://api.portaldatransparencia.gov.br/v3/api-docs";
declare const TRANSPARENCIA_CADASTRO_URL = "https://portaldatransparencia.gov.br/";
declare const TRANSPARENCIA_ADAPTER_PACKAGE = "@br-validators/adapters-transparencia";
declare const TRANSPARENCIA_GOLDEN_CEIS_PATH = "/api-de-dados/ceis";
declare const TRANSPARENCIA_SNAPSHOTS_DATA_VERSION: TransparenciaSnapshotsDataVersion;
export { TRANSPARENCIA_ADAPTER_PACKAGE, TRANSPARENCIA_CADASTRO_URL, TRANSPARENCIA_GOLDEN_CEIS_PATH, TRANSPARENCIA_OPENAPI_URL, TRANSPARENCIA_SNAPSHOTS_DATA_VERSION, TRANSPARENCIA_SWAGGER_URL, type TransparenciaDeliveryMode, type TransparenciaEndpoint, type TransparenciaSnapshotsDataVersion, type TransparenciaSnapshotsRegistry, getTransparenciaEndpointPorId, getTransparenciaEndpoints, getTransparenciaEndpointsPorDominio, getTransparenciaQueryAdapterEndpoints, getTransparenciaRegistry, normalizeTransparenciaCnpj, normalizeTransparenciaCpf };
import { metadata_default } from './chunk-RWO34ORS.js';
import { stripCnpj } from './chunk-EB3G4IG6.js';
import { stripCpf } from './chunk-UCJPSJN5.js';
// src/transparencia-snapshots/data/endpoints.json
var endpoints_default = {
capturadoEm: "2026-06-23T19:08:25.007Z",
swaggerOk: true,
openapiOk: true,
cadastroUrl: "https://portaldatransparencia.gov.br/",
adapterPackage: "@br-validators/adapters-transparencia",
endpoints: [
{
id: "ceis",
path: "/api-de-dados/ceis",
domain: "sanctions",
delivery: "query-adapter",
description: "Cadastro de Empresas Inid\xF4neas e Suspensas \u2014 paginated query by CNPJ/CPF"
},
{
id: "cnep",
path: "/api-de-dados/cnep",
domain: "sanctions",
delivery: "query-adapter",
description: "Cadastro Nacional de Empresas Punidas \u2014 paginated query by CNPJ/CPF"
},
{
id: "ceaf",
path: "/api-de-dados/ceaf",
domain: "sanctions",
delivery: "query-adapter",
description: "Cadastro de Expuls\xF5es da Administra\xE7\xE3o Federal \u2014 paginated query"
},
{
id: "peps",
path: "/api-de-dados/peps",
domain: "pep",
delivery: "query-adapter",
description: "Pessoas Expostas Politicamente \u2014 paginated query; no open bulk export in v1"
},
{
id: "bolsa-familia",
path: "/api-de-dados/bolsa-familia-beneficios",
domain: "social-programs",
delivery: "query-adapter",
description: "Bolsa Fam\xEDlia benefits \u2014 query by CPF/NIS; adapter only"
},
{
id: "bpc",
path: "/api-de-dados/beneficios-por-pessoa",
domain: "social-programs",
delivery: "query-adapter",
description: "BPC and related benefits \u2014 query by CPF/NIS; adapter only"
},
{
id: "auxilio-emergencial",
path: "/api-de-dados/auxilio-emergencial",
domain: "social-programs",
delivery: "query-adapter",
description: "Aux\xEDlio Emergencial \u2014 historical query by CPF/NIS; adapter only"
},
{
id: "despesas",
path: "/api-de-dados/despesas",
domain: "budget",
delivery: "out-of-scope",
description: "Federal spending \u2014 high volume; out of scope for core embed v1"
}
]
};
// src/transparencia-snapshots/lookup.ts
var registry = endpoints_default;
var endpoints = registry.endpoints;
function getTransparenciaRegistry() {
return registry;
}
function getTransparenciaEndpoints() {
return endpoints;
}
function getTransparenciaEndpointPorId(id) {
const normalized = id.trim().toLowerCase();
if (normalized.length === 0) {
return void 0;
}
return endpoints.find((endpoint) => endpoint.id === normalized);
}
function getTransparenciaEndpointsPorDominio(domain) {
const normalized = domain.trim().toLowerCase();
if (normalized.length === 0) {
return [];
}
return endpoints.filter((endpoint) => endpoint.domain === normalized);
}
function getTransparenciaQueryAdapterEndpoints() {
return endpoints.filter((endpoint) => endpoint.delivery === "query-adapter");
}
// src/transparencia-snapshots/normalize.ts
function normalizeTransparenciaCpf(input) {
return stripCpf(input);
}
function normalizeTransparenciaCnpj(input) {
return stripCnpj(input);
}
// src/transparencia-snapshots/constants.ts
var TRANSPARENCIA_SWAGGER_URL = "https://api.portaldatransparencia.gov.br/swagger-ui/index.html";
var TRANSPARENCIA_OPENAPI_URL = "https://api.portaldatransparencia.gov.br/v3/api-docs";
var TRANSPARENCIA_CADASTRO_URL = "https://portaldatransparencia.gov.br/";
var TRANSPARENCIA_ADAPTER_PACKAGE = "@br-validators/adapters-transparencia";
var TRANSPARENCIA_GOLDEN_CEIS_PATH = "/api-de-dados/ceis";
// src/transparencia-snapshots/version.ts
var TRANSPARENCIA_SNAPSHOTS_DATA_VERSION = metadata_default;
export { TRANSPARENCIA_ADAPTER_PACKAGE, TRANSPARENCIA_CADASTRO_URL, TRANSPARENCIA_GOLDEN_CEIS_PATH, TRANSPARENCIA_OPENAPI_URL, TRANSPARENCIA_SNAPSHOTS_DATA_VERSION, TRANSPARENCIA_SWAGGER_URL, getTransparenciaEndpointPorId, getTransparenciaEndpoints, getTransparenciaEndpointsPorDominio, getTransparenciaQueryAdapterEndpoints, getTransparenciaRegistry, normalizeTransparenciaCnpj, normalizeTransparenciaCpf };
//# sourceMappingURL=transparencia-snapshots.js.map
//# sourceMappingURL=transparencia-snapshots.js.map
{"version":3,"sources":["../src/transparencia-snapshots/data/endpoints.json","../src/transparencia-snapshots/lookup.ts","../src/transparencia-snapshots/normalize.ts","../src/transparencia-snapshots/constants.ts","../src/transparencia-snapshots/version.ts"],"names":[],"mappings":"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","file":"transparencia-snapshots.js","sourcesContent":["{\n \"capturadoEm\": \"2026-06-23T19:08:25.007Z\",\n \"swaggerOk\": true,\n \"openapiOk\": true,\n \"cadastroUrl\": \"https://portaldatransparencia.gov.br/\",\n \"adapterPackage\": \"@br-validators/adapters-transparencia\",\n \"endpoints\": [\n {\n \"id\": \"ceis\",\n \"path\": \"/api-de-dados/ceis\",\n \"domain\": \"sanctions\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Cadastro de Empresas Inidôneas e Suspensas — paginated query by CNPJ/CPF\"\n },\n {\n \"id\": \"cnep\",\n \"path\": \"/api-de-dados/cnep\",\n \"domain\": \"sanctions\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Cadastro Nacional de Empresas Punidas — paginated query by CNPJ/CPF\"\n },\n {\n \"id\": \"ceaf\",\n \"path\": \"/api-de-dados/ceaf\",\n \"domain\": \"sanctions\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Cadastro de Expulsões da Administração Federal — paginated query\"\n },\n {\n \"id\": \"peps\",\n \"path\": \"/api-de-dados/peps\",\n \"domain\": \"pep\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Pessoas Expostas Politicamente — paginated query; no open bulk export in v1\"\n },\n {\n \"id\": \"bolsa-familia\",\n \"path\": \"/api-de-dados/bolsa-familia-beneficios\",\n \"domain\": \"social-programs\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Bolsa Família benefits — query by CPF/NIS; adapter only\"\n },\n {\n \"id\": \"bpc\",\n \"path\": \"/api-de-dados/beneficios-por-pessoa\",\n \"domain\": \"social-programs\",\n \"delivery\": \"query-adapter\",\n \"description\": \"BPC and related benefits — query by CPF/NIS; adapter only\"\n },\n {\n \"id\": \"auxilio-emergencial\",\n \"path\": \"/api-de-dados/auxilio-emergencial\",\n \"domain\": \"social-programs\",\n \"delivery\": \"query-adapter\",\n \"description\": \"Auxílio Emergencial — historical query by CPF/NIS; adapter only\"\n },\n {\n \"id\": \"despesas\",\n \"path\": \"/api-de-dados/despesas\",\n \"domain\": \"budget\",\n \"delivery\": \"out-of-scope\",\n \"description\": \"Federal spending — high volume; out of scope for core embed v1\"\n }\n ]\n}\n","/**\n * Portal da Transparência endpoint registry — offline metadata (no live API in core).\n * @see docs/OFFICIAL-SOURCES.md#portal-transparencia\n */\n\nimport registryData from './data/endpoints.json';\nimport type { TransparenciaEndpoint, TransparenciaSnapshotsRegistry } from './types.js';\n\nconst registry = registryData as TransparenciaSnapshotsRegistry;\nconst endpoints: readonly TransparenciaEndpoint[] = registry.endpoints;\n\nexport function getTransparenciaRegistry(): TransparenciaSnapshotsRegistry {\n return registry;\n}\n\nexport function getTransparenciaEndpoints(): readonly TransparenciaEndpoint[] {\n return endpoints;\n}\n\nexport function getTransparenciaEndpointPorId(id: string): TransparenciaEndpoint | undefined {\n const normalized = id.trim().toLowerCase();\n if (normalized.length === 0) {\n return undefined;\n }\n return endpoints.find((endpoint) => endpoint.id === normalized);\n}\n\nexport function getTransparenciaEndpointsPorDominio(domain: string): readonly TransparenciaEndpoint[] {\n const normalized = domain.trim().toLowerCase();\n if (normalized.length === 0) {\n return [];\n }\n return endpoints.filter((endpoint) => endpoint.domain === normalized);\n}\n\nexport function getTransparenciaQueryAdapterEndpoints(): readonly TransparenciaEndpoint[] {\n return endpoints.filter((endpoint) => endpoint.delivery === 'query-adapter');\n}\n","/**\n * Normalize identifiers for Transparência adapter queries — delegates to core strip helpers.\n * @see docs/ADAPTERS-TRANSPARENCIA-RFC.md\n */\n\nimport { stripCnpj } from '../strip/cnpj.js';\nimport { stripCpf } from '../strip/cpf.js';\n\nexport function normalizeTransparenciaCpf(input: string): string {\n return stripCpf(input);\n}\n\nexport function normalizeTransparenciaCnpj(input: string): string {\n return stripCnpj(input);\n}\n","export const TRANSPARENCIA_SWAGGER_URL =\n 'https://api.portaldatransparencia.gov.br/swagger-ui/index.html';\n\nexport const TRANSPARENCIA_OPENAPI_URL = 'https://api.portaldatransparencia.gov.br/v3/api-docs';\n\nexport const TRANSPARENCIA_CADASTRO_URL = 'https://portaldatransparencia.gov.br/';\n\nexport const TRANSPARENCIA_ADAPTER_PACKAGE = '@br-validators/adapters-transparencia';\n\nexport const TRANSPARENCIA_GOLDEN_CEIS_PATH = '/api-de-dados/ceis';\n","import transparenciaMetadata from './data/metadata.json';\nimport type { TransparenciaSnapshotsDataVersion } from './types.js';\n\nexport const TRANSPARENCIA_SNAPSHOTS_DATA_VERSION: TransparenciaSnapshotsDataVersion =\n transparenciaMetadata as TransparenciaSnapshotsDataVersion;\n"]}
import { b as DatasetChanges, c as DatasetVerification } from './types-CBIZxgfG.js';
interface TseMunicipioMapping {
codigoTse: string;
ibgeCodigo: number;
uf: string;
nome: string;
}
interface TseMunicipiosDataVersion {
id: 'tse-municipios';
nome: string;
fonte: string;
endpoints: string[];
capturadoEm: string;
atualizadoEm: string;
contagens: {
municipios: number;
};
alteracoes: DatasetChanges;
verificacao: DatasetVerification;
documentacao: string;
}
/**
* TSE ↔ IBGE municipality cross-walk — offline embedded data from official TSE open data.
* @see docs/OFFICIAL-SOURCES.md#tse-municipios
*/
declare function getMapeamentoTseIbge(): readonly TseMunicipioMapping[];
declare function getMunicipioIbgePorCodigoTse(codigo: string): number | undefined;
declare function getCodigosTsePorMunicipio(ibgeCodigo: number): readonly string[];
declare const TSE_MUNICIPIO_IBGE_ZIP_URL = "https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip";
declare const TSE_MUNICIPIOS_GOLDEN_IBGE_SAO_PAULO = 3550308;
declare const TSE_MUNICIPIOS_GOLDEN_CODIGO_TSE_SAO_PAULO = "71072";
declare const TSE_MUNICIPIOS_DATA_VERSION: TseMunicipiosDataVersion;
export { TSE_MUNICIPIOS_DATA_VERSION, TSE_MUNICIPIOS_GOLDEN_CODIGO_TSE_SAO_PAULO, TSE_MUNICIPIOS_GOLDEN_IBGE_SAO_PAULO, TSE_MUNICIPIO_IBGE_ZIP_URL, type TseMunicipioMapping, type TseMunicipiosDataVersion, getCodigosTsePorMunicipio, getMapeamentoTseIbge, getMunicipioIbgePorCodigoTse };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

+3
-3

@@ -1,9 +0,9 @@

export { batch } from './chunk-QK27VDVB.js';
export { batch } from './chunk-NXS343IJ.js';
import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -10,0 +10,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,12 +0,12 @@

export { compare, compareRuntime } from './chunk-DYX5XSJ6.js';
import './chunk-NHFSEWO2.js';
export { compare, compareRuntime } from './chunk-X7XQRG4X.js';
import './chunk-YNUYQKUW.js';
import './chunk-GWAYWBHN.js';
import './chunk-GVK6IMBF.js';
import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -13,0 +13,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,10 +0,21 @@

import { metadata_default as metadata_default$2 } from './chunk-YOL43ZNQ.js';
import { metadata_default as metadata_default$h } from './chunk-RWO34ORS.js';
import { metadata_default as metadata_default$3 } from './chunk-7JCJGLA3.js';
import { metadata_default as metadata_default$g } from './chunk-FUYDR7JI.js';
import { metadata_default as metadata_default$f } from './chunk-ZWAYSR5K.js';
import { metadata_default as metadata_default$4 } from './chunk-O4AO4YWC.js';
import { metadata_default as metadata_default$a } from './chunk-F7IEPT22.js';
import { metadata_default as metadata_default$b } from './chunk-NTVB7R3A.js';
import { metadata_default as metadata_default$d } from './chunk-UGW266DF.js';
import { metadata_default as metadata_default$5 } from './chunk-6EF7GQRS.js';
import { metadata_default as metadata_default$7 } from './chunk-YOL43ZNQ.js';
import { metadata_default } from './chunk-WSUAPD5M.js';
import { metadata_default as metadata_default$5 } from './chunk-UGW266DF.js';
import { metadata_default as metadata_default$3 } from './chunk-5CBVZIQC.js';
import { metadata_default as metadata_default$6 } from './chunk-EKOSTVIA.js';
import { metadata_default as metadata_default$c } from './chunk-475HS4CJ.js';
import { metadata_default as metadata_default$9 } from './chunk-SC6YCHT7.js';
import { metadata_default as metadata_default$8 } from './chunk-5CBVZIQC.js';
import { metadata_default as metadata_default$2 } from './chunk-ILKF7HP7.js';
import { metadata_default as metadata_default$1 } from './chunk-WH6W3NUA.js';
import { ddd_metadata_default } from './chunk-RRVGW333.js';
import { metadata_default as metadata_default$6 } from './chunk-XQ6MMGV2.js';
import { metadata_default as metadata_default$e } from './chunk-XQ6MMGV2.js';
import { faixa_metadata_default } from './chunk-DQUMIETC.js';
import { metadata_default as metadata_default$4 } from './chunk-SC6YCHT7.js';

@@ -15,9 +26,20 @@ // src/data-catalog/registry.ts

{ id: "bancos", metadata: metadata_default$1 },
{ id: "aeroportos", metadata: metadata_default$2 },
{ id: "tse-municipios", metadata: metadata_default$3 },
{ id: "moedas", metadata: metadata_default$4 },
{ id: "paises-bacen", metadata: metadata_default$5 },
{ id: "incoterms", metadata: metadata_default$6 },
{ id: "telefone-ddd", metadata: ddd_metadata_default },
{ id: "feriados", metadata: metadata_default$2 },
{ id: "cnaes", metadata: metadata_default$3 },
{ id: "cfop", metadata: metadata_default$4 },
{ id: "ncm", metadata: metadata_default$5 },
{ id: "cbo", metadata: metadata_default$6 },
{ id: "cep-faixas", metadata: faixa_metadata_default }
{ id: "feriados", metadata: metadata_default$7 },
{ id: "cnaes", metadata: metadata_default$8 },
{ id: "cfop", metadata: metadata_default$9 },
{ id: "natureza-juridica", metadata: metadata_default$a },
{ id: "nbs", metadata: metadata_default$b },
{ id: "cest", metadata: metadata_default$c },
{ id: "ncm", metadata: metadata_default$d },
{ id: "cbo", metadata: metadata_default$e },
{ id: "cep-faixas", metadata: faixa_metadata_default },
{ id: "portos", metadata: metadata_default$f },
{ id: "pncp-reference", metadata: metadata_default$g },
{ id: "transparencia-snapshots", metadata: metadata_default$h }
];

@@ -24,0 +46,0 @@

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/data-catalog/registry.ts","../src/data-catalog/catalog.ts"],"names":["metadata_default"],"mappings":";;;;;;;;;;;AAgBO,IAAM,gBAAA,GAAoD;AAAA,EAC/D,EAAE,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAUA,gBAAAA,EAAgC;AAAA,EACxD,EAAE,EAAA,EAAI,QAAA,EAAU,QAAA,EAAUA,kBAAA,EAAkC;AAAA,EAC5D,EAAE,EAAA,EAAI,cAAA,EAAgB,QAAA,EAAU,oBAAA,EAAuC;AAAA,EACvE,EAAE,EAAA,EAAI,UAAA,EAAY,QAAA,EAAUA,kBAAAA,EAAoC;AAAA,EAChE,EAAE,EAAA,EAAI,OAAA,EAAS,QAAA,EAAUA,kBAAAA,EAAiC;AAAA,EAC1D,EAAE,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAUA,kBAAAA,EAAgC;AAAA,EACxD,EAAE,EAAA,EAAI,KAAA,EAAO,QAAA,EAAUA,kBAAAA,EAA+B;AAAA,EACtD,EAAE,EAAA,EAAI,KAAA,EAAO,QAAA,EAAUA,kBAAAA,EAA+B;AAAA,EACtD,EAAE,EAAA,EAAI,YAAA,EAAc,QAAA,EAAU,sBAAA;AAChC;;;ACvBO,SAAS,cAAA,GAA6C;AAC3D,EAAA,OAAO,gBAAA,CAAiB,GAAA,CAAI,CAAC,KAAA,KAAU,MAAM,QAAQ,CAAA;AACvD;AAEO,SAAS,mBAAmB,EAAA,EAAyC;AAC1E,EAAA,OAAO,iBAAiB,IAAA,CAAK,CAAC,UAAU,KAAA,CAAM,EAAA,KAAO,EAAE,CAAA,EAAG,QAAA;AAC5D;AAEO,IAAM,oBAAA,GAA2C;AAAA,EACtD,eAAe,gBAAA,CAAiB;AAClC","file":"data-catalog.js","sourcesContent":["import ibgeMetadata from '../ibge/data/metadata.json';\nimport bancosMetadata from '../bancos/data/metadata.json';\nimport telefoneDddMetadata from '../core/telefone/data/ddd-metadata.json';\nimport feriadosMetadata from '../feriados/data/metadata.json';\nimport cnaesMetadata from '../cnaes/data/metadata.json';\nimport cfopMetadata from '../cfop/data/metadata.json';\nimport ncmMetadata from '../ncm/data/metadata.json';\nimport cboMetadata from '../cbo/data/metadata.json';\nimport cepFaixaMetadata from '../core/cep/data/faixa-metadata.json';\nimport type { DatasetMetadata } from './types.js';\n\nexport interface DatasetRegistryEntry {\n id: string;\n metadata: DatasetMetadata;\n}\n\nexport const DATASET_REGISTRY: readonly DatasetRegistryEntry[] = [\n { id: 'ibge', metadata: ibgeMetadata as DatasetMetadata },\n { id: 'bancos', metadata: bancosMetadata as DatasetMetadata },\n { id: 'telefone-ddd', metadata: telefoneDddMetadata as DatasetMetadata },\n { id: 'feriados', metadata: feriadosMetadata as DatasetMetadata },\n { id: 'cnaes', metadata: cnaesMetadata as DatasetMetadata },\n { id: 'cfop', metadata: cfopMetadata as DatasetMetadata },\n { id: 'ncm', metadata: ncmMetadata as DatasetMetadata },\n { id: 'cbo', metadata: cboMetadata as DatasetMetadata },\n { id: 'cep-faixas', metadata: cepFaixaMetadata as DatasetMetadata },\n];\n","import { DATASET_REGISTRY } from './registry.js';\nimport type { DataCatalogVersion, DatasetMetadata } from './types.js';\n\nexport function getDataCatalog(): readonly DatasetMetadata[] {\n return DATASET_REGISTRY.map((entry) => entry.metadata);\n}\n\nexport function getDatasetMetadata(id: string): DatasetMetadata | undefined {\n return DATASET_REGISTRY.find((entry) => entry.id === id)?.metadata;\n}\n\nexport const DATA_CATALOG_VERSION: DataCatalogVersion = {\n totalDatasets: DATASET_REGISTRY.length,\n};\n"]}
{"version":3,"sources":["../src/data-catalog/registry.ts","../src/data-catalog/catalog.ts"],"names":["metadata_default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2BO,IAAM,gBAAA,GAAoD;AAAA,EAC/D,EAAE,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAUA,gBAAAA,EAAgC;AAAA,EACxD,EAAE,EAAA,EAAI,QAAA,EAAU,QAAA,EAAUA,kBAAAA,EAAkC;AAAA,EAC5D,EAAE,EAAA,EAAI,YAAA,EAAc,QAAA,EAAUA,kBAAA,EAAsC;AAAA,EACpE,EAAE,EAAA,EAAI,gBAAA,EAAkB,QAAA,EAAUA,kBAAAA,EAAyC;AAAA,EAC3E,EAAE,EAAA,EAAI,QAAA,EAAU,QAAA,EAAUA,kBAAAA,EAAkC;AAAA,EAC5D,EAAE,EAAA,EAAI,cAAA,EAAgB,QAAA,EAAUA,kBAAAA,EAAuC;AAAA,EACvE,EAAE,EAAA,EAAI,WAAA,EAAa,QAAA,EAAUA,kBAAAA,EAAqC;AAAA,EAClE,EAAE,EAAA,EAAI,cAAA,EAAgB,QAAA,EAAU,oBAAA,EAAuC;AAAA,EACvE,EAAE,EAAA,EAAI,UAAA,EAAY,QAAA,EAAUA,kBAAAA,EAAoC;AAAA,EAChE,EAAE,EAAA,EAAI,OAAA,EAAS,QAAA,EAAUA,kBAAAA,EAAiC;AAAA,EAC1D,EAAE,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAUA,kBAAAA,EAAgC;AAAA,EACxD,EAAE,EAAA,EAAI,mBAAA,EAAqB,QAAA,EAAUA,kBAAAA,EAA4C;AAAA,EACjF,EAAE,EAAA,EAAI,KAAA,EAAO,QAAA,EAAUA,kBAAAA,EAA+B;AAAA,EACtD,EAAE,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAUA,kBAAAA,EAAgC;AAAA,EACxD,EAAE,EAAA,EAAI,KAAA,EAAO,QAAA,EAAUA,kBAAAA,EAA+B;AAAA,EACtD,EAAE,EAAA,EAAI,KAAA,EAAO,QAAA,EAAUA,kBAAAA,EAA+B;AAAA,EACtD,EAAE,EAAA,EAAI,YAAA,EAAc,QAAA,EAAU,sBAAA,EAAoC;AAAA,EAClE,EAAE,EAAA,EAAI,QAAA,EAAU,QAAA,EAAUA,kBAAAA,EAAkC;AAAA,EAC5D,EAAE,EAAA,EAAI,gBAAA,EAAkB,QAAA,EAAUA,kBAAAA,EAAyC;AAAA,EAC3E,EAAE,EAAA,EAAI,yBAAA,EAA2B,QAAA,EAAUA,kBAAAA;AAC7C;;;AC7CO,SAAS,cAAA,GAA6C;AAC3D,EAAA,OAAO,gBAAA,CAAiB,GAAA,CAAI,CAAC,KAAA,KAAU,MAAM,QAAQ,CAAA;AACvD;AAEO,SAAS,mBAAmB,EAAA,EAAyC;AAC1E,EAAA,OAAO,iBAAiB,IAAA,CAAK,CAAC,UAAU,KAAA,CAAM,EAAA,KAAO,EAAE,CAAA,EAAG,QAAA;AAC5D;AAEO,IAAM,oBAAA,GAA2C;AAAA,EACtD,eAAe,gBAAA,CAAiB;AAClC","file":"data-catalog.js","sourcesContent":["import ibgeMetadata from '../ibge/data/metadata.json';\nimport bancosMetadata from '../bancos/data/metadata.json';\nimport aeroportosMetadata from '../aeroportos/data/metadata.json';\nimport tseMunicipiosMetadata from '../tse-municipios/data/metadata.json';\nimport moedasMetadata from '../moedas/data/metadata.json';\nimport paisesBacenMetadata from '../paises-bacen/data/metadata.json';\nimport incotermsMetadata from '../incoterms/data/metadata.json';\nimport telefoneDddMetadata from '../core/telefone/data/ddd-metadata.json';\nimport feriadosMetadata from '../feriados/data/metadata.json';\nimport cnaesMetadata from '../cnaes/data/metadata.json';\nimport cfopMetadata from '../cfop/data/metadata.json';\nimport naturezaJuridicaMetadata from '../natureza-juridica/data/metadata.json';\nimport nbsMetadata from '../nbs/data/metadata.json';\nimport cestMetadata from '../cest/data/metadata.json';\nimport ncmMetadata from '../ncm/data/metadata.json';\nimport cboMetadata from '../cbo/data/metadata.json';\nimport cepFaixaMetadata from '../core/cep/data/faixa-metadata.json';\nimport portosMetadata from '../portos/data/metadata.json';\nimport pncpReferenceMetadata from '../pncp-reference/data/metadata.json';\nimport transparenciaSnapshotsMetadata from '../transparencia-snapshots/data/metadata.json';\nimport type { DatasetMetadata } from './types.js';\n\nexport interface DatasetRegistryEntry {\n id: string;\n metadata: DatasetMetadata;\n}\n\nexport const DATASET_REGISTRY: readonly DatasetRegistryEntry[] = [\n { id: 'ibge', metadata: ibgeMetadata as DatasetMetadata },\n { id: 'bancos', metadata: bancosMetadata as DatasetMetadata },\n { id: 'aeroportos', metadata: aeroportosMetadata as DatasetMetadata },\n { id: 'tse-municipios', metadata: tseMunicipiosMetadata as DatasetMetadata },\n { id: 'moedas', metadata: moedasMetadata as DatasetMetadata },\n { id: 'paises-bacen', metadata: paisesBacenMetadata as DatasetMetadata },\n { id: 'incoterms', metadata: incotermsMetadata as DatasetMetadata },\n { id: 'telefone-ddd', metadata: telefoneDddMetadata as DatasetMetadata },\n { id: 'feriados', metadata: feriadosMetadata as DatasetMetadata },\n { id: 'cnaes', metadata: cnaesMetadata as DatasetMetadata },\n { id: 'cfop', metadata: cfopMetadata as DatasetMetadata },\n { id: 'natureza-juridica', metadata: naturezaJuridicaMetadata as DatasetMetadata },\n { id: 'nbs', metadata: nbsMetadata as DatasetMetadata },\n { id: 'cest', metadata: cestMetadata as DatasetMetadata },\n { id: 'ncm', metadata: ncmMetadata as DatasetMetadata },\n { id: 'cbo', metadata: cboMetadata as DatasetMetadata },\n { id: 'cep-faixas', metadata: cepFaixaMetadata as DatasetMetadata },\n { id: 'portos', metadata: portosMetadata as DatasetMetadata },\n { id: 'pncp-reference', metadata: pncpReferenceMetadata as DatasetMetadata },\n { id: 'transparencia-snapshots', metadata: transparenciaSnapshotsMetadata as DatasetMetadata },\n];\n","import { DATASET_REGISTRY } from './registry.js';\nimport type { DataCatalogVersion, DatasetMetadata } from './types.js';\n\nexport function getDataCatalog(): readonly DatasetMetadata[] {\n return DATASET_REGISTRY.map((entry) => entry.metadata);\n}\n\nexport function getDatasetMetadata(id: string): DatasetMetadata | undefined {\n return DATASET_REGISTRY.find((entry) => entry.id === id)?.metadata;\n}\n\nexport const DATA_CATALOG_VERSION: DataCatalogVersion = {\n totalDatasets: DATASET_REGISTRY.length,\n};\n"]}

@@ -1,8 +0,8 @@

export { detect } from './chunk-QB7SZS2C.js';
import './chunk-AO6UTQ4A.js';
export { detect } from './chunk-6UEXR2MQ.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -9,0 +9,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,12 +0,12 @@

export { diff } from './chunk-S4WWYHQM.js';
import './chunk-NHFSEWO2.js';
export { diff } from './chunk-VWS4AWCI.js';
import './chunk-YNUYQKUW.js';
import './chunk-GWAYWBHN.js';
import './chunk-GVK6IMBF.js';
import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -13,0 +13,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,3 +0,3 @@

export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-SKDMG3FK.js';
import './chunk-JKDU7QYP.js';
export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-Q5QBTTNC.js';
import './chunk-O3T7PUBI.js';
import './chunk-VSW3NBJQ.js';

@@ -8,3 +8,3 @@ import './chunk-JSNXKBZA.js';

import './chunk-MAM4U3UR.js';
import './chunk-O3T7PUBI.js';
import './chunk-JKDU7QYP.js';
import './chunk-54UWHK5L.js';

@@ -15,8 +15,8 @@ import './chunk-EQV33L7H.js';

import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -23,0 +23,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,2 +0,2 @@

import './chunk-4J5IMD7B.js';
import './chunk-7ULDLG4C.js';
import './chunk-P55H5YRX.js';

@@ -6,10 +6,11 @@ import './chunk-KLPONHBL.js';

import './chunk-G24G7WR5.js';
export { sanitize } from './chunk-ZTDLGGYE.js';
export { sanitize } from './chunk-ZYWBWXTJ.js';
import './chunk-ZH4RJNG7.js';
import './chunk-7ULDLG4C.js';
export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-SKDMG3FK.js';
import './chunk-MFNJTAUS.js';
import './chunk-QGMVUIDD.js';
export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime } from './chunk-ITHT54NC.js';
export { formatNfeChave } from './chunk-JKDU7QYP.js';
export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime } from './chunk-QU4HTXM5.js';
import './chunk-4J5IMD7B.js';
export { detect } from './chunk-6UEXR2MQ.js';
export { diff } from './chunk-VWS4AWCI.js';
export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate } from './chunk-Q5QBTTNC.js';
export { formatTituloEleitor } from './chunk-O3T7PUBI.js';
import { formatPisPasep } from './chunk-VSW3NBJQ.js';

@@ -23,3 +24,4 @@ export { formatPisPasep } from './chunk-VSW3NBJQ.js';

export { formatTelefone } from './chunk-MAM4U3UR.js';
export { formatTituloEleitor } from './chunk-O3T7PUBI.js';
export { formatNfeChave } from './chunk-JKDU7QYP.js';
import './chunk-MFNJTAUS.js';
export { formatIeProdutorRural } from './chunk-54UWHK5L.js';

@@ -31,19 +33,17 @@ import './chunk-Y2KUN2D3.js';

export { formatCnpj, formatCnpjAlphanumeric, formatCnpjNumeric } from './chunk-RMTHCPIV.js';
export { compare, compareRuntime } from './chunk-DYX5XSJ6.js';
export { compare, compareRuntime } from './chunk-X7XQRG4X.js';
import './chunk-YNUYQKUW.js';
import './chunk-GWAYWBHN.js';
import './chunk-GVK6IMBF.js';
import './chunk-YGA5W54J.js';
import { formatCpf } from './chunk-EN7PVDYB.js';
export { formatCpf } from './chunk-EN7PVDYB.js';
export { detect } from './chunk-QB7SZS2C.js';
export { diff } from './chunk-S4WWYHQM.js';
import './chunk-NHFSEWO2.js';
import './chunk-GWAYWBHN.js';
import './chunk-GVK6IMBF.js';
export { batch } from './chunk-QK27VDVB.js';
export { batch } from './chunk-NXS343IJ.js';
export { RENAVAM_BASE_LENGTH, RENAVAM_DV_WEIGHTS, RENAVAM_GOLDEN_DASH_INPUT, RENAVAM_GOLDEN_DV_ZERO, RENAVAM_GOLDEN_LEADING_ZEROS, RENAVAM_GOLDEN_PRIMARY, RENAVAM_GOLDEN_SECONDARY, RENAVAM_LENGTH, RENAVAM_OFFICIAL_SOURCE_URL, RENAVAM_SENATRAN_CONSULTA_URL, isValidRenavam, validateRenavam } from './chunk-NT3TNF3R.js';
export { NFE_CHAVE_BASE_LENGTH, NFE_CHAVE_DFE_PORTAL_URL, NFE_CHAVE_GOLDEN_PRIMARY, NFE_CHAVE_GOLDEN_SECONDARY, NFE_CHAVE_LENGTH, NFE_CHAVE_MOC_DV_SECTION_URL, NFE_CHAVE_MOC_ONLINE_URL, NFE_CHAVE_MOC_PDF_URL, NFE_CHAVE_MOD, NFE_CHAVE_NFCE_QR_ILLUSTRATIVE, NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL, NFE_CHAVE_NUMERIC_PATTERN, NFE_CHAVE_OFFICIAL_SOURCE_URL, NFE_CHAVE_WEIGHT_CYCLE, NFE_IBGE_UF_BY_CODE, NFE_IBGE_UF_CODES, NFE_MODELOS, NFE_MODELO_NFCE, NFE_MODELO_NFE, computeNfeChaveCheckDigit, computeNfeChaveWeightedSum, isValidNfeChave, isValidNfeChaveCheckDigit, parseNfeChave, parseNfeChaveParts, resolveNfeChaveCheckDigit, validateNfeChave } from './chunk-AO6UTQ4A.js';
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-XHDRWM46.js';
export { PIS_PASEP_GOLDEN_PRIMARY, PIS_PASEP_GOLDEN_PRIMARY_MASKED, PIS_PASEP_GOLDEN_SECONDARY, PIS_PASEP_OFFICIAL_SOURCE_URL, isValidPisPasep, stripPisPasep, validatePisPasep } from './chunk-JLCQ7MGC.js';
export { PLACA_GOLDEN_CONVERSION_FROM, PLACA_GOLDEN_CONVERSION_TO, PLACA_GOLDEN_LEGACY, PLACA_GOLDEN_MERCOSUL, PLACA_OFFICIAL_SOURCE_URL, convertPlacaToMercosul, detectPlacaFormat, isValidPlaca, isValidPlacaLegacy, isValidPlacaMercosul, validatePlaca } from './chunk-3LMDBXU6.js';
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-OOUEURR7.js';
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-XHDRWM46.js';
export { formatInscricaoEstadual, getIeOfficialSourceUrl, isValidInscricaoEstadual, stripInscricaoEstadual, validateIeDf, validateIeMt, validateIeSp, validateInscricaoEstadual } from './chunk-665E36SC.js';
export { NFE_CHAVE_BASE_LENGTH, NFE_CHAVE_DFE_PORTAL_URL, NFE_CHAVE_GOLDEN_PRIMARY, NFE_CHAVE_GOLDEN_SECONDARY, NFE_CHAVE_LENGTH, NFE_CHAVE_MOC_DV_SECTION_URL, NFE_CHAVE_MOC_ONLINE_URL, NFE_CHAVE_MOC_PDF_URL, NFE_CHAVE_MOD, NFE_CHAVE_NFCE_QR_ILLUSTRATIVE, NFE_CHAVE_NFCE_QR_ILLUSTRATIVE_URL, NFE_CHAVE_NUMERIC_PATTERN, NFE_CHAVE_OFFICIAL_SOURCE_URL, NFE_CHAVE_WEIGHT_CYCLE, NFE_IBGE_UF_BY_CODE, NFE_IBGE_UF_CODES, NFE_MODELOS, NFE_MODELO_NFCE, NFE_MODELO_NFE, computeNfeChaveCheckDigit, computeNfeChaveWeightedSum, isValidNfeChave, isValidNfeChaveCheckDigit, parseNfeChave, parseNfeChaveParts, resolveNfeChaveCheckDigit, validateNfeChave } from './chunk-AO6UTQ4A.js';
export { IE_DF_GOLDEN, IE_DF_GOLDEN_MASKED, IE_DF_OFFICIAL_SOURCE_URL, IE_MT_GOLDEN_CANONICAL, IE_MT_GOLDEN_LEGACY, IE_MT_OFFICIAL_SOURCE_URL, IE_OFFICIAL_SOURCE_URLS, IE_SP_GOLDEN, IE_SP_GOLDEN_MASKED, IE_SP_OFFICIAL_SOURCE_URL, IE_SP_RURAL_GOLDEN, IE_SP_RURAL_GOLDEN_MASKED, IE_SP_RURAL_LENGTH, IE_SP_RURAL_OFFICIAL_SOURCE_URL, IE_SUPPORTED_UFS, getIeProdutorRuralOfficialSourceUrl, isSpRuralIeInput, isValidIeProdutorRural, stripIeSpRural, stripIeSpRural as stripInscricaoEstadualProdutorRural, validateIeProdutorRural, validateIeSpRural } from './chunk-CDNOUZEI.js';

@@ -50,0 +50,0 @@ export { CNH_BASE_LENGTH, CNH_DV1_WEIGHTS, CNH_DV2_WEIGHTS, CNH_GOLDEN_DISCOUNT_CASE, CNH_GOLDEN_PRIMARY, CNH_GOLDEN_PRIMARY_DECORATED_INPUT, CNH_GOLDEN_SECONDARY, CNH_LENGTH, CNH_OFFICIAL_SOURCE_URL, CNH_SENATRAN_VALIDAR_URL, isValidCnh, validateCnh } from './chunk-VKG7UEN5.js';

@@ -1,3 +0,3 @@

export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime } from './chunk-ITHT54NC.js';
import './chunk-JKDU7QYP.js';
export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime } from './chunk-QU4HTXM5.js';
import './chunk-O3T7PUBI.js';
import './chunk-VSW3NBJQ.js';

@@ -8,3 +8,3 @@ import './chunk-JSNXKBZA.js';

import './chunk-MAM4U3UR.js';
import './chunk-O3T7PUBI.js';
import './chunk-JKDU7QYP.js';
import './chunk-54UWHK5L.js';

@@ -15,8 +15,8 @@ import './chunk-EQV33L7H.js';

import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -23,0 +23,0 @@ import './chunk-VKG7UEN5.js';

@@ -1,11 +0,11 @@

export { sanitize } from './chunk-ZTDLGGYE.js';
export { sanitize } from './chunk-ZYWBWXTJ.js';
import './chunk-GWAYWBHN.js';
import './chunk-GVK6IMBF.js';
import './chunk-NT3TNF3R.js';
import './chunk-AO6UTQ4A.js';
import './chunk-XHDRWM46.js';
import './chunk-JLCQ7MGC.js';
import './chunk-3LMDBXU6.js';
import './chunk-OOUEURR7.js';
import './chunk-XHDRWM46.js';
import './chunk-665E36SC.js';
import './chunk-AO6UTQ4A.js';
import './chunk-CDNOUZEI.js';

@@ -12,0 +12,0 @@ import './chunk-VKG7UEN5.js';

{
"name": "@br-validators/core",
"version": "1.3.0",
"version": "1.5.0",
"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.",

@@ -43,7 +43,18 @@ "homepage": "https://www.npmjs.com/package/@br-validators/core",

"bancos",
"aeroportos",
"tse-municipios",
"moedas",
"paises-bacen",
"incoterms",
"feriados",
"cnaes",
"cfop",
"natureza-juridica",
"nbs",
"cest",
"ncm",
"cbo",
"portos",
"pncp-reference",
"transparencia-snapshots",
"data-catalog",

@@ -163,2 +174,22 @@ "typescript"

},
"./aeroportos": {
"types": "./dist/aeroportos.d.ts",
"import": "./dist/aeroportos.js"
},
"./tse-municipios": {
"types": "./dist/tse-municipios.d.ts",
"import": "./dist/tse-municipios.js"
},
"./moedas": {
"types": "./dist/moedas.d.ts",
"import": "./dist/moedas.js"
},
"./paises-bacen": {
"types": "./dist/paises-bacen.d.ts",
"import": "./dist/paises-bacen.js"
},
"./incoterms": {
"types": "./dist/incoterms.d.ts",
"import": "./dist/incoterms.js"
},
"./feriados": {

@@ -176,2 +207,14 @@ "types": "./dist/feriados.d.ts",

},
"./natureza-juridica": {
"types": "./dist/natureza-juridica.d.ts",
"import": "./dist/natureza-juridica.js"
},
"./nbs": {
"types": "./dist/nbs.d.ts",
"import": "./dist/nbs.js"
},
"./cest": {
"types": "./dist/cest.d.ts",
"import": "./dist/cest.js"
},
"./ncm": {

@@ -185,2 +228,14 @@ "types": "./dist/ncm.d.ts",

},
"./portos": {
"types": "./dist/portos.d.ts",
"import": "./dist/portos.js"
},
"./pncp-reference": {
"types": "./dist/pncp-reference.d.ts",
"import": "./dist/pncp-reference.js"
},
"./transparencia-snapshots": {
"types": "./dist/transparencia-snapshots.d.ts",
"import": "./dist/transparencia-snapshots.js"
},
"./data-catalog": {

@@ -187,0 +242,0 @@ "types": "./dist/data-catalog.d.ts",

+39
-14

@@ -32,3 +32,3 @@ # @br-validators/core

- ✅ **Tree-shakeable** — subpath imports per document type
- ✅ **Reference data** — IBGE, Bacen banks, DDD lookup, national holidays, CNAE, CFOP, NCM, CBO — embedded offline with weekly freshness ([DATA-FRESHNESS.md](../../docs/DATA-FRESHNESS.md))
- ✅ **Reference data** — IBGE, Bacen banks, DDD lookup, national holidays, CNAE, CFOP, NCM, CBO, natureza jurídica, NBS, CEST, moedas, países Bacen, Incoterms, portos, aeroportos — embedded offline with weekly freshness ([DATA-FRESHNESS.md](../../docs/DATA-FRESHNESS.md))
- ✅ **ESM only**, Node ≥ 18, works in browser, Bun, Deno

@@ -266,14 +266,23 @@

| Dataset | Subpath | Key APIs | Official source |
|---------|---------|----------|-----------------|
| IBGE states + municipalities | `@br-validators/core/ibge` | `getEstados`, `getMunicipios`, `getMunicipioPorCodigo` | [IBGE localidades API](https://servicodados.ibge.gov.br/api/docs/localidades) |
| Bacen STR banks (COMPE / ISPB) | `@br-validators/core/bancos` | `getBancos`, `getBancoPorCodigo`, `getBancoPorIspb` | [Bacen Participantes STR](https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv) |
| DDD geographic lookup | `@br-validators/core/telefone` | `getDddInfo` (extends telefone validator) | [Anatel DDD panel](https://informacoes.anatel.gov.br/paineis/areas-tarifarias/codigos-nacionais) |
| National holidays | `@br-validators/core/feriados` | `isFeriadoNacional`, `getFeriadosNacionais`, `getProximoDiaUtil` | [Lei 662/1949](https://www.planalto.gov.br/ccivil_03/leis/l0662.htm) + annual Portaria MGI |
| CNAE 2.3 subclasses | `@br-validators/core/cnaes` | `getCnaePorCodigo`, `searchCnaes` | [IBGE CNAE API v2](https://servicodados.ibge.gov.br/api/docs/cnae) |
| CFOP fiscal operations | `@br-validators/core/cfop` | `getCfopPorCodigo`, `searchCfop` | [CONFAZ CFOP SINIEF](https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente) |
| NCM Mercosur nomenclature | `@br-validators/core/ncm` | `getNcmPorCodigo`, `searchNcm` | [Siscomex NCM JSON](https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json) |
| CBO 2002 occupations | `@br-validators/core/cbo` | `getCboPorCodigo`, `searchCbo` | [MTE CBO downloads](https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads) |
| CEP prefix lookup | `@br-validators/core/cep` | `getCepFaixaInfo`, `getCepFaixas` | [IBGE CNEFE 2022](https://www.ibge.gov.br/estatisticas/sociais/populacao/38734-cadastro-nacional-de-enderecos-para-fins-estatisticos.html) |
| Data transparency catalog | `@br-validators/core/data-catalog` | `getDataCatalog`, `getDatasetMetadata` | Aggregates all `metadata.json` entries |
| Dataset | Subpath | CLI | Playground | Key APIs | Official source |
|---------|---------|-----|------------|----------|-----------------|
| IBGE states + municipalities | `@br-validators/core/ibge` | — | `/data/ibge` | `getEstados`, `getMunicipios`, `getMunicipioPorCodigo` | [IBGE localidades API](https://servicodados.ibge.gov.br/api/docs/localidades) |
| Bacen STR banks (COMPE / ISPB) | `@br-validators/core/bancos` | `bancos lookup` · `list` | `/data/bancos` | `getBancos`, `getBancoPorCodigo`, `getBancoPorIspb` | [Bacen Participantes STR](https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv) |
| ANAC public aerodromos | `@br-validators/core/aeroportos` | `aeroportos lookup` | `/data/logistics` | `getAeroportos`, `getAeroportoPorIata`, `getAeroportoPorIcao`, `getAeroportosPorMunicipio` | [ANAC aeródromos públicos CSV](https://www.anac.gov.br/acesso-a-informacao/dados-abertos/areas-de-atuacao/aerodromos/lista-de-aerodromos-publicos/aerodromospublicosv1.csv/@@download/file/aerodromospublicosv1.csv) |
| ANTAQ port installations | `@br-validators/core/portos` | `portos lookup` | `/data/logistics` | `getPortoPorCodigo`, `searchPortos`, `getPortosPorMunicipio` | [ANTAQ instalações portuárias zip](https://www.gov.br/antaq/pt-br/central-de-conteudos/Instalaesporturias06052025.zip) |
| TSE ↔ IBGE municipality codes | `@br-validators/core/tse-municipios` | — | — | `getMapeamentoTseIbge`, `getMunicipioIbgePorCodigoTse`, `getCodigosTsePorMunicipio` | [TSE municipio_tse_ibge.zip](https://cdn.tse.jus.br/estatistica/sead/odsele/municipio_tse_ibge/municipio_tse_ibge.zip) |
| DDD geographic lookup | `@br-validators/core/telefone` | — | — | `getDddInfo` (extends telefone validator) | [Anatel DDD panel](https://informacoes.anatel.gov.br/paineis/areas-tarifarias/codigos-nacionais) |
| National holidays | `@br-validators/core/feriados` | — | — | `isFeriadoNacional`, `getFeriadosNacionais`, `getProximoDiaUtil` | [Lei 662/1949](https://www.planalto.gov.br/ccivil_03/leis/l0662.htm) + annual Portaria MGI |
| CNAE 2.3 subclasses | `@br-validators/core/cnaes` | — | — | `getCnaePorCodigo`, `searchCnaes` | [IBGE CNAE API v2](https://servicodados.ibge.gov.br/api/docs/cnae) |
| CFOP fiscal operations | `@br-validators/core/cfop` | — | — | `getCfopPorCodigo`, `searchCfop` | [CONFAZ CFOP SINIEF](https://www.confaz.fazenda.gov.br/legislacao/ajustes/sinief/cfop_cvsn_70_vigente) |
| NCM Mercosur nomenclature | `@br-validators/core/ncm` | — | — | `getNcmPorCodigo`, `searchNcm` | [Siscomex NCM JSON](https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json) |
| Natureza jurídica (CNPJ) | `@br-validators/core/natureza-juridica` | `natureza-juridica lookup` | `/data/fiscal` | `getNaturezaJuridicaPorCodigo` | [RFB Naturezas.zip](https://dadosabertos.rfb.gov.br/CNPJ/dados_abertos_cnpj/) |
| NBS (NFSe Nacional) | `@br-validators/core/nbs` | `nbs lookup` | `/data/fiscal` | `getNbsPorCodigo`, `searchNbs` | [NFSe Anexo B NBS2 xlsx](https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_b-nbs2-lista_servico_nacional-snnfse.xlsx) |
| CEST (substituição tributária) | `@br-validators/core/cest` | `cest lookup` | `/data/fiscal` | `getCestPorCodigo`, `getCestPorNcm`, `searchCest` | [CONFAZ ICMS 142/2018](https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18) |
| ISO 4217 + Bacen PTAX moedas | `@br-validators/core/moedas` | `moedas lookup` | `/data/trade` | `getMoedaPorCodigo`, `searchMoedas` | [Bacen PTAX Moedas API](https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas) |
| NF-e Bacen country codes | `@br-validators/core/paises-bacen` | `paises-bacen lookup` | `/data/trade` | `getPaisPorCodigoBacen`, `getPaisesBacen` | [NF-e country table](http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=FOXZNFX/p50=) |
| ICC Incoterms 2020 | `@br-validators/core/incoterms` | `incoterms lookup` | `/data/trade` | `getIncotermPorCodigo`, `getIncoterms` | [ICC Incoterms rules](https://iccwbo.org/resources-for-business/incoterms-rules/) |
| CBO 2002 occupations | `@br-validators/core/cbo` | — | — | `getCboPorCodigo`, `searchCbo` | [MTE CBO downloads](https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/cbo/servicos/downloads) |
| CEP prefix lookup | `@br-validators/core/cep` | — | — | `getCepFaixaInfo`, `getCepFaixas` | [IBGE CNEFE 2022](https://www.ibge.gov.br/estatisticas/sociais/populacao/38734-cadastro-nacional-de-enderecos-para-fins-estatisticos.html) |
| Data transparency catalog | `@br-validators/core/data-catalog` | — | `/data/catalog` | `getDataCatalog`, `getDatasetMetadata` | Aggregates all `metadata.json` entries |

@@ -289,2 +298,10 @@ ```typescript

import { getCboPorCodigo } from '@br-validators/core/cbo';
import { getNaturezaJuridicaPorCodigo } from '@br-validators/core/natureza-juridica';
import { getNbsPorCodigo } from '@br-validators/core/nbs';
import { getCestPorCodigo } from '@br-validators/core/cest';
import { getMoedaPorCodigo } from '@br-validators/core/moedas';
import { getPaisPorCodigoBacen } from '@br-validators/core/paises-bacen';
import { getIncotermPorCodigo } from '@br-validators/core/incoterms';
import { getAeroportoPorIata } from '@br-validators/core/aeroportos';
import { getPortoPorCodigo } from '@br-validators/core/portos';
import { getDataCatalog } from '@br-validators/core/data-catalog';

@@ -300,3 +317,11 @@

getCboPorCodigo('212405'); // systems development analyst
getDataCatalog().length; // 8 registered datasets
getNaturezaJuridicaPorCodigo('2062'); // Sociedade Empresária Limitada
getNbsPorCodigo('1.1502.50.00'); // TI systems integration (NFSe)
getCestPorCodigo('0302100'); // returnable beer bottle (ST)
getMoedaPorCodigo('BRL')?.nome; // Real Brasileiro
getPaisPorCodigoBacen('1058')?.nome; // Brasil (NF-e cPais)
getIncotermPorCodigo('FOB')?.nome; // Free On Board
getAeroportoPorIata('GRU')?.nome; // Guarulhos — SP
getPortoPorCodigo('BRSSZ')?.nome; // Santos organized port
getDataCatalog().length; // registered datasets
```

@@ -303,0 +328,0 @@

import { normalizeForPlatform } from './chunk-NHFSEWO2.js';
// src/platform/types.ts
var PLATFORM_DOCUMENT_TYPES = [
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural",
"pix",
"brcode"
];
function isPlatformDocumentType(type) {
return PLATFORM_DOCUMENT_TYPES.includes(type);
}
// src/compare/index.ts
function compare(a, b, type, options = {}) {
const left = normalizeForPlatform(a, type, options);
const right = normalizeForPlatform(b, type, options);
return { equal: left === right };
}
function compareRuntime(a, b, type, options = {}) {
if (!isPlatformDocumentType(type)) {
return { equal: false, code: "UNSUPPORTED_FORMAT", message: `Unknown document type: ${type}` };
}
return compare(a, b, type, options);
}
export { compare, compareRuntime };
//# sourceMappingURL=chunk-DYX5XSJ6.js.map
//# sourceMappingURL=chunk-DYX5XSJ6.js.map
{"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,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;;;AClBO,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-DYX5XSJ6.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 '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"]}
import { formatNfeChave } from './chunk-JKDU7QYP.js';
import { formatPisPasep } from './chunk-VSW3NBJQ.js';
import { formatPixKey } from './chunk-JSNXKBZA.js';
import { formatPlaca } from './chunk-YD5MPZWY.js';
import { formatRenavam } from './chunk-5EJAENH5.js';
import { formatTelefone } from './chunk-MAM4U3UR.js';
import { formatTituloEleitor } from './chunk-O3T7PUBI.js';
import { formatIeProdutorRural } from './chunk-54UWHK5L.js';
import { formatCnh } from './chunk-EQV33L7H.js';
import { formatCnpj } from './chunk-RMTHCPIV.js';
import { formatCpf } from './chunk-EN7PVDYB.js';
import { formatInscricaoEstadual } from './chunk-665E36SC.js';
import { formatBoleto } from './chunk-XWHGXSQV.js';
import { formatCartaoCredito } from './chunk-B6A7VF4R.js';
import { formatCep } from './chunk-SDEJD2J7.js';
// src/mask/index.ts
var MASKABLE_DOCUMENT_TYPES = [
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural",
"pix"
];
function isMaskableDocumentType(type) {
return MASKABLE_DOCUMENT_TYPES.includes(type);
}
function mask(raw, type, options = {}) {
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual masking"
};
}
return dispatchMask(raw, type, options);
}
function maskRuntime(type, raw, options = {}) {
if (!isMaskableDocumentType(type)) {
return { ok: false, code: "UNSUPPORTED_FORMAT", message: `Unknown document type: ${type}` };
}
return mask(raw, type, options);
}
function dispatchMask(raw, type, options) {
switch (type) {
case "cpf":
return formatCpf(raw);
case "cnpj":
return formatCnpj(raw);
case "cep":
return formatCep(raw);
case "placa":
return formatPlaca(raw);
case "pis-pasep":
return formatPisPasep(raw);
case "telefone":
return formatTelefone(raw);
case "cnh":
return formatCnh(raw);
case "renavam":
return formatRenavam(raw);
case "titulo-eleitor":
return formatTituloEleitor(raw);
case "nfe-chave":
return formatNfeChave(raw);
case "boleto":
return formatBoleto(raw);
case "cartao-credito":
return formatCartaoCredito(raw);
case "inscricao-estadual":
return formatInscricaoEstadual(raw, { uf: options.uf });
case "inscricao-estadual-produtor-rural":
return formatIeProdutorRural(raw);
case "pix":
return formatPixKey(raw);
default: {
const _exhaustive = type;
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: `Unsupported type: ${String(_exhaustive)}`
};
}
}
}
export { MASKABLE_DOCUMENT_TYPES, isMaskableDocumentType, mask, maskRuntime };
//# sourceMappingURL=chunk-ITHT54NC.js.map
//# sourceMappingURL=chunk-ITHT54NC.js.map
{"version":3,"sources":["../src/mask/index.ts"],"names":[],"mappings":"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","file":"chunk-ITHT54NC.js","sourcesContent":["/**\n * Unified display mask — delegates to existing `format*` (BR-MASK-001).\n * @see docs/use-cases/UC-003-format-document.md\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { formatInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { formatBoleto } from '../format/boleto.js';\nimport { formatCartaoCredito } from '../format/cartao-credito.js';\nimport { formatCep } from '../format/cep.js';\nimport { formatCnh } from '../format/cnh.js';\nimport { formatCnpj } from '../format/cnpj.js';\nimport { formatCpf } from '../format/cpf.js';\nimport { formatIeProdutorRural } from '../format/inscricao-estadual-produtor-rural.js';\nimport { formatNfeChave } from '../format/nfe-chave.js';\nimport { formatPisPasep } from '../format/pis-pasep.js';\nimport { formatPixKey } from '../format/pix.js';\nimport { formatPlaca } from '../format/placa.js';\nimport { formatRenavam } from '../format/renavam.js';\nimport { formatTelefone } from '../format/telefone.js';\nimport { formatTituloEleitor } from '../format/titulo-eleitor.js';\nimport type { FormatResult, UfCode } from '../types/validation-result.js';\n\nexport type MaskableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'telefone'\n | 'cnh'\n | 'renavam'\n | 'titulo-eleitor'\n | 'nfe-chave'\n | 'boleto'\n | 'cartao-credito'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'pix';\n\nexport const MASKABLE_DOCUMENT_TYPES = [\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n 'pix',\n] as const satisfies readonly MaskableDocumentType[];\n\nexport type MaskOptions = {\n uf?: UfCode;\n};\n\nexport function isMaskableDocumentType(type: string): type is MaskableDocumentType {\n return (MASKABLE_DOCUMENT_TYPES as readonly string[]).includes(type);\n}\n\nexport function mask(\n raw: string,\n type: MaskableDocumentType,\n options: MaskOptions = {},\n): FormatResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual masking',\n };\n }\n\n return dispatchMask(raw, type, options);\n}\n\n/** Runtime guard for dynamic callers (non-exhaustive type string). */\nexport function maskRuntime(\n type: string,\n raw: string,\n options: MaskOptions = {},\n): FormatResult {\n if (!isMaskableDocumentType(type)) {\n return { ok: false, code: 'UNSUPPORTED_FORMAT', message: `Unknown document type: ${type}` };\n }\n return mask(raw, type, options);\n}\n\nfunction dispatchMask(raw: string, type: MaskableDocumentType, options: MaskOptions): FormatResult {\n switch (type) {\n case 'cpf':\n return formatCpf(raw);\n case 'cnpj':\n return formatCnpj(raw);\n case 'cep':\n return formatCep(raw);\n case 'placa':\n return formatPlaca(raw);\n case 'pis-pasep':\n return formatPisPasep(raw);\n case 'telefone':\n return formatTelefone(raw);\n case 'cnh':\n return formatCnh(raw);\n case 'renavam':\n return formatRenavam(raw);\n case 'titulo-eleitor':\n return formatTituloEleitor(raw);\n case 'nfe-chave':\n return formatNfeChave(raw);\n case 'boleto':\n return formatBoleto(raw);\n case 'cartao-credito':\n return formatCartaoCredito(raw);\n case 'inscricao-estadual':\n return formatInscricaoEstadual(raw, { uf: options.uf as UfCode });\n case 'inscricao-estadual-produtor-rural':\n return formatIeProdutorRural(raw);\n case 'pix':\n return formatPixKey(raw);\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n"]}
import { stripForType } from './chunk-GWAYWBHN.js';
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/platform/normalize.ts
var SANITIZABLE_PLATFORM_TYPES = /* @__PURE__ */ new Set([
"cpf",
"cnpj",
"cep",
"placa",
"pis-pasep",
"telefone",
"cnh",
"renavam",
"titulo-eleitor",
"nfe-chave",
"boleto",
"cartao-credito",
"inscricao-estadual",
"inscricao-estadual-produtor-rural"
]);
function isSanitizablePlatformType(type) {
return SANITIZABLE_PLATFORM_TYPES.has(type);
}
function stripForPlatform(raw, type) {
if (type === "pix" || type === "brcode") {
return raw;
}
if (isSanitizablePlatformType(type)) {
return stripForType(raw, type);
}
return raw;
}
function normalizeForPlatform(raw, type, options = {}) {
const trimmed = raw.trim();
const stripped = stripForPlatform(trimmed, type);
const validated = tryValidatedCanonical(stripped, type, options.uf);
return validated ?? stripped;
}
function tryValidatedCanonical(value, type, uf) {
switch (type) {
case "cpf": {
const result = validateCpf(value);
return result.ok ? result.value : null;
}
case "cnpj": {
const result = validateCnpj(value);
return result.ok ? result.value : null;
}
case "cep": {
const result = validateCep(value);
return result.ok ? result.value : null;
}
case "placa": {
const result = validatePlaca(value);
return result.ok ? result.value : null;
}
case "pis-pasep": {
const result = validatePisPasep(value);
return result.ok ? result.value : null;
}
case "telefone": {
const result = validateTelefone(value);
return result.ok ? result.value : null;
}
case "cnh": {
const result = validateCnh(value);
return result.ok ? result.value : null;
}
case "renavam": {
const result = validateRenavam(value);
return result.ok ? result.value : null;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(value);
return result.ok ? result.value : null;
}
case "nfe-chave": {
const result = validateNfeChave(value);
return result.ok ? result.value : null;
}
case "boleto": {
const result = validateBoleto(value);
return result.ok ? result.value : null;
}
case "cartao-credito": {
const result = validateCartaoCredito(value);
return result.ok ? result.value : null;
}
case "inscricao-estadual": {
if (!uf) {
return null;
}
const result = validateInscricaoEstadual(value, { uf });
return result.ok ? result.value : null;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(value);
return result.ok ? result.value : null;
}
case "pix": {
const result = validatePixKey(value);
return result.ok ? result.value : null;
}
case "brcode": {
const result = validateBrCode(value);
return result.ok ? result.value : null;
}
default: {
return null;
}
}
}
export { normalizeForPlatform };
//# sourceMappingURL=chunk-NHFSEWO2.js.map
//# sourceMappingURL=chunk-NHFSEWO2.js.map
{"version":3,"sources":["../src/platform/normalize.ts"],"names":[],"mappings":"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","file":"chunk-NHFSEWO2.js","sourcesContent":["/**\n * Canonical normalization for platform compare/diff (BR-PLATFORM-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateBrCode } from '../core/brcode/index.js';\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 { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport { stripForType } from '../sanitize/fixes.js';\nimport type { SanitizableDocumentType } from '../sanitize/index.js';\nimport type { UfCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nconst SANITIZABLE_PLATFORM_TYPES = new Set<PlatformDocumentType>([\n 'cpf',\n 'cnpj',\n 'cep',\n 'placa',\n 'pis-pasep',\n 'telefone',\n 'cnh',\n 'renavam',\n 'titulo-eleitor',\n 'nfe-chave',\n 'boleto',\n 'cartao-credito',\n 'inscricao-estadual',\n 'inscricao-estadual-produtor-rural',\n]);\n\nfunction isSanitizablePlatformType(type: PlatformDocumentType): type is SanitizableDocumentType {\n return SANITIZABLE_PLATFORM_TYPES.has(type);\n}\n\nfunction stripForPlatform(raw: string, type: PlatformDocumentType): string {\n if (type === 'pix' || type === 'brcode') {\n return raw;\n }\n if (isSanitizablePlatformType(type)) {\n return stripForType(raw, type);\n }\n return raw;\n}\n\nexport function normalizeForPlatform(\n raw: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): string {\n const trimmed = raw.trim();\n const stripped = stripForPlatform(trimmed, type);\n const validated = tryValidatedCanonical(stripped, type, options.uf);\n return validated ?? stripped;\n}\n\nfunction tryValidatedCanonical(\n value: string,\n type: PlatformDocumentType,\n uf?: UfCode,\n): string | null {\n switch (type) {\n case 'cpf': {\n const result = validateCpf(value);\n return result.ok ? result.value : null;\n }\n case 'cnpj': {\n const result = validateCnpj(value);\n return result.ok ? result.value : null;\n }\n case 'cep': {\n const result = validateCep(value);\n return result.ok ? result.value : null;\n }\n case 'placa': {\n const result = validatePlaca(value);\n return result.ok ? result.value : null;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(value);\n return result.ok ? result.value : null;\n }\n case 'telefone': {\n const result = validateTelefone(value);\n return result.ok ? result.value : null;\n }\n case 'cnh': {\n const result = validateCnh(value);\n return result.ok ? result.value : null;\n }\n case 'renavam': {\n const result = validateRenavam(value);\n return result.ok ? result.value : null;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(value);\n return result.ok ? result.value : null;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(value);\n return result.ok ? result.value : null;\n }\n case 'boleto': {\n const result = validateBoleto(value);\n return result.ok ? result.value : null;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(value);\n return result.ok ? result.value : null;\n }\n case 'inscricao-estadual': {\n if (!uf) {\n return null;\n }\n const result = validateInscricaoEstadual(value, { uf });\n return result.ok ? result.value : null;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(value);\n return result.ok ? result.value : null;\n }\n case 'pix': {\n const result = validatePixKey(value);\n return result.ok ? result.value : null;\n }\n case 'brcode': {\n const result = validateBrCode(value);\n return result.ok ? result.value : null;\n }\n default: {\n return null;\n }\n }\n}\n"]}
import { validateNfeChave, NFE_CHAVE_LENGTH } from './chunk-AO6UTQ4A.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca, PLACA_LENGTH } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { isSpRuralIeInput, validateIeProdutorRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateArrecadacao } from './chunk-N6RQICAP.js';
import { detectBoletoInputKind } from './chunk-E2EFGMWA.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj, CNPJ_LENGTH } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito, CARTAO_PAN_MIN_LENGTH, CARTAO_PAN_MAX_LENGTH } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/detect/helpers.ts
function stripDigits(input) {
return input.replace(/\D/g, "");
}
function stripAlnumUpper(input) {
return input.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
}
function hasLetters(input) {
return /[A-Za-z]/.test(input);
}
function looksLikeBrCode(input) {
const trimmed = input.trim();
return trimmed.startsWith("00020") && trimmed.length > 20;
}
function looksLikeBoleto(input) {
const kind = detectBoletoInputKind(input);
return kind === "linha-digitavel" || kind === "codigo-barras";
}
function isBoletoArrecadacao(input) {
return detectBoletoInputKind(input) === "arrecadacao";
}
function looksLikeNfeChave(input) {
const digits = stripDigits(input);
return digits.length === NFE_CHAVE_LENGTH && /^\d+$/.test(digits);
}
function looksLikeCnpjNumeric(input) {
const digits = stripDigits(input);
return digits.length === CNPJ_LENGTH && /^\d+$/.test(digits);
}
function looksLikeCnpjAlphanumeric(input) {
const stripped = stripAlnumUpper(input);
return stripped.length === CNPJ_LENGTH && hasLetters(input);
}
function looksLikeElevenDigits(input) {
const digits = stripDigits(input);
return digits.length === 11 && /^\d+$/.test(digits);
}
function looksLikeTituloEleitor(input) {
const digits = stripDigits(input);
return digits.length === 12 && /^\d+$/.test(digits);
}
function looksLikeCep(input) {
const digits = stripDigits(input);
return digits.length === 8 && /^\d+$/.test(digits);
}
function looksLikePlaca(input) {
const stripped = stripAlnumUpper(input);
return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);
}
function looksLikeCartao(input) {
const withoutMask = input.replace(/[\s-]/g, "");
if (/[^0-9]/.test(withoutMask)) {
return false;
}
const digits = stripDigits(input);
return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;
}
function looksLikeIe(input, uf) {
if (!uf) {
return false;
}
if (uf === "SP" && isSpRuralIeInput(input)) {
return true;
}
const digits = stripDigits(input);
return digits.length >= 8 && digits.length <= 14;
}
function looksLikePix(input) {
const trimmed = input.trim();
if (trimmed.includes("@")) {
return true;
}
if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {
return true;
}
if (/^\+?\d/.test(trimmed)) {
const digits = stripDigits(trimmed);
return digits.length === 11 || digits.length === 14;
}
return false;
}
function looksLikeTelefone(input) {
const digits = stripDigits(input);
return digits.length >= 10 && digits.length <= 13;
}
// src/detect/index.ts
function success(type, value, format, meta) {
return { type, ok: true, value, ...format ? { format } : {}, ...meta ? { meta } : {} };
}
function tryValidators(attempts) {
for (const attempt of attempts) {
const result = attempt();
if (result) {
return result;
}
}
return null;
}
var CANDIDATES = [
{
canTry: (raw) => isBoletoArrecadacao(raw),
detect: (raw) => {
const result = validateArrecadacao(raw);
if (!result.ok) {
return null;
}
return success("boleto", result.value, "arrecadacao", {
inputKind: result.inputKind,
segment: result.segment,
valueType: result.valueType
});
}
},
{
canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),
detect: (raw) => {
const result = validateBoleto(raw);
if (!result.ok || result.format === "arrecadacao") {
return null;
}
return success("boleto", result.value, result.format, {
inputKind: result.inputKind,
situacao: result.situacao
});
}
},
{
canTry: (raw) => looksLikeNfeChave(raw),
detect: (raw) => {
const result = validateNfeChave(raw);
if (!result.ok) {
return null;
}
return success("nfe-chave", result.value, result.format, {
parsed: result.parsed,
uf: result.uf
});
}
},
{
canTry: (raw) => looksLikeBrCode(raw),
detect: (raw) => {
const result = validateBrCode(raw);
if (!result.ok) {
return null;
}
return success("brcode", result.value, result.format, {
merchantName: result.merchantName,
merchantCity: result.merchantCity,
pixKey: result.pixKey,
pixKeyType: result.pixKeyType
});
}
},
{
canTry: (raw) => looksLikeCnpjAlphanumeric(raw),
detect: (raw) => {
const result = validateCnpj(raw);
if (!result.ok) {
return null;
}
return success("cnpj", result.value, result.format);
}
},
{
canTry: (raw) => looksLikeCnpjNumeric(raw),
detect: (raw) => {
const result = validateCnpj(raw);
if (!result.ok) {
return null;
}
return success("cnpj", result.value, result.format);
}
},
{
canTry: (raw) => looksLikeElevenDigits(raw),
detect: (raw) => tryValidators([
() => {
const result = validateCpf(raw);
return result.ok ? success("cpf", result.value, result.format) : null;
},
() => {
const result = validateCnh(raw);
return result.ok ? success("cnh", result.value, result.format) : null;
},
() => {
const result = validatePisPasep(raw);
return result.ok ? success("pis-pasep", result.value, result.format) : null;
}
])
},
{
canTry: (raw) => looksLikeTituloEleitor(raw),
detect: (raw) => {
const result = validateTituloEleitor(raw);
if (!result.ok) {
return null;
}
return success("titulo-eleitor", result.value, result.format, {
ufCode: result.ufCode,
...result.uf ? { uf: result.uf } : {},
...result.exterior ? { exterior: result.exterior } : {}
});
}
},
{
canTry: (raw) => looksLikeCep(raw),
detect: (raw) => {
const result = validateCep(raw);
if (!result.ok) {
return null;
}
return success("cep", result.value, result.format);
}
},
{
canTry: (raw) => looksLikePlaca(raw),
detect: (raw) => {
const result = validatePlaca(raw);
if (!result.ok) {
return null;
}
return success("placa", result.value, result.format);
}
},
{
canTry: (raw) => looksLikePix(raw),
detect: (raw) => {
const result = validatePixKey(raw);
if (!result.ok) {
return null;
}
return success("pix", result.value, result.format, { keyType: result.keyType });
}
},
{
canTry: (raw) => looksLikeTelefone(raw),
detect: (raw) => {
const result = validateTelefone(raw);
if (!result.ok) {
return null;
}
return success("telefone", result.value, result.format, { tipo: result.tipo });
}
},
{
canTry: (raw) => looksLikeCartao(raw),
detect: (raw) => {
const result = validateCartaoCredito(raw);
if (!result.ok) {
return null;
}
return success("cartao-credito", result.value, result.format, { brand: result.brand });
}
},
{
canTry: (raw, options) => looksLikeIe(raw, options.uf),
detect: (raw, options) => {
const uf = options.uf;
if (uf === "SP" && isSpRuralIeInput(raw)) {
const result2 = validateIeProdutorRural(uf, raw);
if (!result2.ok) {
return null;
}
return success("inscricao-estadual-produtor-rural", result2.value, result2.format, { uf: result2.uf });
}
const result = validateInscricaoEstadual(raw, { uf });
if (!result.ok) {
return null;
}
return success("inscricao-estadual", result.value, result.format, { uf: result.uf });
}
}
];
function detect(raw, options = {}) {
const trimmed = raw.trim();
if (trimmed.length === 0) {
return {
type: "unknown",
ok: false,
code: "EMPTY_INPUT",
message: "Input is empty"
};
}
for (const candidate of CANDIDATES) {
if (!candidate.canTry(trimmed, options)) {
continue;
}
const result = candidate.detect(trimmed, options);
if (result?.ok) {
return result;
}
}
return {
type: "unknown",
ok: false,
code: "UNSUPPORTED_FORMAT",
message: options.uf ? "No supported document type matched the input" : "No supported document type matched the input; provide options.uf for Inscri\xE7\xE3o Estadual detection"
};
}
export { detect };
//# sourceMappingURL=chunk-QB7SZS2C.js.map
//# sourceMappingURL=chunk-QB7SZS2C.js.map
{"version":3,"sources":["../src/detect/helpers.ts","../src/detect/index.ts"],"names":["result"],"mappings":";;;;;;;;;;;;;;;;;;;AAQO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAChC;AAEO,SAAS,gBAAgB,KAAA,EAAuB;AACrD,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,eAAA,EAAiB,EAAE,EAAE,WAAA,EAAY;AACxD;AAEO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,OAAO,UAAA,CAAW,KAAK,KAAK,CAAA;AAC9B;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,OAAO,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,IAAK,QAAQ,MAAA,GAAS,EAAA;AACzD;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,EAAA,MAAM,IAAA,GAAO,sBAAsB,KAAK,CAAA;AACxC,EAAA,OAAO,IAAA,KAAS,qBAAqB,IAAA,KAAS,eAAA;AAChD;AAEO,SAAS,oBAAoB,KAAA,EAAwB;AAC1D,EAAA,OAAO,qBAAA,CAAsB,KAAK,CAAA,KAAM,aAAA;AAC1C;AAEO,SAAS,kBAAkB,KAAA,EAAwB;AACxD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,gBAAA,IAAoB,OAAA,CAAQ,KAAK,MAAM,CAAA;AAClE;AAEO,SAAS,qBAAqB,KAAA,EAAwB;AAC3D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,WAAA,IAAe,OAAA,CAAQ,KAAK,MAAM,CAAA;AAC7D;AAEO,SAAS,0BAA0B,KAAA,EAAwB;AAChE,EAAA,MAAM,QAAA,GAAW,gBAAgB,KAAK,CAAA;AACtC,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,WAAA,IAAe,UAAA,CAAW,KAAK,CAAA;AAC5D;AAEO,SAAS,sBAAsB,KAAA,EAAwB;AAC5D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AACpD;AAEO,SAAS,uBAAuB,KAAA,EAAwB;AAC7D,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AACpD;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,CAAA,IAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AACnD;AAEO,SAAS,eAAe,KAAA,EAAwB;AACrD,EAAA,MAAM,QAAA,GAAW,gBAAgB,KAAK,CAAA;AACtC,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,YAAA,IAAgB,aAAA,CAAc,KAAK,QAAQ,CAAA;AACxE;AAEO,SAAS,gBAAgB,KAAA,EAAwB;AACtD,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,KAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,qBAAA,IAAyB,MAAA,CAAO,MAAA,IAAU,qBAAA;AACpE;AAEO,SAAS,WAAA,CAAY,OAAe,EAAA,EAAsB;AAC/D,EAAA,IAAI,CAAC,EAAA,EAAI;AACP,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,EAAA,KAAO,IAAA,IAAQ,gBAAA,CAAiB,KAAK,CAAA,EAAG;AAC1C,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,CAAA,IAAK,MAAA,CAAO,MAAA,IAAU,EAAA;AAChD;AAEO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,EAAA,IAAI,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAA,EAAG;AACzB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,iEAAA,CAAkE,IAAA,CAAK,OAAO,CAAA,EAAG;AACnF,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,OAAO,CAAA,EAAG;AAC1B,IAAA,MAAM,MAAA,GAAS,YAAY,OAAO,CAAA;AAClC,IAAA,OAAO,MAAA,CAAO,MAAA,KAAW,EAAA,IAAM,MAAA,CAAO,MAAA,KAAW,EAAA;AAAA,EACnD;AACA,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,kBAAkB,KAAA,EAAwB;AACxD,EAAA,MAAM,MAAA,GAAS,YAAY,KAAK,CAAA;AAChC,EAAA,OAAO,MAAA,CAAO,MAAA,IAAU,EAAA,IAAM,MAAA,CAAO,MAAA,IAAU,EAAA;AACjD;;;ACbA,SAAS,OAAA,CACP,IAAA,EACA,KAAA,EACA,MAAA,EACA,IAAA,EACc;AACd,EAAA,OAAO,EAAE,IAAA,EAAM,EAAA,EAAI,MAAM,KAAA,EAAO,GAAI,SAAS,EAAE,MAAA,EAAO,GAAI,IAAK,GAAI,IAAA,GAAO,EAAE,IAAA,EAAK,GAAI,EAAC,EAAG;AAC3F;AAEA,SAAS,cAAc,QAAA,EAAiE;AACtF,EAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,MAAM,SAAS,OAAA,EAAQ;AACvB,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAEA,IAAM,UAAA,GAA0B;AAAA,EAC9B;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,mBAAA,CAAoB,GAAG,CAAA;AAAA,IACxC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,oBAAoB,GAAG,CAAA;AACtC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,aAAA,EAAe;AAAA,QACpD,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,SAAS,MAAA,CAAO,OAAA;AAAA,QAChB,WAAW,MAAA,CAAO;AAAA,OACnB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA,IAAK,CAAC,oBAAoB,GAAG,CAAA;AAAA,IACjE,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,MAAA,CAAO,EAAA,IAAM,MAAA,CAAO,WAAW,aAAA,EAAe;AACjD,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACpD,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,UAAU,MAAA,CAAO;AAAA,OAClB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,iBAAA,CAAkB,GAAG,CAAA;AAAA,IACtC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,WAAA,EAAa,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACvD,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,IAAI,MAAA,CAAO;AAAA,OACZ,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,QAAA,EAAU,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QACpD,cAAc,MAAA,CAAO,YAAA;AAAA,QACrB,cAAc,MAAA,CAAO,YAAA;AAAA,QACrB,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,YAAY,MAAA,CAAO;AAAA,OACpB,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,yBAAA,CAA0B,GAAG,CAAA;AAAA,IAC9C,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,aAAa,GAAG,CAAA;AAC/B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACpD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,oBAAA,CAAqB,GAAG,CAAA;AAAA,IACzC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,aAAa,GAAG,CAAA;AAC/B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACpD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,qBAAA,CAAsB,GAAG,CAAA;AAAA,IAC1C,MAAA,EAAQ,CAAC,GAAA,KACP,aAAA,CAAc;AAAA,MACZ,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAA,EAAO,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACnE,CAAA;AAAA,MACA,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,KAAA,EAAO,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACnE,CAAA;AAAA,MACA,MAAM;AACJ,QAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,QAAA,OAAO,MAAA,CAAO,KAAK,OAAA,CAAQ,WAAA,EAAa,OAAO,KAAA,EAAO,MAAA,CAAO,MAAM,CAAA,GAAI,IAAA;AAAA,MACzE;AAAA,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,sBAAA,CAAuB,GAAG,CAAA;AAAA,IAC3C,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,sBAAsB,GAAG,CAAA;AACxC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,MAAA,CAAO,KAAA,EAAO,OAAO,MAAA,EAAQ;AAAA,QAC5D,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,GAAI,OAAO,EAAA,GAAK,EAAE,IAAI,MAAA,CAAO,EAAA,KAAO,EAAC;AAAA,QACrC,GAAI,OAAO,QAAA,GAAW,EAAE,UAAU,MAAA,CAAO,QAAA,KAAa;AAAC,OACxD,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,YAAA,CAAa,GAAG,CAAA;AAAA,IACjC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,YAAY,GAAG,CAAA;AAC9B,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACnD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,cAAA,CAAe,GAAG,CAAA;AAAA,IACnC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,cAAc,GAAG,CAAA;AAChC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,OAAA,EAAS,MAAA,CAAO,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,IACrD;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,YAAA,CAAa,GAAG,CAAA;AAAA,IACjC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,eAAe,GAAG,CAAA;AACjC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,OAAA,EAAS,MAAA,CAAO,OAAA,EAAS,CAAA;AAAA,IAChF;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,iBAAA,CAAkB,GAAG,CAAA;AAAA,IACtC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,iBAAiB,GAAG,CAAA;AACnC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,UAAA,EAAY,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,IAAA,EAAM,MAAA,CAAO,IAAA,EAAM,CAAA;AAAA,IAC/E;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ,CAAC,GAAA,KAAQ,eAAA,CAAgB,GAAG,CAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,GAAA,KAAQ;AACf,MAAA,MAAM,MAAA,GAAS,sBAAsB,GAAG,CAAA;AACxC,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,gBAAA,EAAkB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,CAAA;AAAA,IACvF;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAQ,CAAC,GAAA,EAAK,YAAY,WAAA,CAAY,GAAA,EAAK,QAAQ,EAAE,CAAA;AAAA,IACrD,MAAA,EAAQ,CAAC,GAAA,EAAK,OAAA,KAAY;AACxB,MAAA,MAAM,KAAK,OAAA,CAAQ,EAAA;AACnB,MAAA,IAAI,EAAA,KAAO,IAAA,IAAQ,gBAAA,CAAiB,GAAG,CAAA,EAAG;AACxC,QAAA,MAAMA,OAAAA,GAAS,uBAAA,CAAwB,EAAA,EAAI,GAAG,CAAA;AAC9C,QAAA,IAAI,CAACA,QAAO,EAAA,EAAI;AACd,UAAA,OAAO,IAAA;AAAA,QACT;AACA,QAAA,OAAO,OAAA,CAAQ,mCAAA,EAAqCA,OAAAA,CAAO,KAAA,EAAOA,OAAAA,CAAO,QAAQ,EAAE,EAAA,EAAIA,OAAAA,CAAO,EAAA,EAAI,CAAA;AAAA,MACpG;AACA,MAAA,MAAM,MAAA,GAAS,yBAAA,CAA0B,GAAA,EAAK,EAAE,IAAI,CAAA;AACpD,MAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,OAAA,CAAQ,oBAAA,EAAsB,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,QAAQ,EAAE,EAAA,EAAI,MAAA,CAAO,EAAA,EAAI,CAAA;AAAA,IACrF;AAAA;AAEJ,CAAA;AAEO,SAAS,MAAA,CAAO,GAAA,EAAa,OAAA,GAAyB,EAAC,EAAiB;AAC7E,EAAA,MAAM,OAAA,GAAU,IAAI,IAAA,EAAK;AACzB,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,SAAA;AAAA,MACN,EAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAM,aAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AAEA,EAAA,KAAA,MAAW,aAAa,UAAA,EAAY;AAClC,IAAA,IAAI,CAAC,SAAA,CAAU,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA,EAAG;AACvC,MAAA;AAAA,IACF;AACA,IAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA;AAChD,IAAA,IAAI,QAAQ,EAAA,EAAI;AACd,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,OAAA,CAAQ,EAAA,GACb,8CAAA,GACA;AAAA,GACN;AACF","file":"chunk-QB7SZS2C.js","sourcesContent":["import { BOLETO_CODIGO_BARRAS_LENGTH, BOLETO_LINHA_LENGTH } from '../core/boleto/constants.js';\nimport { CARTAO_PAN_MAX_LENGTH, CARTAO_PAN_MIN_LENGTH } from '../core/cartao-credito/constants.js';\nimport { CNPJ_LENGTH } from '../core/cnpj/constants.js';\nimport { NFE_CHAVE_LENGTH } from '../core/nfe-chave/constants.js';\nimport { PLACA_LENGTH } from '../core/placa/constants.js';\nimport { detectBoletoInputKind } from '../core/boleto/detect.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\n\nexport function stripDigits(input: string): string {\n return input.replace(/\\D/g, '');\n}\n\nexport function stripAlnumUpper(input: string): string {\n return input.replace(/[^A-Za-z0-9]/g, '').toUpperCase();\n}\n\nexport function hasLetters(input: string): boolean {\n return /[A-Za-z]/.test(input);\n}\n\nexport function looksLikeBrCode(input: string): boolean {\n const trimmed = input.trim();\n return trimmed.startsWith('00020') && trimmed.length > 20;\n}\n\nexport function looksLikeBoleto(input: string): boolean {\n const kind = detectBoletoInputKind(input);\n return kind === 'linha-digitavel' || kind === 'codigo-barras';\n}\n\nexport function isBoletoArrecadacao(input: string): boolean {\n return detectBoletoInputKind(input) === 'arrecadacao';\n}\n\nexport function looksLikeNfeChave(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === NFE_CHAVE_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjNumeric(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === CNPJ_LENGTH && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCnpjAlphanumeric(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === CNPJ_LENGTH && hasLetters(input);\n}\n\nexport function looksLikeElevenDigits(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 11 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeTituloEleitor(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 12 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikeCep(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length === 8 && /^\\d+$/.test(digits);\n}\n\nexport function looksLikePlaca(input: string): boolean {\n const stripped = stripAlnumUpper(input);\n return stripped.length === PLACA_LENGTH && /^[A-Z0-9]+$/.test(stripped);\n}\n\nexport function looksLikeCartao(input: string): boolean {\n const withoutMask = input.replace(/[\\s-]/g, '');\n if (/[^0-9]/.test(withoutMask)) {\n return false;\n }\n const digits = stripDigits(input);\n return digits.length >= CARTAO_PAN_MIN_LENGTH && digits.length <= CARTAO_PAN_MAX_LENGTH;\n}\n\nexport function looksLikeIe(input: string, uf?: string): boolean {\n if (!uf) {\n return false;\n }\n if (uf === 'SP' && isSpRuralIeInput(input)) {\n return true;\n }\n const digits = stripDigits(input);\n return digits.length >= 8 && digits.length <= 14;\n}\n\nexport function looksLikePix(input: string): boolean {\n const trimmed = input.trim();\n if (trimmed.includes('@')) {\n return true;\n }\n if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(trimmed)) {\n return true;\n }\n if (/^\\+?\\d/.test(trimmed)) {\n const digits = stripDigits(trimmed);\n return digits.length === 11 || digits.length === 14;\n }\n return false;\n}\n\nexport function looksLikeTelefone(input: string): boolean {\n const digits = stripDigits(input);\n return digits.length >= 10 && digits.length <= 13;\n}\n\nexport {\n BOLETO_CODIGO_BARRAS_LENGTH,\n BOLETO_LINHA_LENGTH,\n};\n","/**\n * Unified document type detection — delegates to existing validators (BR-DETECT-001).\n * @see docs/VALIDATION-RULES.md\n */\nimport { validateArrecadacao } from '../core/boleto/arrecadacao.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateBrCode } from '../core/brcode/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 { validateIeProdutorRural } from '../core/inscricao-estadual/validate-produtor-rural.js';\nimport { isSpRuralIeInput } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport {\n isBoletoArrecadacao,\n looksLikeBoleto,\n looksLikeBrCode,\n looksLikeCartao,\n looksLikeCep,\n looksLikeCnpjAlphanumeric,\n looksLikeCnpjNumeric,\n looksLikeElevenDigits,\n looksLikeIe,\n looksLikeNfeChave,\n looksLikePix,\n looksLikePlaca,\n looksLikeTelefone,\n looksLikeTituloEleitor,\n} from './helpers.js';\nimport type { DocumentFormat, UfCode, ValidationErrorCode } from '../types/validation-result.js';\n\nexport type DetectableDocumentType =\n | 'cpf'\n | 'cnpj'\n | 'cep'\n | 'placa'\n | 'pis-pasep'\n | 'pix'\n | 'telefone'\n | 'boleto'\n | 'cartao-credito'\n | 'cnh'\n | 'renavam'\n | 'nfe-chave'\n | 'titulo-eleitor'\n | 'inscricao-estadual'\n | 'inscricao-estadual-produtor-rural'\n | 'brcode'\n | 'unknown';\n\nexport type DetectOptions = {\n uf?: UfCode;\n};\n\nexport type DetectSuccess = {\n type: DetectableDocumentType;\n ok: true;\n value: string;\n format?: DocumentFormat;\n meta?: Record<string, unknown>;\n};\n\nexport type DetectFailure = {\n type: DetectableDocumentType;\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type DetectResult = DetectSuccess | DetectFailure;\n\ntype Candidate = {\n canTry: (raw: string, options: DetectOptions) => boolean;\n detect: (raw: string, options: DetectOptions) => DetectResult | null;\n};\n\n/** @internal Test hook for success result branches. */\nexport function buildDetectSuccess(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return success(type, value, format, meta);\n}\n\nfunction success(\n type: DetectableDocumentType,\n value: string,\n format?: DocumentFormat,\n meta?: Record<string, unknown>,\n): DetectResult {\n return { type, ok: true, value, ...(format ? { format } : {}), ...(meta ? { meta } : {}) };\n}\n\nfunction tryValidators(attempts: Array<() => DetectResult | null>): DetectResult | null {\n for (const attempt of attempts) {\n const result = attempt();\n if (result) {\n return result;\n }\n }\n return null;\n}\n\nconst CANDIDATES: Candidate[] = [\n {\n canTry: (raw) => isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateArrecadacao(raw);\n if (!result.ok) {\n return null;\n }\n return success('boleto', result.value, 'arrecadacao', {\n inputKind: result.inputKind,\n segment: result.segment,\n valueType: result.valueType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBoleto(raw) && !isBoletoArrecadacao(raw),\n detect: (raw) => {\n const result = validateBoleto(raw);\n if (!result.ok || result.format === 'arrecadacao') {\n return null;\n }\n return success('boleto', result.value, result.format, {\n inputKind: result.inputKind,\n situacao: result.situacao,\n });\n },\n },\n {\n canTry: (raw) => looksLikeNfeChave(raw),\n detect: (raw) => {\n const result = validateNfeChave(raw);\n if (!result.ok) {\n return null;\n }\n return success('nfe-chave', result.value, result.format, {\n parsed: result.parsed,\n uf: result.uf,\n });\n },\n },\n {\n canTry: (raw) => looksLikeBrCode(raw),\n detect: (raw) => {\n const result = validateBrCode(raw);\n if (!result.ok) {\n return null;\n }\n return success('brcode', result.value, result.format, {\n merchantName: result.merchantName,\n merchantCity: result.merchantCity,\n pixKey: result.pixKey,\n pixKeyType: result.pixKeyType,\n });\n },\n },\n {\n canTry: (raw) => looksLikeCnpjAlphanumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeCnpjNumeric(raw),\n detect: (raw) => {\n const result = validateCnpj(raw);\n if (!result.ok) {\n return null;\n }\n return success('cnpj', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikeElevenDigits(raw),\n detect: (raw) =>\n tryValidators([\n () => {\n const result = validateCpf(raw);\n return result.ok ? success('cpf', result.value, result.format) : null;\n },\n () => {\n const result = validateCnh(raw);\n return result.ok ? success('cnh', result.value, result.format) : null;\n },\n () => {\n const result = validatePisPasep(raw);\n return result.ok ? success('pis-pasep', result.value, result.format) : null;\n },\n ]),\n },\n {\n canTry: (raw) => looksLikeTituloEleitor(raw),\n detect: (raw) => {\n const result = validateTituloEleitor(raw);\n if (!result.ok) {\n return null;\n }\n return success('titulo-eleitor', result.value, result.format, {\n ufCode: result.ufCode,\n ...(result.uf ? { uf: result.uf } : {}),\n ...(result.exterior ? { exterior: result.exterior } : {}),\n });\n },\n },\n {\n canTry: (raw) => looksLikeCep(raw),\n detect: (raw) => {\n const result = validateCep(raw);\n if (!result.ok) {\n return null;\n }\n return success('cep', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePlaca(raw),\n detect: (raw) => {\n const result = validatePlaca(raw);\n if (!result.ok) {\n return null;\n }\n return success('placa', result.value, result.format);\n },\n },\n {\n canTry: (raw) => looksLikePix(raw),\n detect: (raw) => {\n const result = validatePixKey(raw);\n if (!result.ok) {\n return null;\n }\n return success('pix', result.value, result.format, { keyType: result.keyType });\n },\n },\n {\n canTry: (raw) => looksLikeTelefone(raw),\n detect: (raw) => {\n const result = validateTelefone(raw);\n if (!result.ok) {\n return null;\n }\n return success('telefone', result.value, result.format, { tipo: result.tipo });\n },\n },\n {\n canTry: (raw) => looksLikeCartao(raw),\n detect: (raw) => {\n const result = validateCartaoCredito(raw);\n if (!result.ok) {\n return null;\n }\n return success('cartao-credito', result.value, result.format, { brand: result.brand });\n },\n },\n {\n canTry: (raw, options) => looksLikeIe(raw, options.uf),\n detect: (raw, options) => {\n const uf = options.uf as UfCode;\n if (uf === 'SP' && isSpRuralIeInput(raw)) {\n const result = validateIeProdutorRural(uf, raw);\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual-produtor-rural', result.value, result.format, { uf: result.uf });\n }\n const result = validateInscricaoEstadual(raw, { uf });\n if (!result.ok) {\n return null;\n }\n return success('inscricao-estadual', result.value, result.format, { uf: result.uf });\n },\n },\n];\n\nexport function detect(raw: string, options: DetectOptions = {}): DetectResult {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return {\n type: 'unknown',\n ok: false,\n code: 'EMPTY_INPUT',\n message: 'Input is empty',\n };\n }\n\n for (const candidate of CANDIDATES) {\n if (!candidate.canTry(trimmed, options)) {\n continue;\n }\n const result = candidate.detect(trimmed, options);\n if (result?.ok) {\n return result;\n }\n }\n\n return {\n type: 'unknown',\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: options.uf\n ? 'No supported document type matched the input'\n : 'No supported document type matched the input; provide options.uf for Inscrição Estadual detection',\n };\n}\n"]}
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateBrCode } from './chunk-MZDCVTN6.js';
import { validatePixKey } from './chunk-KLONQL76.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/platform/validate-dispatch.ts
function validateForPlatform(input, type, options = {}) {
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual validation"
};
}
switch (type) {
case "cpf": {
const result = validateCpf(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnpj": {
const result = validateCnpj(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cep": {
const result = validateCep(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "placa": {
const result = validatePlaca(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pis-pasep": {
const result = validatePisPasep(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "telefone": {
const result = validateTelefone(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnh": {
const result = validateCnh(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "renavam": {
const result = validateRenavam(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "nfe-chave": {
const result = validateNfeChave(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "boleto": {
const result = validateBoleto(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cartao-credito": {
const result = validateCartaoCredito(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual": {
const result = validateInscricaoEstadual(input, { uf: options.uf });
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pix": {
const result = validatePixKey(input);
return result.ok ? { ok: true, value: result.value } : result;
}
case "brcode": {
const result = validateBrCode(input);
return result.ok ? { ok: true, value: result.value } : result;
}
default: {
const _exhaustive = type;
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: `Unsupported type: ${String(_exhaustive)}`
};
}
}
}
// src/batch/index.ts
function batch(inputs, type, options = {}) {
const valid = [];
const invalid = [];
inputs.forEach((input, index) => {
const result = validateForPlatform(input, type, options);
if (result.ok) {
valid.push({ index, input, value: result.value });
} else {
invalid.push({ index, input, code: result.code, message: result.message });
}
});
return {
valid,
invalid,
summary: {
total: inputs.length,
valid: valid.length,
invalid: invalid.length
}
};
}
export { batch };
//# sourceMappingURL=chunk-QK27VDVB.js.map
//# sourceMappingURL=chunk-QK27VDVB.js.map
{"version":3,"sources":["../src/platform/validate-dispatch.ts","../src/batch/index.ts"],"names":[],"mappings":"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","file":"chunk-QK27VDVB.js","sourcesContent":["import { validateBrCode } from '../core/brcode/index.js';\nimport { validateBoleto } from '../core/boleto/index.js';\nimport { validateCartaoCredito } from '../core/cartao-credito/index.js';\nimport { validateCep } from '../core/cep/index.js';\nimport { validateCnh } from '../core/cnh/index.js';\nimport { validateCnpj } from '../core/cnpj/index.js';\nimport { validateCpf } from '../core/cpf/index.js';\nimport { validateInscricaoEstadual } from '../core/inscricao-estadual/index.js';\nimport { validateIeSpRural } from '../core/inscricao-estadual/sp-rural.js';\nimport { validateNfeChave } from '../core/nfe-chave/index.js';\nimport { validatePisPasep } from '../core/pis-pasep/index.js';\nimport { validatePlaca } from '../core/placa/index.js';\nimport { validatePixKey } from '../core/pix/index.js';\nimport { validateRenavam } from '../core/renavam/index.js';\nimport { validateTelefone } from '../core/telefone/index.js';\nimport { validateTituloEleitor } from '../core/titulo-eleitor/index.js';\nimport type { UfCode, ValidationErrorCode } from '../types/validation-result.js';\nimport type { PlatformDocumentType, PlatformOptions } from './types.js';\n\nexport type ValidateDispatchSuccess = { ok: true; value: string };\nexport type ValidateDispatchFailure = {\n ok: false;\n code: ValidationErrorCode;\n message: string;\n};\nexport type ValidateDispatchResult = ValidateDispatchSuccess | ValidateDispatchFailure;\n\nexport function validateForPlatform(\n input: string,\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): ValidateDispatchResult {\n if (type === 'inscricao-estadual' && !options.uf) {\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: 'UF is required for inscricao-estadual validation',\n };\n }\n\n switch (type) {\n case 'cpf': {\n const result = validateCpf(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnpj': {\n const result = validateCnpj(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cep': {\n const result = validateCep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'placa': {\n const result = validatePlaca(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pis-pasep': {\n const result = validatePisPasep(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'telefone': {\n const result = validateTelefone(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cnh': {\n const result = validateCnh(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'renavam': {\n const result = validateRenavam(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'titulo-eleitor': {\n const result = validateTituloEleitor(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'nfe-chave': {\n const result = validateNfeChave(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'boleto': {\n const result = validateBoleto(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'cartao-credito': {\n const result = validateCartaoCredito(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual': {\n const result = validateInscricaoEstadual(input, { uf: options.uf as UfCode });\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'inscricao-estadual-produtor-rural': {\n const result = validateIeSpRural(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'pix': {\n const result = validatePixKey(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n case 'brcode': {\n const result = validateBrCode(input);\n return result.ok ? { ok: true, value: result.value } : result;\n }\n default: {\n const _exhaustive: never = type;\n return {\n ok: false,\n code: 'UNSUPPORTED_FORMAT',\n message: `Unsupported type: ${String(_exhaustive)}`,\n };\n }\n }\n}\n","/**\n * Batch validation — maps `validate*` per row, never throws (BR-BATCH-001).\n * @see docs/OFFICIAL-SOURCES.md\n */\nimport { validateForPlatform } from '../platform/validate-dispatch.js';\nimport type { PlatformDocumentType, PlatformOptions } from '../platform/types.js';\nimport type { ValidationErrorCode } from '../types/validation-result.js';\n\nexport type BatchValidEntry = {\n index: number;\n input: string;\n value: string;\n};\n\nexport type BatchInvalidEntry = {\n index: number;\n input: string;\n code: ValidationErrorCode;\n message: string;\n};\n\nexport type BatchSummary = {\n total: number;\n valid: number;\n invalid: number;\n};\n\nexport type BatchResult = {\n valid: BatchValidEntry[];\n invalid: BatchInvalidEntry[];\n summary: BatchSummary;\n};\n\nexport function batch(\n inputs: readonly string[],\n type: PlatformDocumentType,\n options: PlatformOptions = {},\n): BatchResult {\n const valid: BatchValidEntry[] = [];\n const invalid: BatchInvalidEntry[] = [];\n\n inputs.forEach((input, index) => {\n const result = validateForPlatform(input, type, options);\n if (result.ok) {\n valid.push({ index, input, value: result.value });\n } else {\n invalid.push({ index, input, code: result.code, message: result.message });\n }\n });\n\n return {\n valid,\n invalid,\n summary: {\n total: inputs.length,\n valid: valid.length,\n invalid: invalid.length,\n },\n };\n}\n"]}
import { normalizeForPlatform } from './chunk-NHFSEWO2.js';
// src/diff/index.ts
function diff(a, b, type, options = {}) {
const left = normalizeForPlatform(a, type, options);
const right = normalizeForPlatform(b, type, options);
if (left === right) {
return { changed: false, fields: [] };
}
const leftFields = splitFields(left, type);
const rightFields = splitFields(right, type);
const keys = /* @__PURE__ */ new Set([...Object.keys(leftFields), ...Object.keys(rightFields)]);
const fields = [];
for (const field of keys) {
const leftValue = leftFields[field];
const rightValue = rightFields[field];
if (leftValue !== rightValue) {
fields.push({ field, a: leftValue, b: rightValue });
}
}
return { changed: fields.length > 0, fields };
}
function splitFields(value, type) {
switch (type) {
case "cpf":
return {
base: value.slice(0, 9),
dv: value.slice(9, 11)
};
case "cnpj":
return {
base: value.slice(0, 12),
dv: value.slice(12, 14)
};
case "cep":
return {
prefix: value.slice(0, 5),
suffix: value.slice(5, 8)
};
case "telefone":
return { ddd: value.slice(0, 2), subscriber: value.slice(2) };
case "pis-pasep":
return {
base: value.slice(0, 10),
dv: value.slice(10, 11)
};
case "cnh":
return {
base: value.slice(0, 9),
dv1: value.slice(9, 10),
dv2: value.slice(10, 11)
};
case "renavam":
return {
base: value.slice(0, 10),
dv: value.slice(10, 11)
};
case "titulo-eleitor":
return {
sequential: value.slice(0, 8),
uf: value.slice(8, 10),
dv: value.slice(10, 12)
};
case "nfe-chave":
return {
cUF: value.slice(0, 2),
aamm: value.slice(2, 6),
cnpj: value.slice(6, 20),
mod: value.slice(20, 22),
serie: value.slice(22, 25),
nNF: value.slice(25, 34),
tpEmis: value.slice(34, 35),
cNF: value.slice(35, 43),
cDV: value.slice(43, 44)
};
case "placa":
return { value };
case "boleto":
case "cartao-credito":
case "inscricao-estadual":
case "inscricao-estadual-produtor-rural":
case "pix":
case "brcode":
return { value };
default: {
return { value };
}
}
}
export { diff };
//# sourceMappingURL=chunk-S4WWYHQM.js.map
//# sourceMappingURL=chunk-S4WWYHQM.js.map
{"version":3,"sources":["../src/diff/index.ts"],"names":[],"mappings":"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","file":"chunk-S4WWYHQM.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 '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 'pix':\n case 'brcode':\n return { value };\n default: {\n const _exhaustive: never = type;\n void _exhaustive;\n return { value };\n }\n }\n}\n"]}
import { formatNfeChave } from './chunk-JKDU7QYP.js';
import { formatPisPasep } from './chunk-VSW3NBJQ.js';
import { formatPixKey } from './chunk-JSNXKBZA.js';
import { formatPlaca } from './chunk-YD5MPZWY.js';
import { formatRenavam } from './chunk-5EJAENH5.js';
import { formatTelefone } from './chunk-MAM4U3UR.js';
import { formatTituloEleitor } from './chunk-O3T7PUBI.js';
import { formatIeProdutorRural } from './chunk-54UWHK5L.js';
import { formatCnh } from './chunk-EQV33L7H.js';
import { formatCnpj } from './chunk-RMTHCPIV.js';
import { formatCpf } from './chunk-EN7PVDYB.js';
import { computeRenavamCheckDigit, RENAVAM_BASE_LENGTH } from './chunk-NT3TNF3R.js';
import { NFE_IBGE_UF_CODES, validateNfeChave, NFE_MODELO_NFE, computeNfeChaveCheckDigit, NFE_CHAVE_GOLDEN_PRIMARY } from './chunk-AO6UTQ4A.js';
import { PIS_PASEP_DV_WEIGHTS, PIS_PASEP_BASE_LENGTH } from './chunk-JLCQ7MGC.js';
import { PLACA_LEGACY_PATTERN, PLACA_MERCOSUL_PATTERN, validatePlaca } from './chunk-3LMDBXU6.js';
import { ANATEL_DDDS, validateTelefone } from './chunk-OOUEURR7.js';
import { TITULO_ELEITOR_UF_BY_CODE, validateTituloEleitor, TITULO_ELEITOR_SEQUENTIAL_LENGTH, computeTituloEleitorCheckDigits, TITULO_ELEITOR_GOLDEN_PRIMARY, TITULO_ELEITOR_GOLDEN_SP_SPECIAL } from './chunk-XHDRWM46.js';
import { validateInscricaoEstadual, formatInscricaoEstadual } from './chunk-665E36SC.js';
import { validateIeSpRural, computeIeSpCheckDigit, IE_SP_DV1_WEIGHTS, IE_SP_RURAL_GOLDEN, IE_SP_GOLDEN, IE_MT_GOLDEN_LEGACY, IE_DF_GOLDEN, computeIeToCheckDigit, computeIeRoCheckDigit, computeIeCyclicMod11CheckDigit, computeIeRrCheckDigit, computeIeAmCheckDigit, computeIeAlCheckDigit, IE_AP_PREFIX, computeIeApCheckDigit, IE_GO_PREFIXES, computeIeGoCheckDigit, computeIePeCheckDigit, computeIeBaModule, computeIeBaCheckDigit, computeIeMgFirstCheckDigit, computeIeMgSecondCheckDigit, IE_MT_PREFIX, computeIeMtCheckDigit, IE_DF_PREFIX, computeIeDfCheckDigit, IE_DF_DV1_WEIGHTS, IE_DF_DV2_WEIGHTS, IE_SP_DV2_WEIGHTS, IE_RR_PREFIX, computeIeCeCheckDigit, IE_AL_PREFIX, computeIePrStyleCheckDigit, IE_RN_PREFIX, IE_MA_PREFIX, IE_PA_PREFIX, IE_MS_PREFIX, computeIeAcCheckDigit, IE_AC_PREFIX } from './chunk-CDNOUZEI.js';
import { computeCnhCheckDigits, CNH_BASE_LENGTH } from './chunk-VKG7UEN5.js';
import { formatBoleto } from './chunk-XWHGXSQV.js';
import { buildArrecadacaoGoldenPair, validateArrecadacao, validateCodigoBarras } from './chunk-N6RQICAP.js';
import { convertCodigoBarrasToLinhaDigits, BOLETO_GOLDEN_LINHA_STRIPPED, computeModulo11BarcodeDv, BOLETO_CURRENCY_REAL } from './chunk-E2EFGMWA.js';
import { validateBrCode, buildStaticPixBrCode, BRCODE_GOLDEN_STATIC_EVP } from './chunk-MZDCVTN6.js';
import { validatePixEvpKey, PIX_GOLDEN_EVP } from './chunk-KLONQL76.js';
import { CNPJ_DV1_WEIGHTS, cnpjCharValue, CNPJ_DV2_WEIGHTS, CNPJ_BASE_LENGTH } from './chunk-FBARVLLP.js';
import { CPF_DV1_WEIGHTS, CPF_DV2_WEIGHTS, CPF_BASE_LENGTH } from './chunk-L7PF4KD6.js';
import { computeCheckDigit } from './chunk-OTZHMJYE.js';
import { formatCartaoCredito } from './chunk-B6A7VF4R.js';
import { detectCardBrand, validateCartaoCredito, CARTAO_GOLDEN_AMEX, CARTAO_GOLDEN_MASTERCARD, CARTAO_GOLDEN_VISA, HIPERCARD_IIN_PREFIXES, ELO_IIN_PREFIXES } from './chunk-ANWQBKGN.js';
import { formatCep } from './chunk-SDEJD2J7.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/generate/apply-mask.ts
function applyMask(type, value) {
switch (type) {
case "cpf": {
const result = formatCpf(value);
return result.ok ? result.formatted : value;
}
case "cnpj": {
const result = formatCnpj(value);
return result.ok ? result.formatted : value;
}
case "cep": {
const result = formatCep(value);
return result.ok ? result.formatted : value;
}
case "placa": {
const result = formatPlaca(value);
return result.ok ? result.formatted : value;
}
case "pis-pasep": {
const result = formatPisPasep(value);
return result.ok ? result.formatted : value;
}
case "renavam": {
const result = formatRenavam(value);
return result.ok ? result.formatted : value;
}
case "cnh": {
const result = formatCnh(value);
return result.ok ? result.formatted : value;
}
case "telefone": {
const result = formatTelefone(value);
return result.ok ? result.formatted : value;
}
case "cartao-credito": {
const result = formatCartaoCredito(value);
return result.ok ? result.formatted : value;
}
case "inscricao-estadual":
return value;
case "titulo-eleitor": {
const result = formatTituloEleitor(value);
return result.ok ? result.formatted : value;
}
case "pix": {
const result = formatPixKey(value);
return result.ok ? result.formatted : value;
}
case "nfe-chave": {
const result = formatNfeChave(value);
return result.ok ? result.formatted : value;
}
case "boleto": {
const result = formatBoleto(value);
return result.ok ? result.formatted : value;
}
case "boleto-arrecadacao":
return value;
case "brcode":
return value;
case "inscricao-estadual-produtor-rural": {
const result = formatIeProdutorRural(value);
return result.ok ? result.formatted : value;
}
default: {
const _exhaustive = type;
return _exhaustive;
}
}
}
// src/generate/boleto.ts
var MAX_ATTEMPTS = 80;
var BANK_CODES = ["001", "033", "104", "237", "341", "756"];
function buildBarcode(rng, validateBarcode) {
const bank = rng.pick(BANK_CODES);
const fator = rng.digits(4);
const valor = rng.digits(10);
const freeField = rng.digits(25);
const withoutDv = bank + BOLETO_CURRENCY_REAL + fator + valor + freeField;
const dv = computeModulo11BarcodeDv(withoutDv);
const barcode = `${bank}${BOLETO_CURRENCY_REAL}${String(dv)}${fator}${valor}${freeField}`;
if (!validateBarcode(barcode).ok) {
return null;
}
return barcode;
}
function generateBoletoValue(rng, validateBarcode = validateCodigoBarras) {
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
const barcode = buildBarcode(rng, validateBarcode);
if (barcode) {
return convertCodigoBarrasToLinhaDigits(barcode);
}
}
return BOLETO_GOLDEN_LINHA_STRIPPED;
}
// src/generate/boleto-arrecadacao.ts
var ARRECADACAO_GOLDEN_LINHA = buildArrecadacaoGoldenPair({
segment: "4",
valueType: "6",
value: "00000008123",
company: "4567",
free: "89012345678901234567890123"
}).linha;
var MAX_ATTEMPTS2 = 80;
var VALUE_TYPES = ["6", "7", "8", "9"];
var SEGMENTS = ["1", "2", "3", "4", "5", "6", "7", "9"];
function applyArrecadacaoLinhaMask(linha) {
return `${linha.slice(0, 11)} ${linha.slice(11, 23)} ${linha.slice(23, 35)} ${linha.slice(35, 47)} ${linha.charAt(47)}`;
}
function generateBoletoArrecadacaoValue(rng, validate = validateArrecadacao) {
for (let attempt = 0; attempt < MAX_ATTEMPTS2; attempt++) {
const pair = buildArrecadacaoGoldenPair({
segment: rng.pick(SEGMENTS),
valueType: rng.pick(VALUE_TYPES),
value: rng.digits(11),
company: rng.digits(4),
free: rng.digits(25)
});
if (validate(pair.linha).ok) {
return pair.linha;
}
}
return ARRECADACAO_GOLDEN_LINHA;
}
// src/generate/pix.ts
var MAX_ATTEMPTS3 = 80;
function seededUuidV4(rng) {
const bytes = Array.from({ length: 16 }, () => rng.int(0, 255));
bytes[6] = bytes[6] & 15 | 64;
bytes[8] = bytes[8] & 63 | 128;
const hex = bytes.map((byte) => byte.toString(16).padStart(2, "0")).join("");
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
}
function generatePixEvpValue(rng, validate = validatePixEvpKey) {
for (let attempt = 0; attempt < MAX_ATTEMPTS3; attempt++) {
const candidate = seededUuidV4(rng);
if (validate(candidate).ok) {
return candidate;
}
}
return PIX_GOLDEN_EVP;
}
// src/generate/brcode.ts
var MAX_ATTEMPTS4 = 50;
var DEFAULT_MERCHANT_NAME = "Merchant Test";
var DEFAULT_MERCHANT_CITY = "BRASILIA";
function generateBrcodeValue(rng, input = {}, validate = validateBrCode) {
const pixKey = input.pixKey ?? generatePixEvpValue(rng);
const merchantName = input.merchantName ?? DEFAULT_MERCHANT_NAME;
const merchantCity = input.merchantCity ?? DEFAULT_MERCHANT_CITY;
for (let attempt = 0; attempt < MAX_ATTEMPTS4; attempt++) {
const payload = buildStaticPixBrCode({
pixKey,
merchantName,
merchantCity,
...input.amount ? { amount: input.amount } : {},
...input.txid ? { txid: input.txid } : {}
});
if (validate(payload).ok) {
return payload;
}
}
return BRCODE_GOLDEN_STATIC_EVP;
}
// src/generate/random.ts
function mulberry32(seed) {
let state = seed >>> 0;
return () => {
state = state + 1831565813 >>> 0;
let t = state;
t = Math.imul(t ^ t >>> 15, t | 1);
t ^= t + Math.imul(t ^ t >>> 7, t | 61);
return ((t ^ t >>> 14) >>> 0) / 4294967296;
};
}
function createRandomSource(seed) {
const nextFn = seed === void 0 ? () => Math.random() : mulberry32(seed);
return {
next: nextFn,
int(min, max) {
return Math.floor(nextFn() * (max - min + 1)) + min;
},
digit() {
return String(Math.floor(nextFn() * 10));
},
digits(count) {
let out = "";
for (let i = 0; i < count; i++) {
out += this.digit();
}
return out;
},
letter() {
const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return letters.charAt(this.int(0, letters.length - 1));
},
pick(items) {
return items[this.int(0, items.length - 1)];
}
};
}
function hasRepeatedChars(value) {
const first = value[0];
for (let i = 1; i < value.length; i++) {
if (value[i] !== first) {
return false;
}
}
return true;
}
function computeLuhnCheckDigit(partial) {
let sum = 0;
let double = true;
for (let i = partial.length - 1; i >= 0; i--) {
let digit = Number(partial.charAt(i));
if (double) {
digit *= 2;
if (digit > 9) {
digit -= 9;
}
}
sum += digit;
double = !double;
}
return String((10 - sum % 10) % 10);
}
// src/generate/cartao-credito.ts
var MAX_ATTEMPTS5 = 50;
var GENERATABLE_CARD_BRANDS = [
"visa",
"mastercard",
"amex",
"elo",
"hipercard"
];
var BRAND_FALLBACKS = {
visa: CARTAO_GOLDEN_VISA,
mastercard: CARTAO_GOLDEN_MASTERCARD,
amex: CARTAO_GOLDEN_AMEX,
elo: "401178000000006",
hipercard: "606282000000003"
};
function buildBrandPartial(rng, brand) {
switch (brand) {
case "visa":
return `411111${rng.digits(9)}`;
case "mastercard":
return `${rng.pick(["51", "52", "53", "54", "55"])}${rng.digits(13)}`;
case "amex":
return `${rng.pick(["34", "37"])}${rng.digits(12)}`;
case "elo": {
const prefix = rng.pick(ELO_IIN_PREFIXES);
return `${prefix}${rng.digits(16 - prefix.length - 1)}`;
}
case "hipercard": {
const prefix = rng.pick(HIPERCARD_IIN_PREFIXES);
return `${prefix}${rng.digits(16 - prefix.length - 1)}`;
}
default: {
const _exhaustive = brand;
return _exhaustive;
}
}
}
function buildRandomPartial(rng) {
const length = rng.int(13, 16);
return rng.digits(length - 1);
}
function generateCartaoCreditoValue(rng, brand, detectBrand = detectCardBrand, validate = validateCartaoCredito) {
for (let attempt = 0; attempt < MAX_ATTEMPTS5; attempt++) {
const partial = brand ? buildBrandPartial(rng, brand) : buildRandomPartial(rng);
if (hasRepeatedChars(partial)) {
continue;
}
const candidate = partial + computeLuhnCheckDigit(partial);
if (!validate(candidate).ok) {
continue;
}
if (brand && detectBrand(candidate) !== brand) {
continue;
}
return candidate;
}
if (brand) {
return BRAND_FALLBACKS[brand];
}
return CARTAO_GOLDEN_VISA;
}
function isGeneratableCardBrand(brand) {
return GENERATABLE_CARD_BRANDS.includes(brand);
}
// src/generate/cpf-alpha.ts
var CPF_ALPHA_GENERATE_STUB = {
ok: false,
code: "CPF_ALPHA_SPEC_PENDING",
message: "Alphanumeric CPF generation is pending official RFB specification \u2014 numeric CPF only until published"
};
function rejectCpfAlphanumericGenerate() {
return CPF_ALPHA_GENERATE_STUB;
}
function assertCpfAlphanumericGenerateAllowed() {
throw new Error(`${CPF_ALPHA_GENERATE_STUB.code}: ${CPF_ALPHA_GENERATE_STUB.message}`);
}
// src/generate/inscricao-estadual-produtor-rural.ts
var MAX_ATTEMPTS6 = 50;
function generateIeProdutorRuralValue(rng, validate = validateIeSpRural) {
for (let attempt = 0; attempt < MAX_ATTEMPTS6; attempt++) {
const dvInput = rng.digits(8);
const dv = String(computeIeSpCheckDigit(dvInput, IE_SP_DV1_WEIGHTS));
const suffix = rng.digits(3);
const candidate = `P${dvInput}${dv}${suffix}`;
if (validate(candidate).ok) {
return candidate;
}
}
return IE_SP_RURAL_GOLDEN;
}
// src/generate/inscricao-estadual.ts
var MAX_ATTEMPTS7 = 50;
var IE_GENERATE_FALLBACKS = {
AC: "0113253877910",
AL: "248682954",
AM: "917050150",
AP: "039045820",
BA: "63984300",
CE: "836182316",
DF: IE_DF_GOLDEN,
ES: "463921810",
GO: "112237118",
MA: "123517680",
MG: "2490944173923",
MS: "282570926",
MT: IE_MT_GOLDEN_LEGACY,
PA: "153662476",
PB: "312029063",
PE: "064970639",
PI: "465180426",
PR: "0031595584",
RJ: "06540481",
RN: "204502292",
RO: "39206839474860",
RR: "247681047",
RS: "3288345503",
SC: "632480718",
SE: "826594042",
SP: IE_SP_GOLDEN,
TO: "27035910938"
};
function prefixBody8(rng, prefix) {
return prefix + rng.digits(8 - prefix.length);
}
function buildCeStyle(rng, prefix) {
const body = prefix ? prefixBody8(rng, prefix) : rng.digits(8);
return body + String(computeIeCeCheckDigit(body));
}
function buildDualTrailing(rng, prefix, bodyLength, computeFirst, computeSecond) {
const body = prefix + rng.digits(bodyLength - prefix.length);
const first = computeFirst(body);
const second = computeSecond(body + String(first));
return body + String(first) + String(second);
}
function generateSpValue(rng) {
const head = rng.digits(8);
const middle = rng.digits(2);
let partial = `${head}0${middle}0`;
const dv1 = computeIeSpCheckDigit(partial, IE_SP_DV1_WEIGHTS);
partial = `${head}${String(dv1)}${middle}0`;
const dv2 = computeIeSpCheckDigit(partial, IE_SP_DV2_WEIGHTS);
return `${head}${String(dv1)}${middle}${String(dv2)}`;
}
function generateDfValue(rng) {
const core11 = IE_DF_PREFIX + rng.digits(9);
const dv1 = computeIeDfCheckDigit(core11, IE_DF_DV1_WEIGHTS);
const dv2 = computeIeDfCheckDigit(core11, IE_DF_DV2_WEIGHTS, true, dv1);
return `${core11}${String(dv1)}${String(dv2)}`;
}
function generateMtValue(rng) {
const padded = `${IE_MT_PREFIX.padStart(4, "0")}${rng.digits(6)}`;
const dv = computeIeMtCheckDigit(padded.slice(0, 10));
return `${padded.slice(0, 10)}${String(dv)}`;
}
function generateMgValue(rng) {
const body = rng.digits(11);
const first = computeIeMgFirstCheckDigit(body);
const second = computeIeMgSecondCheckDigit(body + String(first));
return body + String(first) + String(second);
}
function generateBaValue(rng) {
const body = rng.digits(6);
const mod = computeIeBaModule(`${body}00`);
const second = computeIeBaCheckDigit(body, mod);
const first = computeIeBaCheckDigit(body + String(second), mod);
return body + String(first) + String(second);
}
function generatePeValue(rng) {
const body = rng.digits(7);
const first = computeIePeCheckDigit(body);
const second = computeIePeCheckDigit(body + String(first));
return body + String(first) + String(second);
}
function generateGoValue(rng) {
const prefix = rng.pick([...IE_GO_PREFIXES]);
const body = prefix + rng.digits(6);
return body + String(computeIeGoCheckDigit(body));
}
function generateApValue(rng) {
const body = IE_AP_PREFIX + rng.digits(6);
const dv = computeIeApCheckDigit(body);
return body + String(dv);
}
var GENERATORS = {
SP: generateSpValue,
DF: generateDfValue,
MT: generateMtValue,
MG: generateMgValue,
BA: generateBaValue,
PE: generatePeValue,
GO: generateGoValue,
AP: generateApValue,
AC: (rng) => buildDualTrailing(rng, IE_AC_PREFIX, 11, computeIeAcCheckDigit, computeIeAcCheckDigit),
AL: (rng) => {
const body = prefixBody8(rng, IE_AL_PREFIX);
return body + String(computeIeAlCheckDigit(body));
},
AM: (rng) => {
const body = rng.digits(8);
return body + String(computeIeAmCheckDigit(body));
},
CE: (rng) => buildCeStyle(rng),
ES: (rng) => buildCeStyle(rng),
SC: (rng) => buildCeStyle(rng),
SE: (rng) => buildCeStyle(rng),
PB: (rng) => buildCeStyle(rng),
PI: (rng) => buildCeStyle(rng),
MS: (rng) => buildCeStyle(rng, IE_MS_PREFIX),
PA: (rng) => buildCeStyle(rng, IE_PA_PREFIX),
MA: (rng) => buildCeStyle(rng, IE_MA_PREFIX),
RN: (rng) => buildCeStyle(rng, IE_RN_PREFIX),
RR: (rng) => {
const body = prefixBody8(rng, IE_RR_PREFIX);
return body + String(computeIeRrCheckDigit(body));
},
PR: (rng) => buildDualTrailing(rng, "", 8, computeIePrStyleCheckDigit, computeIePrStyleCheckDigit),
RJ: (rng) => {
const body = rng.digits(7);
return body + String(computeIeCyclicMod11CheckDigit(body, 2, 7));
},
RS: (rng) => {
const body = rng.digits(9);
return body + String(computeIeCyclicMod11CheckDigit(body, 2, 9));
},
RO: (rng) => {
const body = rng.digits(13);
return body + String(computeIeRoCheckDigit(body));
},
TO: (rng) => {
const body = rng.digits(8);
return body + String(computeIeToCheckDigit(body));
}
};
function generateInscricaoEstadualValue(uf, rng, validate = validateInscricaoEstadual) {
const generator = GENERATORS[uf];
for (let attempt = 0; attempt < MAX_ATTEMPTS7; attempt++) {
const candidate = generator(rng);
if (validate(candidate, { uf }).ok) {
return candidate;
}
}
return IE_GENERATE_FALLBACKS[uf];
}
// src/generate/nfe-chave.ts
var MAX_ATTEMPTS8 = 80;
var NFE_UF_CODES = [...NFE_IBGE_UF_CODES];
function generateNfeChaveValue(rng, validate = validateNfeChave) {
for (let attempt = 0; attempt < MAX_ATTEMPTS8; attempt++) {
const cuf = String(rng.pick(NFE_UF_CODES)).padStart(2, "0");
const aamm = rng.digits(4);
const cnpj = rng.digits(14);
const serie = rng.digits(3);
const invoiceNumber = rng.digits(9);
const emissionType = String(rng.int(0, 9));
const numericCode = rng.digits(8);
const base43 = `${cuf}${aamm}${cnpj}${NFE_MODELO_NFE}${serie}${invoiceNumber}${emissionType}${numericCode}`;
const candidate = `${base43}${String(computeNfeChaveCheckDigit(base43))}`;
if (validate(candidate).ok) {
return candidate;
}
}
return NFE_CHAVE_GOLDEN_PRIMARY;
}
// src/generate/titulo-eleitor.ts
var MAX_ATTEMPTS9 = 50;
var TITULO_ELEITOR_CODE_BY_UF = Object.fromEntries(
Object.entries(TITULO_ELEITOR_UF_BY_CODE).map(([code, uf]) => [uf, Number(code)])
);
var TITULO_GENERATE_FALLBACKS = {
SP: TITULO_ELEITOR_GOLDEN_SP_SPECIAL,
SC: TITULO_ELEITOR_GOLDEN_PRIMARY
};
function deterministicTituloFallback(uf) {
const ufCode = TITULO_ELEITOR_CODE_BY_UF[uf];
const ufDigits = String(ufCode).padStart(2, "0");
const sequential = "12345678";
const checkDigits = computeTituloEleitorCheckDigits(sequential, ufDigits, ufCode);
return `${sequential}${ufDigits}${checkDigits}`;
}
function generateTituloEleitorValue(uf, rng, validate = validateTituloEleitor) {
const ufCode = TITULO_ELEITOR_CODE_BY_UF[uf];
const ufDigits = String(ufCode).padStart(2, "0");
for (let attempt = 0; attempt < MAX_ATTEMPTS9; attempt++) {
const sequential = rng.digits(TITULO_ELEITOR_SEQUENTIAL_LENGTH);
if (hasRepeatedChars(sequential)) {
continue;
}
const checkDigits = computeTituloEleitorCheckDigits(sequential, ufDigits, ufCode);
const candidate = `${sequential}${ufDigits}${checkDigits}`;
if (validate(candidate).ok) {
return candidate;
}
}
return TITULO_GENERATE_FALLBACKS[uf] ?? deterministicTituloFallback(uf);
}
// src/generate/index.ts
var CNPJ_ALNUM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var MAX_ATTEMPTS10 = 50;
function digitValue(char) {
return Number(char);
}
function randomBaseDigits(rng, length) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const base = rng.digits(length);
if (!hasRepeatedChars(base)) {
return base;
}
}
return "123456789".slice(0, length).padEnd(length, "1");
}
function randomCnpjAlphanumericBase(rng) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
let base = "";
for (let i = 0; i < CNPJ_BASE_LENGTH; i++) {
base += CNPJ_ALNUM_CHARS.charAt(rng.int(0, CNPJ_ALNUM_CHARS.length - 1));
}
if (!hasRepeatedChars(base)) {
return base;
}
}
return "12ABC34501DE";
}
function generateCpfValue(rng) {
const base = randomBaseDigits(rng, CPF_BASE_LENGTH);
const dv1 = String(computeCheckDigit(base, CPF_DV1_WEIGHTS, digitValue));
const dv2 = String(computeCheckDigit(base + dv1, CPF_DV2_WEIGHTS, digitValue));
return base + dv1 + dv2;
}
function generateCnpjValue(rng, format) {
if (format === "alphanumeric") {
const base2 = randomCnpjAlphanumericBase(rng);
const dv12 = String(computeCheckDigit(base2, CNPJ_DV1_WEIGHTS, cnpjCharValue));
const dv22 = String(computeCheckDigit(base2 + dv12, CNPJ_DV2_WEIGHTS, cnpjCharValue));
return base2 + dv12 + dv22;
}
const base = randomBaseDigits(rng, CNPJ_BASE_LENGTH);
const dv1 = String(computeCheckDigit(base, CNPJ_DV1_WEIGHTS, digitValue));
const dv2 = String(computeCheckDigit(base + dv1, CNPJ_DV2_WEIGHTS, digitValue));
return base + dv1 + dv2;
}
function generateCepValue(rng) {
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const value = rng.digits(8);
if (value !== "00000000" && validateCep(value).ok) {
return value;
}
}
return "01310100";
}
function generatePlacaValue(rng, format) {
const mode = format === "legacy" ? "legacy" : "mercosul";
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const letters = rng.letter() + rng.letter() + rng.letter();
let candidate;
if (mode === "legacy") {
candidate = letters + rng.digits(4);
if (!PLACA_LEGACY_PATTERN.test(candidate)) {
continue;
}
} else {
candidate = letters + rng.digit() + rng.pick(["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]) + rng.digits(2);
if (!PLACA_MERCOSUL_PATTERN.test(candidate)) {
continue;
}
}
if (validatePlaca(candidate).ok) {
return candidate;
}
}
return mode === "legacy" ? "ABC1234" : "ABC1D23";
}
function generatePisValue(rng) {
const base = randomBaseDigits(rng, PIS_PASEP_BASE_LENGTH);
const dv = String(computeCheckDigit(base, PIS_PASEP_DV_WEIGHTS, digitValue));
return base + dv;
}
function generateRenavamValue(rng) {
const base = randomBaseDigits(rng, RENAVAM_BASE_LENGTH);
const dv = String(computeRenavamCheckDigit(base));
return base + dv;
}
function generateCnhValue(rng) {
const base = randomBaseDigits(rng, CNH_BASE_LENGTH);
return base + computeCnhCheckDigits(base);
}
function generateTelefoneValue(rng, format) {
const ddd = rng.pick(ANATEL_DDDS);
const useFixo = format === "fixo";
for (let attempt = 0; attempt < MAX_ATTEMPTS10; attempt++) {
const local = useFixo ? String(rng.int(2, 5)) + rng.digits(7) : `9${rng.digits(8)}`;
const candidate = ddd + local;
if (validateTelefone(candidate).ok) {
return candidate;
}
}
return useFixo ? "1133333333" : "11999999999";
}
function generateCartaoValue(rng, brand) {
return generateCartaoCreditoValue(rng, brand);
}
function applyInscricaoEstadualGenerateMask(value, uf) {
const formatted = formatInscricaoEstadual(value, { uf });
return formatted.ok ? formatted.formatted : value;
}
function generate(type, options = {}) {
const rng = createRandomSource(options.seed);
let value;
switch (type) {
case "cpf":
if (options.format === "alphanumeric") {
assertCpfAlphanumericGenerateAllowed();
}
value = generateCpfValue(rng);
break;
case "cnpj":
value = generateCnpjValue(rng, options.format);
break;
case "cep":
value = generateCepValue(rng);
break;
case "placa":
value = generatePlacaValue(rng, options.format);
break;
case "pis-pasep":
value = generatePisValue(rng);
break;
case "renavam":
value = generateRenavamValue(rng);
break;
case "cnh":
value = generateCnhValue(rng);
break;
case "telefone":
value = generateTelefoneValue(rng, options.format);
break;
case "cartao-credito":
value = generateCartaoValue(rng, options.brand);
break;
case "inscricao-estadual": {
if (!options.uf) {
throw new Error("UF is required for inscricao-estadual generation");
}
value = generateInscricaoEstadualValue(options.uf, rng);
break;
}
case "titulo-eleitor": {
if (!options.uf) {
throw new Error("UF is required for titulo-eleitor generation");
}
value = generateTituloEleitorValue(options.uf, rng);
break;
}
case "pix":
value = generatePixEvpValue(rng);
break;
case "nfe-chave":
value = generateNfeChaveValue(rng);
break;
case "brcode":
value = generateBrcodeValue(rng, {
pixKey: options.pixKey,
merchantName: options.merchantName,
merchantCity: options.merchantCity,
amount: options.amount,
txid: options.txid
});
break;
case "boleto":
value = generateBoletoValue(rng);
break;
case "boleto-arrecadacao":
value = generateBoletoArrecadacaoValue(rng);
break;
case "inscricao-estadual-produtor-rural":
value = generateIeProdutorRuralValue(rng);
break;
default: {
const _exhaustive = type;
throw new Error(`Unsupported generatable type: ${String(_exhaustive)}`);
}
}
if (options.masked && type === "inscricao-estadual") {
return applyInscricaoEstadualGenerateMask(value, options.uf);
}
if (options.masked && type === "boleto-arrecadacao") {
return applyArrecadacaoLinhaMask(value);
}
return options.masked ? applyMask(type, value) : value;
}
export { CPF_ALPHA_GENERATE_STUB, GENERATABLE_CARD_BRANDS, applyArrecadacaoLinhaMask, assertCpfAlphanumericGenerateAllowed, generate, isGeneratableCardBrand, rejectCpfAlphanumericGenerate };
//# sourceMappingURL=chunk-SKDMG3FK.js.map
//# sourceMappingURL=chunk-SKDMG3FK.js.map

Sorry, the diff of this file is too big to display

import { applyFixes } from './chunk-GWAYWBHN.js';
import { validateRenavam } from './chunk-NT3TNF3R.js';
import { validateNfeChave } from './chunk-AO6UTQ4A.js';
import { validatePisPasep } from './chunk-JLCQ7MGC.js';
import { validatePlaca } from './chunk-3LMDBXU6.js';
import { validateTelefone } from './chunk-OOUEURR7.js';
import { validateTituloEleitor } from './chunk-XHDRWM46.js';
import { validateInscricaoEstadual } from './chunk-665E36SC.js';
import { validateIeSpRural } from './chunk-CDNOUZEI.js';
import { validateCnh } from './chunk-VKG7UEN5.js';
import { validateBoleto } from './chunk-AU6TW3GH.js';
import { validateCnpj } from './chunk-FBARVLLP.js';
import { validateCpf } from './chunk-L7PF4KD6.js';
import { validateCartaoCredito } from './chunk-ANWQBKGN.js';
import { validateCep } from './chunk-P6TOL5VY.js';
// src/sanitize/index.ts
function sanitize(raw, type, options = {}) {
const { value: fixed, fixes } = applyFixes(raw, type);
if (type === "inscricao-estadual" && !options.uf) {
return {
ok: false,
code: "UNSUPPORTED_FORMAT",
message: "UF is required for inscricao-estadual sanitization"
};
}
const validation = validateFixed(fixed, type, options.uf);
if (!validation.ok) {
return { ok: false, code: validation.code, message: validation.message };
}
return { ok: true, value: validation.value, fixes };
}
function validateFixed(value, type, uf) {
switch (type) {
case "cpf": {
const result = validateCpf(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnpj": {
const result = validateCnpj(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cep": {
const result = validateCep(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "placa": {
const result = validatePlaca(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "pis-pasep": {
const result = validatePisPasep(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "telefone": {
const result = validateTelefone(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cnh": {
const result = validateCnh(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "renavam": {
const result = validateRenavam(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "titulo-eleitor": {
const result = validateTituloEleitor(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "nfe-chave": {
const result = validateNfeChave(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "boleto": {
const result = validateBoleto(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "cartao-credito": {
const result = validateCartaoCredito(value);
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual": {
const result = validateInscricaoEstadual(value, { uf });
return result.ok ? { ok: true, value: result.value } : result;
}
case "inscricao-estadual-produtor-rural": {
const result = validateIeSpRural(value);
return result.ok ? { ok: true, value: result.value } : result;
}
default: {
const _exhaustive = type;
return { ok: false, code: "UNSUPPORTED_FORMAT", message: `Unsupported type: ${String(_exhaustive)}` };
}
}
}
export { sanitize };
//# sourceMappingURL=chunk-ZTDLGGYE.js.map
//# sourceMappingURL=chunk-ZTDLGGYE.js.map
{"version":3,"sources":["../src/sanitize/index.ts"],"names":[],"mappings":"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","file":"chunk-ZTDLGGYE.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 { 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 | '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 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 '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"]}