UNPKG

@deeeed/hyperliquid-node20

Version:

Unofficial Hyperliquid API SDK for all major JS runtimes, written in TypeScript. Fork with Node.js 20.18.0+ compatibility.

42 lines (41 loc) 1.25 kB
"use strict"; // Polyfills for Node.js 20.18.0+ compatibility Object.defineProperty(exports, "__esModule", { value: true }); exports.withResolvers = withResolvers; exports.abortTimeout = abortTimeout; exports.abortAny = abortAny; // Polyfill for Promise.withResolvers() (Node.js 22+) function withResolvers() { let resolve; let reject; const promise = new Promise((res, rej) => { resolve = res; reject = rej; }); return { promise, resolve, reject }; } // Polyfill for AbortSignal.timeout() (Node.js 22+) function abortTimeout(delay) { if (AbortSignal.timeout) { return AbortSignal.timeout(delay); } const controller = new AbortController(); setTimeout(() => controller.abort(), delay); return controller.signal; } // Polyfill for AbortSignal.any() (Node.js 22+) function abortAny(signals) { if (AbortSignal.any) { return AbortSignal.any(signals); } const controller = new AbortController(); const onAbort = () => controller.abort(); for (const signal of signals) { if (signal.aborted) { controller.abort(); break; } signal.addEventListener('abort', onAbort, { once: true }); } return controller.signal; }