UNPKG

@playbooks/utils

Version:

A collection of utilities used for Playbooks.

88 lines (87 loc) 3.05 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const Accounting = require("accounting"); const jsAbbreviationNumber = require("js-abbreviation-number"); const camelToUnderscore = (data = "") => { return data.replace(/([A-Z])/g, "_$1").toLowerCase(); }; const camelToDash = (data = "") => { return data.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); }; const camelToString = (data = "") => { return data.replace(/([A-Z])/g, " $1").toLowerCase(); }; const dashToCamel = (data = "") => { return data.replace(/-([a-z])/g, (g) => g[1].toUpperCase()); }; const dashToCapital = (data = "") => { return data.split("-").map((k) => k.replace(k.charAt(0), k.charAt(0).toUpperCase())).join(""); }; const dashToString = (data = "") => { return data.split("-").map((k) => k.replace(k.charAt(0), k.charAt(0).toUpperCase())).join(" "); }; const dashToUnderscore = (data = "") => { return data.replace(/-([a-z])/g, "_$1").toLowerCase(); }; const phoneToString = (data = "") => { return data ? data.replace(/\D+/g, "") : ""; }; const capitalize = (data = "") => { return data.charAt(0).toUpperCase() + data.slice(1); }; const deCapitalize = (data = "") => { return data.charAt(0).toLowerCase() + data.slice(1); }; const stringToUnderscore = (data = "") => { return data.split(" ").join("_").toLowerCase(); }; const underscoreToString = (data = "") => { return data ? data.split("_").join(" ").toLowerCase() : data; }; const truncate = (data = "", count = 80, ellipsis = true) => { return data ? data.length >= count && ellipsis ? data.slice(0, count) + "..." : data.slice(0, count) : null; }; const toPhone = (value = "") => { if (value.length === 10) { return value.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3"); } return "--"; }; const toCurrency = (value, precision = 2) => { return Accounting.formatMoney(value, "$", precision); }; const toNumber = (value, decimal = 0) => { return Accounting.formatNumber(value, decimal); }; const toShortNumber = (value = 0, decimal = 1) => { return jsAbbreviationNumber.abbreviateNumber(value, decimal); }; const toPercent = (value = 0) => { return value * 100 + "%"; }; const toCents = (value = 0) => { return value ? value * 100 : 0; }; const fromCents = (value = 0) => { return value ? value / 100 : 0; }; exports.camelToDash = camelToDash; exports.camelToString = camelToString; exports.camelToUnderscore = camelToUnderscore; exports.capitalize = capitalize; exports.dashToCamel = dashToCamel; exports.dashToCapital = dashToCapital; exports.dashToString = dashToString; exports.dashToUnderscore = dashToUnderscore; exports.deCapitalize = deCapitalize; exports.fromCents = fromCents; exports.phoneToString = phoneToString; exports.stringToUnderscore = stringToUnderscore; exports.toCents = toCents; exports.toCurrency = toCurrency; exports.toNumber = toNumber; exports.toPercent = toPercent; exports.toPhone = toPhone; exports.toShortNumber = toShortNumber; exports.truncate = truncate; exports.underscoreToString = underscoreToString;