@revolut/checkout
Version:
RevolutCheckout.js as npm module
36 lines (35 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var pendingScripts = {};
function loadScript(_a) {
var src = _a.src, id = _a.id, name = _a.name;
if (pendingScripts[src]) {
return pendingScripts[src];
}
var script = document.createElement('script');
script.id = id;
script.src = src;
script.async = true;
var promise = new Promise(function (resolve, reject) {
function handleError(reason) {
document.head.removeChild(script);
delete pendingScripts[src];
reject(new Error("'" + name + "' failed to load: " + reason));
}
function handleLoad() {
document.head.removeChild(script);
resolve();
}
script.onload = handleLoad;
script.onerror = function () { return handleError('Network error encountered'); };
});
document.head.appendChild(script);
pendingScripts[src] = promise;
return promise;
}
exports.loadScript = loadScript;
function getVersionedUrl(url, version) {
var queryParams = version ? new URLSearchParams({ version: version }).toString() : '';
return "" + url + (queryParams ? "?" + queryParams : '');
}
exports.getVersionedUrl = getVersionedUrl;