summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/timers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills/timers.ts')
-rw-r--r--ext/node/polyfills/timers.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/node/polyfills/timers.ts b/ext/node/polyfills/timers.ts
index 613b87427..02f69466e 100644
--- a/ext/node/polyfills/timers.ts
+++ b/ext/node/polyfills/timers.ts
@@ -89,6 +89,22 @@ export function clearImmediate(immediate: Immediate) {
clearTimeout_(immediate._immediateId);
}
+export const promises = {
+ setTimeout: promisify(setTimeout),
+ setImmediate: promisify(setImmediate),
+ setInterval: promisify(setInterval),
+};
+
+promises.scheduler = {
+ async wait(
+ delay: number,
+ options?: { signal?: AbortSignal },
+ ): Promise<void> {
+ return await promises.setTimeout(delay, undefined, options);
+ },
+ yield: promises.setImmediate,
+};
+
export default {
setTimeout,
clearTimeout,
@@ -97,4 +113,5 @@ export default {
setImmediate,
setUnrefTimeout,
clearImmediate,
+ promises,
};