@vendasta/store
Version:
Components and data for Store
166 lines • 13.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { CONTACT_SALES } from '../pricing/pricing';
var Sellable = /** @class */ (function () {
function Sellable() {
}
Object.defineProperty(Sellable.prototype, "isFree", {
get: /**
* @return {?}
*/
function () {
return this.pricing && this.pricing.prices ? this.pricing.prices.some(function (p) { return p.price === 0 || p.price === undefined; }) : false;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Sellable.prototype, "shouldContactSales", {
get: /**
* @return {?}
*/
function () {
return this.pricing && this.pricing.prices ?
this.pricing.prices.some(function (p) { return p.price === null || p.price === CONTACT_SALES; }) ||
this.pricing.prices.length === 0 : true;
},
enumerable: true,
configurable: true
});
/**
* @param {?} inputString
* @return {?}
*/
Sellable.getCapitalizeFirstLetter = /**
* @param {?} inputString
* @return {?}
*/
function (inputString) {
return inputString ? inputString.charAt(0).toUpperCase() + inputString.slice(1) : null;
};
Object.defineProperty(Sellable.prototype, "formattedPricingList", {
get: /**
* @return {?}
*/
function () {
if (this.pricing && this.pricing.prices && this.pricing.prices.length) {
/** @type {?} */
var hasCurrencyAndIsNotUSD = this.pricing.currency && this.pricing.currency !== 'USD';
/** @type {?} */
var currencyStr_1 = hasCurrencyAndIsNotUSD ? this.pricing.currency : '';
/** @type {?} */
var currencySymbol_1 = Sellable.getCurrencySymbol(this.pricing.currency);
return this.pricing.prices.map(function (price) {
/** @type {?} */
var frequencyStr = price.frequency ? '/ ' + Sellable.getCapitalizeFirstLetter(price.frequency) : '';
/** @type {?} */
var roundedPrice = (price.price / 100.0).toFixed(2);
/** @type {?} */
var startingAtPrefix = price.isStartingPrice ? 'Starting at ' : '';
/** @type {?} */
var priceStr = "" + startingAtPrefix + currencySymbol_1 + roundedPrice + " " + currencyStr_1 + " " + frequencyStr;
return (priceStr.trim().replace(/\s+/g, ' '));
});
}
else {
return ['Contact Sales'];
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(Sellable.prototype, "priceStrings", {
get: /**
* @return {?}
*/
function () {
if (this.shouldContactSales) {
return ['Contact Sales'];
}
if (this.isFree) {
return ['Free'];
}
return this.formattedPricingList;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Sellable.prototype, "formattedWholesalePrice", {
get: /**
* @return {?}
*/
function () {
return this.priceStrings.join(' + ');
},
enumerable: true,
configurable: true
});
/**
* @param {?} currency
* @return {?}
*/
Sellable.getCurrencySymbol = /**
* @param {?} currency
* @return {?}
*/
function (currency) {
/** @type {?} */
var currencySymbol = '$';
switch (currency) {
case 'EUR':
currencySymbol = '\u20AC';
break;
case 'GBP':
currencySymbol = '\u00A3';
break;
case 'CHF':
currencySymbol = 'Fr';
break;
case 'CNY':
currencySymbol = '\u00A5';
break;
case 'JPY':
currencySymbol = '\u00A5';
break;
case 'CZK':
currencySymbol = 'K\u010d';
break;
case 'INR':
currencySymbol = '\u20B9';
break;
case 'KHR':
currencySymbol = '\u17DB';
break;
case 'KRW':
currencySymbol = '\u20A9';
break;
case 'NOK':
currencySymbol = 'kr';
break;
case 'SEK':
currencySymbol = 'kr';
break;
case 'RUB':
currencySymbol = '\u20BD';
break;
case 'TRY':
currencySymbol = '\u20BA';
break;
case 'ZAR':
currencySymbol = 'R';
break;
default:
currencySymbol = '$';
break;
}
return currencySymbol;
};
return Sellable;
}());
export { Sellable };
if (false) {
/** @type {?} */
Sellable.prototype.pricing;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsbGFibGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmVuZGFzdGEvc3RvcmUvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL3NlbGxhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFXLE1BQU0sb0JBQW9CLENBQUM7QUFFNUQ7SUFBQTtJQXlFQSxDQUFDO0lBdEVHLHNCQUFJLDRCQUFNOzs7O1FBQVY7WUFDSyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUF0QyxDQUFzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoSSxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHdDQUFrQjs7OztRQUF0QjtZQUNJLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLGFBQWEsRUFBN0MsQ0FBNkMsQ0FBQztvQkFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hELENBQUM7OztPQUFBOzs7OztJQUVNLGlDQUF3Qjs7OztJQUEvQixVQUFnQyxXQUFtQjtRQUMvQyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxX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SztnQkFBRSxjQUFjLEdBQUcsUUFBUSxDQUFDO2dCQUFDLE1BQU07WUFDN0MsS0FBSyxLQUFLO2dCQUFFLGNBQWMsR0FBRyxRQUFRLENBQUM7Z0JBQUMsTUFBTTtZQUM3QyxLQUFLLEtBQUs7Z0JBQUUsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFBQyxNQUFNO1lBQ3pDLEtBQUssS0FBSztnQkFBRSxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUFDLE1BQU07WUFDekMsS0FBSyxLQUFLO2dCQUFFLGNBQWMsR0FBRyxRQUFRLENBQUM7Z0JBQUMsTUFBTTtZQUM3QyxLQUFLLEtBQUs7Z0JBQUUsY0FBYyxHQUFHLFFBQVEsQ0FBQztnQkFBQyxNQUFNO1lBQzdDLEtBQUssS0FBSztnQkFBRSxjQUFjLEdBQUcsR0FBRyxDQUFDO2dCQUFDLE1BQU07WUFDeEM7Z0JBQVMsY0FBYyxHQUFHLEdBQUcsQ0FBQztnQkFBQyxNQUFNO1NBQ3hDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUVMLGVBQUM7QUFBRCxDQUFDLEFBekVELElBeUVDOzs7O0lBeEVHLDJCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTlRBQ1RfU0FMRVMsIFByaWNpbmcgfSBmcm9tICcuLi9wcmljaW5nL3ByaWNpbmcnO1xuXG5leHBvcnQgY2xhc3MgU2VsbGFibGUge1xuICAgIHByaWNpbmc6IFByaWNpbmc7XG5cbiAgICBnZXQgaXNGcmVlKCk6IGJvb2xlYW4ge1xuICAgICAgICAgcmV0dXJuIHRoaXMucHJpY2luZyAmJiB0aGlzLnByaWNpbmcucHJpY2VzID8gdGhpcy5wcmljaW5nLnByaWNlcy5zb21lKHAgPT4gcC5wcmljZSA9PT0gMCB8fCBwLnByaWNlID09PSB1bmRlZmluZWQpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IHNob3VsZENvbnRhY3RTYWxlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJpY2luZyAmJiB0aGlzLnByaWNpbmcucHJpY2VzID9cbiAgICAgICAgICAgIHRoaXMucHJpY2luZy5wcmljZXMuc29tZShwID0+IHAucHJpY2UgPT09IG51bGwgfHwgcC5wcmljZSA9PT0gQ09OVEFDVF9TQUxFUykgfHxcbiAgICAgICAgICAgIHRoaXMucHJpY2luZy5wcmljZXMubGVuZ3RoID09PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Q2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGlucHV0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW5wdXRTdHJpbmcgPyBpbnB1dFN0cmluZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGlucHV0U3RyaW5nLnNsaWNlKDEpIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkUHJpY2luZ0xpc3QoKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAodGhpcy5wcmljaW5nICYmIHRoaXMucHJpY2luZy5wcmljZXMgJiYgdGhpcy5wcmljaW5nLnByaWNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc0N1cnJlbmN5QW5kSXNOb3RVU0QgPSB0aGlzLnByaWNpbmcuY3VycmVuY3kgJiYgdGhpcy5wcmljaW5nLmN1cnJlbmN5ICE9PSAnVVNEJztcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbmN5U3RyID0gaGFzQ3VycmVuY3lBbmRJc05vdFVTRCA/IHRoaXMucHJpY2luZy5jdXJyZW5jeSA6ICcnO1xuICAgICAgICAgICAgY29uc3QgY3VycmVuY3lTeW1ib2wgPSBTZWxsYWJsZS5nZXRDdXJyZW5jeVN5bWJvbCh0aGlzLnByaWNpbmcuY3VycmVuY3kpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcmljaW5nLnByaWNlcy5tYXAocHJpY2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZyZXF1ZW5jeVN0ciA9IHByaWNlLmZyZXF1ZW5jeSA/ICcvICcgKyBTZWxsYWJsZS5nZXRDYXBpdGFsaXplRmlyc3RMZXR0ZXIocHJpY2UuZnJlcXVlbmN5KSA6ICcnO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdW5kZWRQcmljZSA9IChwcmljZS5wcmljZSAvIDEwMC4wKS50b0ZpeGVkKDIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0aW5nQXRQcmVmaXggPSBwcmljZS5pc1N0YXJ0aW5nUHJpY2UgPyAnU3RhcnRpbmcgYXQgJyA6ICcnO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByaWNlU3RyID0gYCR7c3RhcnRpbmdBdFByZWZpeH0ke2N1cnJlbmN5U3ltYm9sfSR7cm91bmRlZFByaWNlfSAke2N1cnJlbmN5U3RyfSAke2ZyZXF1ZW5jeVN0cn1gO1xuICAgICAgICAgICAgICAgIHJldHVybiAocHJpY2VTdHIudHJpbSgpLnJlcGxhY2UoL1xccysvZywgJyAnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbJ0NvbnRhY3QgU2FsZXMnXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBwcmljZVN0cmluZ3MoKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAodGhpcy5zaG91bGRDb250YWN0U2FsZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBbJ0NvbnRhY3QgU2FsZXMnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRnJlZSkge1xuICAgICAgICAgICAgcmV0dXJuIFsnRnJlZSddO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkUHJpY2luZ0xpc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFdob2xlc2FsZVByaWNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByaWNlU3RyaW5ncy5qb2luKCcgKyAnKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Q3VycmVuY3lTeW1ib2woY3VycmVuY3k6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjdXJyZW5jeVN5bWJvbCA9ICckJztcbiAgICAgICAgc3dpdGNoIChjdXJyZW5jeSkge1xuICAgICAgICAgICAgY2FzZSAnRVVSJzogY3VycmVuY3lTeW1ib2wgPSAnXFx1MjBBQyc7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnR0JQJzogY3VycmVuY3lTeW1ib2wgPSAnXFx1MDBBMyc7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ0hGJzogY3VycmVuY3lTeW1ib2wgPSAnRnInOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0NOWSc6IGN1cnJlbmN5U3ltYm9sID0gJ1xcdTAwQTUnOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0pQWSc6IGN1cnJlbmN5U3ltYm9sID0gJ1xcdTAwQTUnOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0NaSyc6IGN1cnJlbmN5U3ltYm9sID0gJ0tcXHUwMTBkJzsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdJTlInOiBjdXJyZW5jeVN5bWJvbCA9ICdcXHUyMEI5JzsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdLSFInOiBjdXJyZW5jeVN5bWJvbCA9ICdcXHUxN0RCJzsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdLUlcnOiBjdXJyZW5jeVN5bWJvbCA9ICdcXHUyMEE5JzsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdOT0snOiBjdXJyZW5jeVN5bWJvbCA9ICdrcic7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnU0VLJzogY3VycmVuY3lTeW1ib2wgPSAna3InOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1JVQic6IGN1cnJlbmN5U3ltYm9sID0gJ1xcdTIwQkQnOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1RSWSc6IGN1cnJlbmN5U3ltYm9sID0gJ1xcdTIwQkEnOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1pBUic6IGN1cnJlbmN5U3ltYm9sID0gJ1InOyBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6IGN1cnJlbmN5U3ltYm9sID0gJyQnOyBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY3VycmVuY3lTeW1ib2w7XG4gICAgfVxuXG59XG4iXX0=