Skip to content

aureliano/go-brutils

Repository files navigation

go-brutils

CI Pipeline Coverage go-brutils release (latest SemVer) PkgGoDev License: MIT

go-brutils é uma biblioteca que implementa algumas regras de negócio inerentes ao Brasil.

Algumas dessas regras, tais como geração e validação de números identificadores da Receita Federal do Brasil, foram implementas e exportadas em pacotes específicos do escopo funcional.

Atualmente, go-brutils requer a versão 1.17 ou superior do Go. Seguimos a política de suporte de versões do Go e fazemos o melhor pra não quebrar as versões mais velhas do Go, mas devido a restrições de ferramentas, nem sempre testamos versões mais antigas.

Instalação

Para instalar go-brutils, use go get:

go get github.com/aureliano/go-brutils

Ou instale uma versão específica:

go get github.com/aureliano/go-brutils/v1

Ou mesmo adicione-a como uma dependência do seu módulo:

require github.com/aureliano/go-brutils v1

Para instalar a aplicação de linha de comando, caso queira instalar no GOPATH:

go install github.com/aureliano/go-brutils@v1

Ficará acessível como go-brutils.

Para instalar via GitHub no Linux:

curl -OL https://github.com/aureliano/go-brutils/releases/download/v1.0.0/go-brutils_Linux_x86_64.tar.gz
tar xzf go-brutils_Linux_x86_64.tar.gz

Ficará acessível no diretório corrente como ./brutils.

Fique atualizado

Para atualizar para a última versão, use go get -u github.com/aureliano/go-brutils.

Uso

RFB

O pacote rfb possui as funcionalidades próprias da Receita Federal do Brasil. Tais como geração e validação de CPF e CNPJ.

Iniciação dos NIs

Para cada NI há um tipo personalizado. A iniciação desses tipos deve ser feita através das funções adequadas. Há duas formas de se obter um NI: passando o número base (um inteiro não negativo) ou passando o número completo como string com ou sem máscara.

// Passando o número base do CPF "000.001.234-39".
cpf := rfb.NewCPF(1234)

// Passando o número do CPF como texto sem máscara.
cpf, err := rfb.NewCPFFromStr("00000123439")

// Passando o número do CPF como texto com máscara.
cpf, err := rfb.NewCPFFromStr("000.001.234-39")

cpf.NumeroBase()           // 1234
cpf.DigitosVerificadores() // [3, 9]
cpf.Valido()               // true
cpf.Formatado()            // 000.001.234-39
cpf.Desformatado()         // 00000123439

Aplicação de linha de comando

Algumas das funcionalidades desta biblioteca estarão acessíveis para testes na aplicação de linha de comando. Com efeito, essa aplicação será disponibilizada no binário de fechamento da release.

Em desenvolvimento basta executar o comando go run main.go help na raiz do projeto para se ter acesso à ajuda do programa. Se quiser usar o binário tal como é disponibilizado no fechamento da release, execute o comando make snapshot e veja no diretório dist qual é binário da sua distribuição do Sistema Operacional.

Contribuindo

Sinta-se a vontade para criar issues, forks e enviar pull requests. Mas antes, leia este guia para obter orientações de como contribuir da melhor forma.

Licença

Este projeto está disponível sob os termo da licença MIT, que pode ser encontrada no arquivo LICENSE.

About

Go utils library for specific brazilian business

Resources

License

Stars

Watchers

Forks

Packages

No packages published