br-data-kit

Kit de utilitários brasileiros — validação, máscaras, formatação, buscas com cache e hooks.

Instalar no npm · Repo

Tema

Validações & Máscaras

Busca CEP


    

Exemplos rápidos

import { isCPF, maskCPF, providers, formatBRL, reactExtra } from 'br-data-kit';

isCPF('39053344705'); // true
maskCPF('39053344705'); // "390.533.447-05"
formatBRL(1234.56); // "R$ 1.234,56"

// React / React Native
const cep = reactExtra.useCep(cepInput);
// cep.masked, cep.data, cep.loading, cep.error

const moeda = reactExtra.useCurrencyMask(0);
// moeda.masked ("R$ 0,00"), moeda.raw (number)

Documentação rápida

Resumo das principais formas de usar o pacote no dia a dia.

Instalação

npm i br-data-kit

Uso básico em TypeScript/JavaScript

import {
  isCPF, maskCPF, isCNPJ, maskCNPJ,
  isCEP, maskCEP, formatBRL, providers
} from "br-data-kit";

isCPF("39053344705");
const masked = maskCNPJ("27865757000102");
const valor = formatBRL(1234.56);

const cep = await providers.fetchCEP("01001000");
      

Hooks React / React Native

import { reactExtra } from "br-data-kit";

const cep = reactExtra.useCep(cepInput);
const cnpj = reactExtra.useCnpj(cnpjInput);
const phone = reactExtra.usePhoneMask("");
const moeda = reactExtra.useCurrencyMask(0);
      

CLI

npx br-data-kit validate cpf 39053344705
npx br-data-kit cep 01001000
npx br-data-kit brl 1234.56
      

Para detalhes completos consulte o README no GitHub: documentação completa no GitHub .

Hooks React / React Native

Pensado para formulários no Brasil: CEP/CNPJ com autocomplete e fallback de providers, telefone e moeda BRL com máscara controlada.

import { reactExtra } from "br-data-kit";

// CEP com debounce e busca automática (BrasilAPI + ViaCEP)
const { data, loading, error, masked } = reactExtra.useCep(cepInput);

// CNPJ com fallback (BrasilAPI + Receitaws)
const { data: cnpj, loading: loadingCnpj } = reactExtra.useCnpj(cnpjInput);

// Telefone com máscara dinâmica
const phone = reactExtra.usePhoneMask("");

// Moeda BRL com valor numérico
const moeda = reactExtra.useCurrencyMask(0);
      

Boleto (linha digitável)


    

Buscar CNPJ


    

IBGE — Municípios


    

Datasets (internos)

DDD


        

Bancos


        

Formulário Brasil (demo visual)

Exemplo de fluxo típico de cadastro/checkout com dados brasileiros. Em um app React/React Native, você faria isso usando os hooks do pacote.

Mapa completo da API

Visão geral de tudo o que o pacote oferece.

Validações

isCPF(value: string): boolean
isCNPJ(value: string): boolean
isCEP(value: string): boolean
isPhoneBR(value: string): boolean
isPIS(value: string): boolean
isRENAVAM(value: string): boolean
isCNH(value: string): boolean
isPlateBR(value: string): boolean
isIE(uf: string, value: string): boolean
isIEWithChecksum(uf: string, value: string): boolean
      

Máscaras & formatação

maskCPF(value: string): string
maskCNPJ(value: string): string
maskCEP(value: string): string
maskPhoneBR(value: string): string
maskPIS(value: string): string
maskRENAVAM(value: string): string
maskPlate(value: string): string
formatBRL(value: number, opts?: Intl.NumberFormatOptions): string
      

Providers & dados externos

providers.fetchCEP(cep: string, opts?: { ttlMs?: number }): Promise<CepResponse>
providers.fetchCNPJ(cnpj: string, opts?: { ttlMs?: number; receitawsUrl?: string }): Promise<CnpjResponse>
fetchMunicipios(uf: string): Promise<Municipio[]>
      

Boleto bancário

isValidBoletoLinhaDigitavel(linha: string): boolean
parseBoleto(linha: string): BoletoInfo
      

Datasets internos

import { datasets } from "br-data-kit";
datasets.ddd   // lista de DDDs
datasets.banks // lista de bancos
      

Hooks React / React Native

reactExtra.useCep(input: string, opts?: { ttlMs?: number })
reactExtra.useCnpj(input: string, opts?: { ttlMs?: number; receitawsUrl?: string })
reactExtra.useCepAuto(initial?: string, debounceMs?: number)
reactExtra.usePhoneMask(initial?: string)
reactExtra.useCurrencyMask(initial?: number | string)
reactExtra.useBrField("cpf" | "cnpj" | "cep" | "phone" | "currency")
      

IE — Validação por UF

Playground avançado

Selecione uma função exportada e chame com argumentos em formato JSON (ex: ["01001000"]).