From 616354e76cba0be8af20a0ffefeacfcf6101bafc Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Wed, 22 Nov 2023 22:11:20 +1100 Subject: refactor: replace `deferred()` from `std/async` with `Promise.withResolvers()` (#21234) Closes #21041 --------- Signed-off-by: Asher Gomez --- ext/node/polyfills/testing.ts | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) (limited to 'ext/node/polyfills/testing.ts') diff --git a/ext/node/polyfills/testing.ts b/ext/node/polyfills/testing.ts index 192a0cc71..83e8f6f0b 100644 --- a/ext/node/polyfills/testing.ts +++ b/ext/node/polyfills/testing.ts @@ -5,23 +5,6 @@ import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts"; -export function deferred() { - let methods; - const promise = new Promise((resolve, reject) => { - methods = { - async resolve(value) { - await value; - resolve(value); - }, - // deno-lint-ignore no-explicit-any - reject(reason?: any) { - reject(reason); - }, - }; - }); - return Object.assign(promise, methods); -} - export function run() { notImplemented("test.run"); } @@ -124,13 +107,13 @@ function prepareOptions(name, options, fn, overrides) { return { fn, options: finalOptions, name }; } -function wrapTestFn(fn, promise) { +function wrapTestFn(fn, resolve) { return async function (t) { const nodeTestContext = new NodeTestContext(t); try { await fn(nodeTestContext); } finally { - promise.resolve(undefined); + resolve(); } }; } @@ -138,11 +121,11 @@ function wrapTestFn(fn, promise) { function prepareDenoTest(name, options, fn, overrides) { const prepared = prepareOptions(name, options, fn, overrides); - const promise = deferred(); + const { promise, resolve } = Promise.withResolvers(); const denoTestOptions = { name: prepared.name, - fn: wrapTestFn(prepared.fn, promise), + fn: wrapTestFn(prepared.fn, resolve), only: prepared.options.only, ignore: prepared.options.todo || prepared.options.skip, }; -- cgit v1.2.3