File tree 2 files changed +41
-1
lines changed
tests/baselines/reference/api
2 files changed +41
-1
lines changed Original file line number Diff line number Diff line change @@ -5051,7 +5051,26 @@ export interface TypeChecker {
5051
5051
getWidenedLiteralType ( type : Type ) : Type ;
5052
5052
/** @internal */
5053
5053
getPromisedTypeOfPromise ( promise : Type , errorNode ?: Node ) : Type | undefined ;
5054
- /** @internal */
5054
+ /**
5055
+ * Gets the "awaited type" of a type.
5056
+ *
5057
+ * If an expression has a Promise-like type, the "awaited type" of the expression is
5058
+ * derived from the type of the first argument of the fulfillment callback for that
5059
+ * Promise's `then` method. If the "awaited type" is itself a Promise-like, it is
5060
+ * recursively unwrapped in the same manner until a non-promise type is found.
5061
+ *
5062
+ * If an expression does not have a Promise-like type, its "awaited type" is the type
5063
+ * of the expression.
5064
+ *
5065
+ * If the resulting "awaited type" is a generic object type, then it is wrapped in
5066
+ * an `Awaited<T>`.
5067
+ *
5068
+ * In the event the "awaited type" circularly references itself, or is a non-Promise
5069
+ * object-type with a callable `then()` method, an "awaited type" cannot be determined
5070
+ * and the value `undefined` will be returned.
5071
+ *
5072
+ * This is used to reflect the runtime behavior of the `await` keyword.
5073
+ */
5055
5074
getAwaitedType ( type : Type ) : Type | undefined ;
5056
5075
/** @internal */
5057
5076
isEmptyAnonymousObjectType ( type : Type ) : boolean ;
Original file line number Diff line number Diff line change @@ -6121,6 +6121,27 @@ declare namespace ts {
6121
6121
getBaseTypes(type: InterfaceType): BaseType[];
6122
6122
getBaseTypeOfLiteralType(type: Type): Type;
6123
6123
getWidenedType(type: Type): Type;
6124
+ /**
6125
+ * Gets the "awaited type" of a type.
6126
+ *
6127
+ * If an expression has a Promise-like type, the "awaited type" of the expression is
6128
+ * derived from the type of the first argument of the fulfillment callback for that
6129
+ * Promise's `then` method. If the "awaited type" is itself a Promise-like, it is
6130
+ * recursively unwrapped in the same manner until a non-promise type is found.
6131
+ *
6132
+ * If an expression does not have a Promise-like type, its "awaited type" is the type
6133
+ * of the expression.
6134
+ *
6135
+ * If the resulting "awaited type" is a generic object type, then it is wrapped in
6136
+ * an `Awaited<T>`.
6137
+ *
6138
+ * In the event the "awaited type" circularly references itself, or is a non-Promise
6139
+ * object-type with a callable `then()` method, an "awaited type" cannot be determined
6140
+ * and the value `undefined` will be returned.
6141
+ *
6142
+ * This is used to reflect the runtime behavior of the `await` keyword.
6143
+ */
6144
+ getAwaitedType(type: Type): Type | undefined;
6124
6145
getReturnTypeOfSignature(signature: Signature): Type;
6125
6146
getNullableType(type: Type, flags: TypeFlags): Type;
6126
6147
getNonNullableType(type: Type): Type;
You can’t perform that action at this time.
0 commit comments