@nktkas/hyperliquid
Version:
Hyperliquid API SDK for all major JS runtimes, written in TypeScript.
45 lines • 2 kB
JavaScript
// deno-lint-ignore-file no-explicit-any
export const Promise_ = /* @__PURE__ */ (() => {
return {
/** @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers */
withResolvers: Promise.withResolvers ? () => Promise.withResolvers() : () => {
let resolve;
let reject;
const promise = new Promise((res, rej) => (resolve = res, reject = rej));
return { promise, resolve, reject };
},
};
})();
export const AbortSignal_ = /* @__PURE__ */ (() => {
return {
/** @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static */
any: AbortSignal.any ? (signals) => AbortSignal.any(signals) : (signals) => {
const controller = new AbortController();
for (const signal of signals) {
if (signal.aborted) {
controller.abort(signal.reason);
break;
}
signal.addEventListener("abort", () => controller.abort(signal.reason), { once: true, signal: controller.signal });
}
return controller.signal;
},
/** @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout_static */
timeout: AbortSignal.timeout ? (ms) => AbortSignal.timeout(ms) : (ms) => {
const controller = new AbortController();
setTimeout(() => controller.abort(new DOMException("Signal timed out.", "TimeoutError")), ms);
return controller.signal;
},
};
})();
/** @see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent */
export const CustomEvent_ = /* @__PURE__ */ (() => {
return globalThis.CustomEvent || class extends Event {
detail;
constructor(type, eventInitDict) {
super(type, eventInitDict);
this.detail = eventInitDict?.detail ?? null;
}
};
})();
//# sourceMappingURL=_polyfills.js.map