@sapphire/utilities
Version:
Common JavaScript utilities for the Sapphire Community
30 lines (27 loc) • 837 B
JavaScript
;
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/lib/sleep.ts
function sleep(ms, value, options) {
return new Promise((resolve, reject) => {
const signal = options == null ? undefined : options.signal;
if (signal) {
if (signal.aborted) {
reject(signal.reason);
return;
}
signal.addEventListener("abort", () => {
clearTimeout(timer);
reject(signal.reason);
});
}
const timer = setTimeout(() => resolve(value), ms);
if ((options == null ? undefined : options.ref) === false && typeof timer === "object") {
timer.unref();
}
});
}
__name(sleep, "sleep");
exports.sleep = sleep;
//# sourceMappingURL=sleep.cjs.map
//# sourceMappingURL=sleep.cjs.map