@humanmark/sdk-js
Version:
Browser-native JavaScript SDK for Humanmark human verification challenges
41 lines (40 loc) • 1.32 kB
JavaScript
import { H as HumanmarkError, E as ErrorCode } from "./index-CjrzYJmo.js";
const moduleCache = /* @__PURE__ */ new Map();
async function lazyLoad(moduleLoader, cacheKey) {
if (moduleCache.has(cacheKey)) {
return moduleCache.get(cacheKey);
}
try {
const module = await moduleLoader();
moduleCache.set(cacheKey, module);
return module;
} catch (error) {
throw new HumanmarkError(
`Failed to load module '${cacheKey}': ${error instanceof Error ? error.message : "Unknown error"}`,
ErrorCode.MODULE_LOAD_FAILED
);
}
}
async function preloadModules(modules) {
const promises = modules.map(
({ loader, key }) => lazyLoad(loader, key).catch(() => {
})
);
await Promise.all(promises);
}
async function loadUIManager() {
const module = await lazyLoad(() => import("./UIManager-DErxjoMV.js"), "UIManager");
return module.UIManager;
}
async function preloadUIComponents() {
return preloadModules([
{ loader: () => import("./UIManager-DErxjoMV.js"), key: "UIManager" },
{ loader: () => import("./QRCodeGenerator-BpcCyzsq.js"), key: "QRCodeGenerator" },
{ loader: () => import("./DeepLinkHandler-DV3Ez8YF.js").then((n) => n.k), key: "DeepLinkHandler" }
]);
}
export {
loadUIManager,
preloadUIComponents
};
//# sourceMappingURL=index-htvd8qd5.js.map