const metaInf = require('./meta.json'); const hbsHelpers = { p1: (arg) => {return arg + 1}, m1: (arg) => {return arg - 1}, for: (from, to, block) => { let incr = ''; for(let i = from; i < to; i++) incr += block.fn(i); return incr; }, timeNowPassed: (cTime) => { const utcNow = Date.now() + (new Date().getTimezoneOffset() * 60 * 1000); return utcNow >= cTime; }, replaceIfWithin: (array, searchString, replacement) => { if (array.includes(searchString)) { return replacement; } else { return searchString; } }, truncateStringElipsis: (inputString, maxLength) => { const realStr = String(inputString); if(realStr.length > maxLength) return String(inputString).substring(0, maxLength - 3) + '...'; else return realStr; }, removeHTML: (inputString) => { return String(inputString).replace(/<\/?[^>]+(>|$)/g, ''); }, formatDate: (inputDate) => { return helpers.formatDate(inputDate); }, lenEq: (array, comparitor) => { return array.length === parseInt(comparitor); }, lenNotEq: (array, comparitor) => { return array.length !== parseInt(comparitor, 10); }, eq: (value, comparitor) => { return value == comparitor; }, eqStrict: (value, comparitor) => { return value === comparitor; }, optionSelected: (v1, v2) => { return v1 === v2 ? 'selected' : ''; }, getCurrentYear: () => { return new Date().getFullYear(); }, getMetaInfString: () => { return `${metaInf.name} | ${metaInf.stage}.${metaInf.version}.${metaInf.branch}-${process.env.NODE_ENV}`; }, getScript: (src, nonce) => { return new String(``); } } function capitalizeFirstLetter(val) { return String(val).charAt(0).toUpperCase() + String(val).slice(1); } module.exports = { HBSHelpers: hbsHelpers, capitalizeFirstLetter }