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

boleto-validator-ts

v1.0.8

Published

Um validador de boletos bancários e de arrecadação, totalmente reescrito em TypeScript. Suporta validação de código de barras e linha digitável, com ou sem formatação. Este pacote oferece maior segurança e flexibilidade ao desenvolver soluções que envolve

Downloads

235

Readme

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.