Skip to content

Commit d86b4f3

Browse files
authored
refactor(promise-helpers): reuse promise Symbol (#2408)
1 parent d754a7e commit d86b4f3

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

.changeset/cruel-colts-show.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@whatwg-node/promise-helpers': patch
3+
---
4+
5+
Reuse fake promise Symbol

packages/promise-helpers/src/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export type MaybePromise<T> = Promise<T> | T;
22
export type MaybePromiseLike<T> = PromiseLike<T> | T;
33

4-
const FAKE_PROMISE_SYMBOL_NAME = '@whatwg-node/promise-helpers/FakePromise';
4+
const kFakePromise = Symbol.for('@whatwg-node/promise-helpers/FakePromise');
55

66
export function isPromise<T>(value: MaybePromise<T>): value is Promise<T>;
77
export function isPromise<T>(value: MaybePromiseLike<T>): value is PromiseLike<T>;
@@ -89,7 +89,7 @@ export function fakePromise<T>(value: MaybePromiseLike<T>): Promise<T> {
8989
},
9090
[Symbol.toStringTag]: 'Promise',
9191
__fakePromiseValue: value,
92-
[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)]: 'resolved',
92+
[kFakePromise]: 'resolved',
9393
} as Promise<T>;
9494
}
9595

@@ -197,7 +197,7 @@ export function fakeRejectPromise<T>(error: unknown): Promise<T> {
197197
},
198198
__fakeRejectError: error,
199199
[Symbol.toStringTag]: 'Promise',
200-
[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)]: 'rejected',
200+
[kFakePromise]: 'rejected',
201201
} as Promise<never>;
202202
}
203203

@@ -315,11 +315,11 @@ function iteratorResult<T>(value: T): IteratorResult<T> {
315315
}
316316

317317
function isFakePromise<T>(value: any): value is Promise<T> & { __fakePromiseValue: T } {
318-
return (value as any)?.[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)] === 'resolved';
318+
return (value as any)?.[kFakePromise] === 'resolved';
319319
}
320320

321321
function isFakeRejectPromise(value: any): value is Promise<never> & { __fakeRejectError: any } {
322-
return (value as any)?.[Symbol.for(FAKE_PROMISE_SYMBOL_NAME)] === 'rejected';
322+
return (value as any)?.[kFakePromise] === 'rejected';
323323
}
324324

325325
export function promiseLikeFinally<T>(

0 commit comments

Comments
 (0)