diff --git a/.changeset/cruel-colts-show.md b/.changeset/cruel-colts-show.md new file mode 100644 index 00000000000..d1c802b7d2b --- /dev/null +++ b/.changeset/cruel-colts-show.md @@ -0,0 +1,5 @@ +--- +'@whatwg-node/promise-helpers': patch +--- + +Reuse fake promise Symbol diff --git a/packages/promise-helpers/src/index.ts b/packages/promise-helpers/src/index.ts index f6efaa1a896..d70fa1f6b5f 100644 --- a/packages/promise-helpers/src/index.ts +++ b/packages/promise-helpers/src/index.ts @@ -1,7 +1,7 @@ export type MaybePromise = Promise | T; export type MaybePromiseLike = PromiseLike | T; -const FAKE_PROMISE_SYMBOL_NAME = '@whatwg-node/promise-helpers/FakePromise'; +const kFakePromise = Symbol.for('@whatwg-node/promise-helpers/FakePromise'); export function isPromise(value: MaybePromise): value is Promise; export function isPromise(value: MaybePromiseLike): value is PromiseLike; @@ -89,7 +89,7 @@ export function fakePromise(value: MaybePromiseLike): Promise { }, [Symbol.toStringTag]: 'Promise', __fakePromiseValue: value, - [Symbol.for(FAKE_PROMISE_SYMBOL_NAME)]: 'resolved', + [kFakePromise]: 'resolved', } as Promise; } @@ -197,7 +197,7 @@ export function fakeRejectPromise(error: unknown): Promise { }, __fakeRejectError: error, [Symbol.toStringTag]: 'Promise', - [Symbol.for(FAKE_PROMISE_SYMBOL_NAME)]: 'rejected', + [kFakePromise]: 'rejected', } as Promise; } @@ -315,11 +315,11 @@ function iteratorResult(value: T): IteratorResult { } function isFakePromise(value: any): value is Promise & { __fakePromiseValue: T } { - return (value as any)?.[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)] === 'resolved'; + return (value as any)?.[kFakePromise] === 'resolved'; } function isFakeRejectPromise(value: any): value is Promise & { __fakeRejectError: any } { - return (value as any)?.[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)] === 'rejected'; + return (value as any)?.[kFakePromise] === 'rejected'; } export function promiseLikeFinally(