1.0.8 • Published 12 months ago

boleto-validator-ts v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

Boleto Validator TS

Descrição

boleto-validator-ts é um pacote completo, desenvolvido em TypeScript, para validação de boletos bancários e de arrecadação no Brasil. O pacote suporta validação de códigos de barras e de linhas digitáveis, com ou sem formatação. Utilizando tipos estritos de TypeScript, ele garante maior segurança no desenvolvimento e desempenho aprimorado.

Instalação

Você pode instalar o pacote via npm:

npm install boleto-validator-ts

Funcionalidades

Validação de boletos bancários e de arrecadação

Suporte para códigos de barras e linhas digitáveis

Módulos de validação com algoritmos de Módulo 10 e Módulo 11

Utilitário para remoção de formatação de boletos (máscaras)

Como Usar

Importação

Primeiro, importe as funções que deseja usar no seu projeto:

import {
  boleto,
  boletoBancario,
  boletoArrecadacao,
  clearMask,
} from "boleto-validator-ts";

Remover Máscara de Boleto

Use a função clearMask para remover formatação de um código de boleto. Essa função remove espaços, pontos e hífens.

const codigoComMascara = "34191.79001 01043.510047 91020.150008 7 89710026000";
const codigoSemMascara = clearMask(codigoComMascara);
console.log(codigoSemMascara);
// Saída: "34191790010104351004791020150008789710026000"

Validar um Boleto (Banco ou Arrecadação)

A função boleto detecta automaticamente se o boleto é bancário ou de arrecadação e faz a validação correspondente. Você também pode optar por validar os blocos do boleto, definindo o parâmetro validarBlocos.

const codigo = "34191.79001 01043.510047 91020.150008 7 89710026000";
const isValid = boleto(codigo, true);
console.log(isValid);
// Saída: true (se for válido)

Validar um Boleto Bancário

Se você souber que o boleto é bancário, pode usar a função boletoBancario para validar a linha digitável ou o código de barras.

const codigoBancario = "34191790010104351004791020150008789710026000";
const isValidBancario = boletoBancario(codigoBancario, true);
console.log(isValidBancario);
// Saída: true (se for válido)

Validar um Boleto de Arrecadação

Para boletos de arrecadação, você pode usar boletoArrecadacao. Essa função valida tanto a linha digitável quanto o código de barras.

const codigoArrecadacao = "83640000001084351004791020150008789710026000";
const isValidArrecadacao = boletoArrecadacao(codigoArrecadacao, true);
console.log(isValidArrecadacao);
// Saída: true (se for válido)

Conversão de Linha Digitável para Código de Barras

Se você precisar converter a linha digitável de um boleto para o código de barras, há funções específicas para boletos bancários e de arrecadação.

Converter Boleto Bancário

import { convertToBoletoBancarioCodigoBarras } from "boleto-validator-ts";

const linhaDigitavel = "34191.79001 01043.510047 91020.150008 7 89710026000";
const codigoBarras = convertToBoletoBancarioCodigoBarras(linhaDigitavel);
console.log(codigoBarras);
// Saída: Código de barras correspondente

Converter Boleto de Arrecadação

import { convertToBoletoArrecadacaoCodigoBarras } from "boleto-validator-ts";

const linhaDigitavelArrecadacao =
  "83640000001084351004791020150008789710026000";
const codigoBarrasArrecadacao = convertToBoletoArrecadacaoCodigoBarras(
  linhaDigitavelArrecadacao
);
console.log(codigoBarrasArrecadacao);
// Saída: Código de barras correspondente

Funções Internas de Validação

Módulo 10

O Módulo 10 é usado para validar boletos que seguem essa regra de verificação. Você pode utilizar modulo10 diretamente se precisar fazer a validação de um bloco específico.

import { modulo10 } from "boleto-validator-ts";

const bloco = "3419179001";
const dv = modulo10(bloco);
console.log(dv);
// Saída: Dígito verificador calculado

Módulo 11

O Módulo 11 é utilizado tanto para boletos bancários quanto de arrecadação. O pacote oferece implementações específicas para ambos os tipos.

modulo11Bancario: Valida boletos bancários

modulo11Arrecadacao: Valida boletos de arrecadação

import { modulo11Bancario, modulo11Arrecadacao } from "boleto-validator-ts";

const blocoBancario = "3419179001";
const dvBancario = modulo11Bancario(blocoBancario);

const blocoArrecadacao = "83640000001";
const dvArrecadacao = modulo11Arrecadacao(blocoArrecadacao);

console.log(dvBancario, dvArrecadacao);
// Saída: Dígitos verificadores calculados para cada tipo de boleto

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests no repositório oficial.

Licença

Este projeto está licenciado sob a licença ISC. Veja o arquivo LICENSE para mais detalhes.

1.0.8

12 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago