UNPKG

@slippi/slippi-js

Version:
44 lines (42 loc) 1.36 kB
let enetModule; let loadPromise; async function maybeLoadEnetModule() { if (enetModule) { return enetModule; } if (loadPromise) { return loadPromise; } loadPromise = (async () => { var _a, _b; // Try require first (CJS or bundler environments) try { if (typeof require !== "undefined") { // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports const mod = require("enet"); return ((_a = mod === null || mod === void 0 ? void 0 : mod.default) !== null && _a !== void 0 ? _a : mod); } } catch (_c) { // ignore } // Fallback: ESM dynamic import try { const mod = await import('enet'); return ((_b = mod === null || mod === void 0 ? void 0 : mod.default) !== null && _b !== void 0 ? _b : mod); } catch (_d) { return undefined; } })(); enetModule = await loadPromise; return enetModule; } async function loadEnetModule() { const enetModule = await maybeLoadEnetModule(); if (!enetModule) { throw new Error("enet is required to connect to Dolphin. Install it with: npm install enet"); } return enetModule; } export { loadEnetModule };