diff options
| author | 2023-03-15 17:34:11 -0700 | |
|---|---|---|
| committer | 2023-03-15 17:34:23 -0700 | |
| commit | 976ef924731149b17bb997cd43d8aedf392e6b50 (patch) | |
| tree | d2236a0a616a0dcf114e3f489db9d59af83c323a /test/js/deno/harness/util.ts | |
| parent | abd34abf0886866208fe607901f57efb83770150 (diff) | |
| download | bun-976ef924731149b17bb997cd43d8aedf392e6b50.tar.gz bun-976ef924731149b17bb997cd43d8aedf392e6b50.tar.zst bun-976ef924731149b17bb997cd43d8aedf392e6b50.zip | |
Improve reliability of generated tests
Diffstat (limited to 'test/js/deno/harness/util.ts')
| -rw-r--r-- | test/js/deno/harness/util.ts | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/test/js/deno/harness/util.ts b/test/js/deno/harness/util.ts deleted file mode 100644 index 422d6b34c..000000000 --- a/test/js/deno/harness/util.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2018+ the Deno authors. All rights reserved. MIT license. -// https://github.com/denoland/deno/blob/main/ext/node/polyfills/_util/async.ts - -import { concatArrayBuffers } from "bun"; - -export function concat(...buffers: Uint8Array[]): Uint8Array { - return new Uint8Array(concatArrayBuffers(buffers)); -} - -export function deferred<T>() { - let methods; - let state = "pending"; - const promise = new Promise<T>((resolve, reject) => { - methods = { - async resolve(value: T | PromiseLike<T>) { - await value; - state = "fulfilled"; - resolve(value); - }, - reject(reason?: any) { - state = "rejected"; - reject(reason); - }, - }; - }); - Object.defineProperty(promise, "state", { get: () => state }); - return Object.assign(promise, methods); -} - -export function delay(ms: number, options: { signal?: AbortSignal } = {}): Promise<void> { - const { signal } = options; - if (signal?.aborted) { - return Promise.reject(new DOMException("Delay was aborted.", "AbortError")); - } - return new Promise((resolve, reject) => { - const abort = () => { - clearTimeout(i); - reject(new DOMException("Delay was aborted.", "AbortError")); - }; - const done = () => { - signal?.removeEventListener("abort", abort); - resolve(); - }; - const i = setTimeout(done, ms); - signal?.addEventListener("abort", abort, { once: true }); - }); -} |
