Files
anisette-js/frontend/src/libcurl-init.ts
2026-02-28 18:44:57 +08:00

20 lines
557 B
TypeScript

import { libcurl } from "../public/libcurl_full.mjs";
let initialized = false;
let initPromise: Promise<void> | null = null;
export async function initLibcurl(): Promise<void> {
if (initialized) return;
if (initPromise) return initPromise;
initPromise = (async () => {
const wsProto = location.protocol === "https:" ? "wss:" : "ws:";
let wsUrl = `${wsProto}//${location.host}/wisp/`;
libcurl.set_websocket(wsUrl);
await libcurl.load_wasm("/libcurl.wasm");
initialized = true;
})();
return initPromise;
}
export { libcurl };