UNPKG

@revolut/checkout

Version:
44 lines (43 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = require("@testing-library/dom"); function triggerScriptOnLoad(name) { var script = document.querySelector("script[src*=\"" + name + "\"]"); if (!script) { throw new Error("Script with source containing \"" + name + "\" was not found in the document"); } dom_1.fireEvent.load(script); } exports.triggerScriptOnLoad = triggerScriptOnLoad; function triggerScriptOnError(name) { var script = document.querySelector("script[src*=\"" + name + "\"]"); if (!script) { throw new Error("Script with source containing \"" + name + "\" was not found in the document"); } dom_1.fireEvent.error(script); } exports.triggerScriptOnError = triggerScriptOnError; function settleVersionScript(settledCallback) { var params = []; for (var _i = 1; _i < arguments.length; _i++) { params[_i - 1] = arguments[_i]; } return new Promise(function (resolve) { setTimeout(function () { settledCallback.apply(void 0, params); // Resolve only when embed is injected as we are attaching listeners to the script element // Since version script load errors are ignored, embed is being injected for both onload and onerror var observer = new MutationObserver(function () { if (document.querySelector('script[src*="embed.js"]')) { observer.disconnect(); resolve(); } }); observer.observe(document, { childList: true, subtree: true, }); }); }); } exports.settleVersionScript = settleVersionScript;