@ribajs/shopify
Version:
Shopify extension for Riba.js
38 lines • 3.48 kB
JavaScript
import { ShopifyService } from "../services/shopify.service.js";
export const moneyFormatter = {
name: "money",
read(cents, format) {
let value = "";
const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
const formatString = format || this.moneyFormat;
if (!formatString) {
console.warn(`Can't parse format: ${formatString}`);
return "0";
}
if (typeof cents === "string") {
cents = cents.replace(".", "");
cents = parseFloat(cents.toString());
}
const matchedFormat = formatString.match(placeholderRegex);
if (matchedFormat !== null && matchedFormat.length >= 1) {
switch (matchedFormat[1]) {
case "amount":
value = ShopifyService.formatMoneyWithDelimiters(cents, 2);
break;
case "amount_no_decimals":
value = ShopifyService.formatMoneyWithDelimiters(cents, 0);
break;
case "amount_with_comma_separator":
value = ShopifyService.formatMoneyWithDelimiters(cents, 2, ".", ",");
break;
case "amount_no_decimals_with_comma_separator":
value = ShopifyService.formatMoneyWithDelimiters(cents, 0, ".", ",");
break;
}
return formatString.replace(placeholderRegex, value);
}
console.warn(`Can't parse format: ${formatString}`);
return "0";
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlcnMvbW9uZXkuZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVloRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWM7SUFDdkMsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLENBQUMsS0FBc0IsRUFBRSxNQUFlO1FBQzFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFaEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFL0IsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNELElBQUksYUFBYSxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hELFFBQVEsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLEtBQUssUUFBUTtvQkFDWCxLQUFLLEdBQUcsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFDUixLQUFLLG9CQUFvQjtvQkFDdkIsS0FBSyxHQUFHLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNELE1BQU07Z0JBQ1IsS0FBSyw2QkFBNkI7b0JBQ2hDLEtBQUssR0FBRyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3JFLE1BQU07Z0JBQ1IsS0FBSyx5Q0FBeUM7b0JBQzVDLEtBQUssR0FBRyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3JFLE1BQU07WUFDVixDQUFDO1lBQ0QsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGLENBQUMifQ==