npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@brasil-interface/utils

v1.2.1-alpha.0

Published

## Sumário

Downloads

611

Readme

Brasil Interface - Utils

Sumário

Descrição

Após perceber que muitos desenvolvedores brasileiros precisam lidar com dados do governo brasileiro, como CPF, CNPJ, CEP, etc, decidi criar uma lib com funções utilitárias para lidar com estes dados. Minha motivação veio ao perceber o quão disperso está o conhecimento sobre estes dados, e o quão difícil é encontrar uma lib que faça tudo o que é necessário para lidar com eles. Todos os métodos desta lib são baseados em informações encontradas pela internet, em sua maioria, em sites do governo brasileiro, antes de implementar cada um deles, uma documentação foi criada para que o conhecimento não se perca novamente. Sinta-se livre para contribuir com a lib e com a documentação.

Notas

  • Um sumário das documentações para cada método pode ser encontrado aqui.
  • A lib conta com uma cli para facilitar o acesso aos métodos, você pode encontrar a documentação da cli aqui.
  • A lib funciona tanto no browser quanto no node.

Instalação

yarn add @brasil-interface/utils

ou

npm install @brasil-interface/utils

ou

pnpm install @brasil-interface/utils

Como usar

A lib conta com funções para validar, gerar aleatoriamente, aplicar máscara e remover máscara para os seguintes dados:

CPF

import { CPF } from '@brasil-interface/utils';

CPF.isValid('123.456.789-09'); // true

CPF.generate(); // '123.456.789-09'

CPF.mask('12345678909'); // '123.456.789-09'

CPF.unmask('123.456.789-09'); // '12345678909'

CPF.getEstado('123.456.789-09'); // ["PR","SC"]

CNPJ

import { CNPJ } from '@brasil-interface/utils';

CNPJ.isValid('11.155.336/1865-70'); // true

CNPJ.generate(); // '11.155.336/1865-70'

CNPJ.mask('11155336186570'); // '11.155.336/1865-70'

CNPJ.unmask('11.155.336/1865-70'); // '11155336186570'

PIS

import { PIS } from '@brasil-interface/utils';

PIS.isValid('325.89112.12-9'); // true

PIS.generate(); // '325.89112.12-9'

PIS.mask('32589112129'); // '325.89112.12-9'

PIS.unmask('325.89112.12-9'); // '32589112129'

CNH

import { CNH } from '@brasil-interface/utils';

CNH.isValid('65719372220'); // true

CNH.generate(); // '65719372220'

RG

Note que o RG tem implementações diferentes para cada estado, por isso, é necessário acessar o estado específico para utilizar os métodos. No momento, a lib conta apenas com a implementação para o estado de São Paulo.

import { RG } from '@brasil-interface/utils';

RG.SP.isValid('72.445.865-7'); // true

RG.SP.generate(); // '724458657'

RG.SP.mask('724458657'); // '72.445.865-7'

RG.SP.unmask('72.445.865-7'); // '724458657'

Titulo de Eleitor

import { TituloDeEleitor } from '@brasil-interface/utils';

TituloDeEleitor.isValid('737877331023'); // true

TituloDeEleitor.generate(); // '737877331023'

TituloDeEleitor.getEstado('737877331023'); // 'GO'

Inscrição Estadual

A inscrição estadual tem implementações diferentes para cada estado, por isso, é necessário acessar o estado específico para utilizar os métodos. A lib conta com implementações para todos os estados.

Para fins de brevidade, o estado de São Paulo será utilizado como exemplo.

import { InscricaoEstadual } from '@brasil-interface/utils';

InscricaoEstadual.SP.isValid('447746234481'); // true

InscricaoEstadual.SP.generate(); // '447746234481'

InscricaoEstadual.SP.mask('447746234481'); // '447.746.234.481'

InscricaoEstadual.SP.unmask('447.746.234.481'); // '447746234481'

Como contribuir

Leia o arquivo CONTRIBUTING.md no repositório principal.

Contribuidores

Autor

Licença

MIT