mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-12-15 00:06:16 -06:00
Expose TypeChecker. getAwaitedType to public (#59268)
Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
This commit is contained in:
parent
577155f9b3
commit
936a79bbb5
@ -5051,7 +5051,26 @@ export interface TypeChecker {
|
||||
getWidenedLiteralType(type: Type): Type;
|
||||
/** @internal */
|
||||
getPromisedTypeOfPromise(promise: Type, errorNode?: Node): Type | undefined;
|
||||
/** @internal */
|
||||
/**
|
||||
* Gets the "awaited type" of a type.
|
||||
*
|
||||
* If an expression has a Promise-like type, the "awaited type" of the expression is
|
||||
* derived from the type of the first argument of the fulfillment callback for that
|
||||
* Promise's `then` method. If the "awaited type" is itself a Promise-like, it is
|
||||
* recursively unwrapped in the same manner until a non-promise type is found.
|
||||
*
|
||||
* If an expression does not have a Promise-like type, its "awaited type" is the type
|
||||
* of the expression.
|
||||
*
|
||||
* If the resulting "awaited type" is a generic object type, then it is wrapped in
|
||||
* an `Awaited<T>`.
|
||||
*
|
||||
* In the event the "awaited type" circularly references itself, or is a non-Promise
|
||||
* object-type with a callable `then()` method, an "awaited type" cannot be determined
|
||||
* and the value `undefined` will be returned.
|
||||
*
|
||||
* This is used to reflect the runtime behavior of the `await` keyword.
|
||||
*/
|
||||
getAwaitedType(type: Type): Type | undefined;
|
||||
/** @internal */
|
||||
isEmptyAnonymousObjectType(type: Type): boolean;
|
||||
|
||||
21
tests/baselines/reference/api/typescript.d.ts
vendored
21
tests/baselines/reference/api/typescript.d.ts
vendored
@ -6121,6 +6121,27 @@ declare namespace ts {
|
||||
getBaseTypes(type: InterfaceType): BaseType[];
|
||||
getBaseTypeOfLiteralType(type: Type): Type;
|
||||
getWidenedType(type: Type): Type;
|
||||
/**
|
||||
* Gets the "awaited type" of a type.
|
||||
*
|
||||
* If an expression has a Promise-like type, the "awaited type" of the expression is
|
||||
* derived from the type of the first argument of the fulfillment callback for that
|
||||
* Promise's `then` method. If the "awaited type" is itself a Promise-like, it is
|
||||
* recursively unwrapped in the same manner until a non-promise type is found.
|
||||
*
|
||||
* If an expression does not have a Promise-like type, its "awaited type" is the type
|
||||
* of the expression.
|
||||
*
|
||||
* If the resulting "awaited type" is a generic object type, then it is wrapped in
|
||||
* an `Awaited<T>`.
|
||||
*
|
||||
* In the event the "awaited type" circularly references itself, or is a non-Promise
|
||||
* object-type with a callable `then()` method, an "awaited type" cannot be determined
|
||||
* and the value `undefined` will be returned.
|
||||
*
|
||||
* This is used to reflect the runtime behavior of the `await` keyword.
|
||||
*/
|
||||
getAwaitedType(type: Type): Type | undefined;
|
||||
getReturnTypeOfSignature(signature: Signature): Type;
|
||||
getNullableType(type: Type, flags: TypeFlags): Type;
|
||||
getNonNullableType(type: Type): Type;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user