export const registerHelpers = async function () { // Handlebars template helpers Handlebars.registerHelper("eq", function (a, b) { return a == b; }); Handlebars.registerHelper("gt", function (a, b) { return a >= b; }); Handlebars.registerHelper("mod", function (val) { if (val > 0) { return `+${val}`; } else if (val < 0) { return `${val}`; } else { return "0"; } }); Handlebars.registerHelper("add", function (lh, rh) { return parseInt(lh) + parseInt(rh); }); Handlebars.registerHelper("subtract", function (lh, rh) { return parseInt(rh) - parseInt(lh); }); Handlebars.registerHelper("divide", function (lh, rh) { return Math.floor(parseFloat(lh) / parseFloat(rh)); }); Handlebars.registerHelper("mult", function (lh, rh) { return parseFloat(lh) * parseFloat(rh); }); Handlebars.registerHelper("multround", function (lh, rh) { return Math.round((parseFloat(lh) * parseFloat(rh)) * 100) / 100; }) Handlebars.registerHelper("roundWeight", function (weight) { return Math.round(parseFloat(weight) / 100) / 10; }); Handlebars.registerHelper("getTagIcon", function (tag) { let idx = Object.keys(CONFIG.ACKS.tags).find(k => (CONFIG.ACKS.tags[k] == tag)); return CONFIG.ACKS.tag_images[idx]; }); Handlebars.registerHelper("counter", function (status, value, max) { return status ? Math.clamped((100.0 * value) / max, 0, 100) : Math.clamped(100 - (100.0 * value) / max, 0, 100); }); };