summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/timers.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-09-12 21:30:49 +0100
committerGitHub <noreply@github.com>2024-09-12 20:30:49 +0000
commit71d5d47ca967ef25c8d0f29b4457ddfc0cea1f2d (patch)
treef5a0d3a1e5323a33ec1112af31aaf5a63a42b12f /ext/node/polyfills/timers.ts
parente2875aee74d8f41db9028cbfae0952bc9bf250e7 (diff)
feat(ext/node): export 'promises' symbol from 'node:timers' (#25589)
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,
};