@revolut/checkout
Version:
RevolutCheckout.js as npm module
32 lines (31 loc) • 1.11 kB
JavaScript
var pendingScripts = {};
export 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;
}
export function getVersionedUrl(url, version) {
var queryParams = version ? new URLSearchParams({ version: version }).toString() : '';
return "" + url + (queryParams ? "?" + queryParams : '');
}