From 25cefe8485642213fa038ffea7c55fafac4f82d2 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Thu, 21 Jul 2022 13:21:41 -0400 Subject: [PATCH] *Dynamically load libraries --- src/index.ts | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) 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) {