UNPKG

@jonstuebe/allot-utils

Version:

Util functions for Allot

56 lines 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const date_fns_1 = require("date-fns"); const payPeriod_1 = require("./payPeriod"); function chunk(array, size) { const chunked_arr = []; for (let i = 0; i < array.length; i++) { const last = chunked_arr[chunked_arr.length - 1]; if (!last || last.length === size) { chunked_arr.push([array[i]]); } else { last.push(array[i]); } } return chunked_arr; } exports.chunk = chunk; function parseISO(dateISO) { const [year, month, day] = dateISO .substr(0, 10) .split("-") .map(item => Number(item)); return new Date(year, month - 1, day); } exports.parseISO = parseISO; function isBetween(date, start, end, includeEqual = false) { const between = date_fns_1.isBefore(date, end) && date_fns_1.isAfter(date, start); if (includeEqual) { return between || date_fns_1.isEqual(date, start) || date_fns_1.isEqual(date, end); } return between; } exports.isBetween = isBetween; function formatCurrency(amount, country = "en-US", currency = "USD") { return new Intl.NumberFormat(country, { style: "currency", currency }).format(amount); } exports.formatCurrency = formatCurrency; function renderTable(payPeriods) { const table = payPeriods.map((payPeriod, index) => { const bills = payPeriod.bills.length > 0 ? payPeriod_1.totalBillsInPayPeriod(payPeriod) : 0; const income = payPeriod.paychecks.length > 0 ? payPeriod_1.totalIncomeInPayPeriod(payPeriod) : 0; return { "Pay Period": payPeriod_1.formatPayPeriodDate(payPeriod), Bills: formatCurrency(bills), Income: formatCurrency(income), Remaining: formatCurrency(income - bills) }; }); console.table(table); } exports.renderTable = renderTable; //# sourceMappingURL=utils.js.map