@ribajs/shopify
Version:
Shopify extension for Riba.js
37 lines • 3.18 kB
JavaScript
import { isNumber } from "@ribajs/utils/src/type.js";
export class ShopifyService {
static formatMoneyWithDelimiters(num, precision = 2, thousands = ",", decimal = ".") {
if (!isNumber(num) || num === null) {
return "0";
}
const numStr = (Math.ceil(num) / 100.0).toFixed(precision);
const parts = numStr.split(".");
const dollars = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + thousands);
const cents = parts[1] ? decimal + parts[1] : "";
return dollars + cents;
}
static instance;
moneyFormat;
moneyWithCurrencyFormat;
static get moneyWithCurrencyFormat() {
if (window.model &&
window.model.system &&
window.model.system.shopSettings) {
return window.model.system.shopSettings.moneyWithCurrencyFormat;
}
}
static get moneyFormat() {
if (window.model &&
window.model.system &&
window.model.system.shopSettings) {
return window.model.system.shopSettings.moneyFormat;
}
}
constructor() {
if (ShopifyService.instance) {
return ShopifyService.instance;
}
ShopifyService.instance = this;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcGlmeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3Nob3BpZnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFNckQsTUFBTSxPQUFPLGNBQWM7SUFlbEIsTUFBTSxDQUFDLHlCQUF5QixDQUNyQyxHQUFXLEVBQ1gsU0FBUyxHQUFHLENBQUMsRUFDYixTQUFTLEdBQUcsR0FBRyxFQUNmLE9BQU8sR0FBRyxHQUFHO1FBRWIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBR0QsTUFBTSxNQUFNLEdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzlCLDBCQUEwQixFQUMxQixJQUFJLEdBQUcsU0FBUyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakQsT0FBTyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHUyxNQUFNLENBQUMsUUFBUSxDQUFpQjtJQUNoQyxXQUFXLENBQVU7SUFDckIsdUJBQXVCLENBQVU7SUFFcEMsTUFBTSxLQUFLLHVCQUF1QjtRQUN2QyxJQUNHLE1BQWMsQ0FBQyxLQUFLO1lBQ3BCLE1BQWMsQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUMzQixNQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQ3pDLENBQUM7WUFDRCxPQUFRLE1BQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sS0FBSyxXQUFXO1FBQzNCLElBQ0csTUFBYyxDQUFDLEtBQUs7WUFDcEIsTUFBYyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQzNCLE1BQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFDekMsQ0FBQztZQUNELE9BQVEsTUFBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVEO1FBQ0UsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0NBQ0YifQ==