UNPKG

@revolut/checkout

Version:
36 lines (35 loc) 1.51 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 loadedPaymentInstance = null; function RevolutPaymentsLoader(token, mode, locale) { if (mode === void 0) { mode = RevolutPaymentsLoader.mode; } if (loadedPaymentInstance) { var instance = loadedPaymentInstance({ publicToken: token, locale: locale }); return Promise.resolve(instance); } return versionLoader_1.RevolutPaymentsVersionLoader(mode).then(function (version) { return loadRevolutPayments(version, token, mode, locale); }); } exports.RevolutPaymentsLoader = RevolutPaymentsLoader; function loadRevolutPayments(version, token, mode, locale) { return utils_1.loadModule({ src: utils_1.getVersionedUrl(constants_1.URLS[mode].embed, version), id: 'revolut-payments', name: 'RevolutPayments', }).then(function (scriptElement) { if (typeof RevolutCheckout === 'function') { loadedPaymentInstance = RevolutCheckout.payments; delete window.RevolutCheckout; return loadedPaymentInstance({ publicToken: token, locale: locale }); } else { document.head.removeChild(scriptElement); throw new Error("'RevolutPayments' failed to load: RevolutCheckout is not a function"); } }); } RevolutPaymentsLoader.mode = constants_1.MODE.PRODUCTION;