UNPKG

@kirz/react-native-toolkit

Version:

Toolkit to speed up React Native development

67 lines (66 loc) 3.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Subscription = exports.Product = void 0; var _intl = require("@formatjs/intl"); var RNLocalize = _interopRequireWildcard(require("react-native-localize")); require("intl"); require("intl/dist/Intl.complete"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } const cache = (0, _intl.createIntlCache)(); const deviceLanguage = RNLocalize.getLocales()[0].languageTag; const intl = (0, _intl.createIntl)({ locale: deviceLanguage, messages: {} }, cache); class Product { constructor(obj) { _defineProperty(this, "productId", void 0); _defineProperty(this, "title", void 0); _defineProperty(this, "description", void 0); _defineProperty(this, "price", void 0); _defineProperty(this, "localizedPrice", void 0); _defineProperty(this, "currency", void 0); _defineProperty(this, "consumable", void 0); _defineProperty(this, "originalData", void 0); this.productId = obj.productId; this.title = obj.title; this.description = obj.description; this.price = obj.price; this.currency = obj.currency; this.consumable = obj.consumable; this.originalData = obj.originalData; this.localizedPrice = this.formatPrice(); } formatPrice(options) { return intl.formatNumber(options !== null && options !== void 0 && options.formatter ? options === null || options === void 0 ? void 0 : options.formatter(this.price) : this.price, { style: 'currency', currency: this.currency, compactDisplay: 'short', currencyDisplay: 'symbol', ...(options === null || options === void 0 ? void 0 : options.options) }); } } exports.Product = Product; class Subscription extends Product { constructor(obj) { super({ ...obj, consumable: false }); _defineProperty(this, "periodUnit", void 0); _defineProperty(this, "numberOfPeriods", void 0); _defineProperty(this, "trial", void 0); this.periodUnit = obj.periodUnit; this.numberOfPeriods = obj.numberOfPeriods; this.trial = obj.trial; } } exports.Subscription = Subscription; //# sourceMappingURL=types.js.map