UNPKG

financial-calc-br

Version:

Calculadora financeira brasileira com suporte a financiamentos, investimentos e cartão de crédito

48 lines (47 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils/utils"); class CreditCardCalc { /** * Calcula o valor do crédito rotativo do cartão de crédito * @param {number} valorFatura - Valor total da fatura do cartão * @param {number} valorPago - Valor efetivamente pago pelo usuário * @param {number} taxaMensal - Taxa mensal de juros do rotativo (padrão: 15%) * @returns {creditCard | creditCardPaga} Objeto com detalhes do rotativo ou confirmação de pagamento integral */ calcRotativo(valorFatura, valorPago, taxaMensal = 15) { if (valorPago >= valorFatura) { return { status: "Fatura paga integralmente", valorRotativo: 0, custoTotal: 0, }; } const valorRotativo = valorFatura - valorPago; const juros = valorRotativo * (taxaMensal / 100); const iof = valorRotativo * 0.0038; const custoTotal = juros + iof; const alerta = custoTotal > valorRotativo * 0.1 ? "Custo alto" : "Custo OK"; return { valorFatura: valorFatura, valorPago: valorPago, valorRotativo: valorRotativo, juros: juros, iof: iof, custoTotal: custoTotal, proximaFatura: valorRotativo + custoTotal, alerta, formatted: { valorFatura: (0, utils_1.formatMoney)(valorFatura), valorPago: (0, utils_1.formatMoney)(valorPago), valorRotativo: (0, utils_1.formatMoney)(valorRotativo), juros: (0, utils_1.formatMoney)(juros), iof: (0, utils_1.formatMoney)(iof), custoTotal: (0, utils_1.formatMoney)(custoTotal), proximaFatura: (0, utils_1.formatMoney)(valorRotativo + custoTotal), alerta, }, }; } } exports.default = CreditCardCalc;