UNPKG

@whop/embedded-components-vanilla-js

Version:

Whop Elements loading utility

29 lines (28 loc) 896 B
import { initWhopElements, loadScript } from "./util.mjs"; let whopElementsPromise; let loadCalled = false; const getWhopElementsPromise = ()=>{ if (whopElementsPromise) { return whopElementsPromise; } whopElementsPromise = loadScript().catch((error)=>{ whopElementsPromise = null; if (error instanceof Error) { return Promise.reject(error); } else { return Promise.reject(new Error("Failed to load WhopElements", { cause: error })); } }); return whopElementsPromise; }; Promise.resolve().then(()=>getWhopElementsPromise()).catch((error)=>{ if (!loadCalled) {} }); const loadWhopElements = async (...args)=>{ loadCalled = true; const maybeWhopElements = await getWhopElementsPromise(); return initWhopElements(maybeWhopElements, args); }; export { loadWhopElements };