diff options
Diffstat (limited to 'src/js/builtins/builtins.d.ts')
-rw-r--r-- | src/js/builtins/builtins.d.ts | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/js/builtins/builtins.d.ts b/src/js/builtins/builtins.d.ts index 57bde34a4..1b585ae7a 100644 --- a/src/js/builtins/builtins.d.ts +++ b/src/js/builtins/builtins.d.ts @@ -57,7 +57,10 @@ declare function $getPromiseInternalField<K extends PromiseFieldType, V>( promise: Promise<V>, key: K, ): PromiseFieldToValue<K, V>; -declare function $getInternalField(base: any, number: number): any; +declare function $getInternalField<Fields extends any[], N extends keyof Fields>( + base: InternalFieldObject<Fields>, + number: N, +): Fields[N]; declare function $fulfillPromise(...args: any[]): TODO; declare function $evaluateCommonJSModule(...args: any[]): TODO; declare function $loadCJS2ESM(...args: any[]): TODO; @@ -111,7 +114,11 @@ declare function $putByIdDirectPrivate(obj: any, key: PropertyKey, value: any): declare function $putByValDirect(obj: any, key: PropertyKey, value: any): void; declare function $putByValWithThisSloppy(): TODO; declare function $putByValWithThisStrict(): TODO; -declare function $putInternalField(base: any, number: number, value: any): any; +declare function $putInternalField<Fields extends any[], N extends keyof Fields>( + base: InternalFieldObject<Fields>, + number: N, + value: Fields[N], +): void; declare function $putPromiseInternalField<T extends PromiseFieldType, P extends Promise<any>>( promise: P, key: T, @@ -157,8 +164,8 @@ declare const $promiseStateRejected: number; declare const $promiseStateMask: number; declare const $promiseFlagsIsHandled: number; declare const $promiseFlagsIsFirstResolvingFunctionCalled: number; -declare const $promiseFieldFlags: unique symbol; -declare const $promiseFieldReactionsOrResult: unique symbol; +declare const $promiseFieldFlags: 0; +declare const $promiseFieldReactionsOrResult: 1; declare const $proxyFieldTarget: TODO; declare const $proxyFieldHandler: TODO; declare const $generatorFieldState: TODO; @@ -192,6 +199,7 @@ declare const $AsyncGeneratorSuspendReasonYield: TODO; declare const $AsyncGeneratorSuspendReasonAwait: TODO; declare const $AsyncGeneratorSuspendReasonNone: TODO; declare const $abstractModuleRecordFieldState: TODO; +declare const $asyncContext: InternalFieldObject<[ReadonlyArray<any> | undefined]>; // We define our intrinsics in ./BunBuiltinNames.h. Some of those are globals. @@ -420,6 +428,11 @@ declare function $newPromiseCapability(C: PromiseConstructor): TODO; declare function $makeTypeError(message: string): TypeError; declare function $newHandledRejectedPromise(error: unknown): Promise<never>; +declare const __internal: unique symbol; +interface InternalFieldObject<T extends any[]> { + [__internal]: T; +} + // Types used in the above functions type PromiseFieldType = typeof $promiseFieldFlags | typeof $promiseFieldReactionsOrResult; type PromiseFieldToValue<X extends PromiseFieldType, V> = X extends typeof $promiseFieldFlags |