@whop/embedded-components-vanilla-js
Version:
Whop Elements loading utility
29 lines (28 loc) • 896 B
JavaScript
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 };