diff --git a/src/index.ts b/src/index.ts index caac35f..33d3620 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,26 +1,25 @@ -import { - callModule as callModuleKernel, - connectModule as connectModuleKernel, -} from "libkernel"; -import { - callModule as callModuleModule, - connectModule as connectModuleModule, -} from "libkmodule"; - const DNS_MODULE = "AQBLKpieqOfKVRgMa8k45P4S_ILYgJmswVso4vT1qzoG-A"; -let callModule: typeof callModuleModule, - connectModule: typeof connectModuleModule; +let callModule: any, + connectModule: any; -if (window.document) { - callModule = callModuleKernel; - connectModule = connectModuleKernel; -} else { - callModule = callModuleModule; - connectModule = connectModuleModule; +async function loadLibs() { + if (callModule && connectModule) { + return; + } + if (typeof window !== "undefined" && window?.document) { + const pkg = (await import("libkernel")); + callModule = pkg.callModule; + connectModule = pkg.connectModule; + } else { + const pkg = (await import("libkmodule")); + callModule = pkg.callModule; + connectModule = pkg.connectModule; + } } export async function resolve(domain: string, params: any, force = false) { + await loadLibs(); const [resp, err] = await callModule(DNS_MODULE, "resolve", {domain, params, force}); if (err) {