UNPKG

@revolut/checkout

Version:
38 lines (37 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var constants_1 = require("./constants"); var utils_1 = require("./utils"); var versionLoader_1 = require("./versionLoader"); var loadedUpsellInstance = null; function RevolutUpsellLoader(token, mode, locale) { if (mode === void 0) { mode = RevolutUpsellLoader.mode; } if (loadedUpsellInstance) { var instance = loadedUpsellInstance({ publicToken: token, locale: locale }); return Promise.resolve(instance); } return versionLoader_1.RevolutPaymentsVersionLoader(mode) .then(function (version) { return loadRevolutUpsell(version, mode); }) .then(function (revolutUpsell) { return revolutUpsell({ publicToken: token, locale: locale }); }); } exports.RevolutUpsellLoader = RevolutUpsellLoader; function loadRevolutUpsell(version, mode) { return utils_1.loadScript({ src: utils_1.getVersionedUrl(constants_1.URLS[mode].upsell, version), id: 'revolut-upsell', name: 'RevolutUpsell', }).then(function () { if (loadedUpsellInstance) { return loadedUpsellInstance; } else if (typeof RevolutUpsell === 'function') { loadedUpsellInstance = RevolutUpsell; delete window.RevolutUpsell; return loadedUpsellInstance; } else { throw new Error("'RevolutUpsell' failed to load: RevolutUpsell is not a function"); } }); } RevolutUpsellLoader.mode = constants_1.MODE.PRODUCTION;