UNPKG

@storm-stack/utilities

Version:

This package includes various base utility class and various functions to assist in the development process.

31 lines (30 loc) 670 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.delay = delay; exports.sleep = sleep; var _types = require("../types.cjs"); function delay(ms, { signal } = {}) { return new Promise((resolve, reject) => { const abortError = () => { reject(new _types.AbortError()); }; const abortHandler = () => { clearTimeout(timeoutId); abortError(); }; if (signal?.aborted) { return abortError(); } const timeoutId = setTimeout(resolve, ms); signal?.addEventListener("abort", abortHandler, { once: true }); }); } function sleep(ms, options) { return delay(ms, options); }