UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

31 lines 1.05 kB
/** * @module Utilities */ import {} from "../../time-span/contracts/_module.js"; import { TimeSpan } from "../../time-span/implementations/time-span.js"; /** * IMPORT_PATH: `"@daiso-tech/core/utilities"` * @group Utilities */ export async function delay(time, signal = new AbortController().signal) { await new Promise((resolve, reject) => { if (signal.aborted) { // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors reject(signal.reason); return; } const timeoutId = setTimeout(() => { signal.removeEventListener("abort", onAbort); resolve(); }, TimeSpan.fromTimeSpan(time).toMilliseconds()); function onAbort() { clearTimeout(timeoutId); // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors reject(signal.reason); } signal.addEventListener("abort", onAbort, { once: true, }); }); } //# sourceMappingURL=delay.js.map