brazilian-boletos
Version:
Biblioteca para geração de boletos bancários brasileiros.
47 lines (40 loc) • 1.06 kB
JavaScript
const { format } = require("date-fns");
const { formatInTimeZone } = require("date-fns-tz");
const { ptBR } = require("date-fns/locale");
/**
* Formata o valor para o padrão brasileiro
* @param {number} valor
* @returns {string}
*/
function formatarMoeda(valor) {
return valor.toLocaleString("pt-BR", {
style: "currency",
currency: "BRL",
minimumFractionDigits: 2,
});
}
/**
* Formata a data para o padrão brasileiro
* Mantém a data UTC sem conversão de fuso horário
* @param {Date|string} data
* @returns {string}
*/
function formatarData(data) {
// Formata em UTC para evitar conversão de timezone
return formatInTimeZone(data, "UTC", "dd/MM/yyyy", { locale: ptBR });
}
/**
* Formata o valor para o padrão de código
* @param {number} valor
* @returns {string}
*/
function formatarValorParaCodigo(valor) {
return Math.floor(valor * 100)
.toString()
.padStart(10, "0");
}
module.exports = {
formatarMoeda,
formatarData,
formatarValorParaCodigo,
};