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.

37 lines (36 loc) 1.09 kB
// Polyfills for Node.js 20.18.0+ compatibility // Polyfill for Promise.withResolvers() (Node.js 22+) export 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+) export 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+) export 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; }