UNPKG

@revolut/checkout

Version:
32 lines (31 loc) 1.11 kB
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 : ''); }