@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-AC1SXkK1.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-zGtGiLS0.js"), "UIManager");
return module.UIManager;
}
async function preloadUIComponents() {
return preloadModules([
{ loader: () => import("./UIManager-zGtGiLS0.js"), key: "UIManager" },
{ loader: () => import("./QRCodeGenerator-997MoXR0.js"), key: "QRCodeGenerator" },
{ loader: () => import("./DeepLinkHandler-DqDFWmlg.js").then((n) => n.k), key: "DeepLinkHandler" }
]);
}
export {
loadUIManager,
preloadUIComponents
};
//# sourceMappingURL=index-CIwfNYiC.js.map