typescript 5.2.0-dev.20230725 → 5.2.0-dev.20230726
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/tsc.js +39 -18
- package/lib/tsserver.js +39 -18
- package/lib/tsserverlibrary.js +39 -18
- package/lib/typescript.js +39 -18
- package/lib/typingsInstaller.js +2 -1
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.2";
|
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20230726`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -5764,6 +5764,7 @@ var Diagnostics = {
|
|
|
5764
5764
|
Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
|
|
5765
5765
|
An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
|
|
5766
5766
|
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
|
|
5767
|
+
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
|
|
5767
5768
|
In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
|
|
5768
5769
|
Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
|
|
5769
5770
|
Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
|
|
@@ -74986,7 +74987,18 @@ function createTypeChecker(host) {
|
|
|
74986
74987
|
addLazyDiagnostic(checkSignatureDeclarationDiagnostics);
|
|
74987
74988
|
function checkSignatureDeclarationDiagnostics() {
|
|
74988
74989
|
checkCollisionWithArgumentsInGeneratedCode(node);
|
|
74989
|
-
|
|
74990
|
+
let returnTypeNode = getEffectiveReturnTypeNode(node);
|
|
74991
|
+
let returnTypeErrorLocation = returnTypeNode;
|
|
74992
|
+
if (isInJSFile(node)) {
|
|
74993
|
+
const typeTag = getJSDocTypeTag(node);
|
|
74994
|
+
if (typeTag && typeTag.typeExpression && isTypeReferenceNode(typeTag.typeExpression.type)) {
|
|
74995
|
+
const signature = getSingleCallSignature(getTypeFromTypeNode(typeTag.typeExpression));
|
|
74996
|
+
if (signature && signature.declaration) {
|
|
74997
|
+
returnTypeNode = getEffectiveReturnTypeNode(signature.declaration);
|
|
74998
|
+
returnTypeErrorLocation = typeTag.typeExpression.type;
|
|
74999
|
+
}
|
|
75000
|
+
}
|
|
75001
|
+
}
|
|
74990
75002
|
if (noImplicitAny && !returnTypeNode) {
|
|
74991
75003
|
switch (node.kind) {
|
|
74992
75004
|
case 180 /* ConstructSignature */:
|
|
@@ -74997,21 +75009,21 @@ function createTypeChecker(host) {
|
|
|
74997
75009
|
break;
|
|
74998
75010
|
}
|
|
74999
75011
|
}
|
|
75000
|
-
if (returnTypeNode) {
|
|
75012
|
+
if (returnTypeNode && returnTypeErrorLocation) {
|
|
75001
75013
|
const functionFlags2 = getFunctionFlags(node);
|
|
75002
75014
|
if ((functionFlags2 & (4 /* Invalid */ | 1 /* Generator */)) === 1 /* Generator */) {
|
|
75003
75015
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
75004
75016
|
if (returnType === voidType) {
|
|
75005
|
-
error(
|
|
75017
|
+
error(returnTypeErrorLocation, Diagnostics.A_generator_cannot_have_a_void_type_annotation);
|
|
75006
75018
|
} else {
|
|
75007
75019
|
const generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || anyType;
|
|
75008
75020
|
const generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || generatorYieldType;
|
|
75009
75021
|
const generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || unknownType;
|
|
75010
75022
|
const generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags2 & 2 /* Async */));
|
|
75011
|
-
checkTypeAssignableTo(generatorInstantiation, returnType,
|
|
75023
|
+
checkTypeAssignableTo(generatorInstantiation, returnType, returnTypeErrorLocation);
|
|
75012
75024
|
}
|
|
75013
75025
|
} else if ((functionFlags2 & 3 /* AsyncGenerator */) === 2 /* Async */) {
|
|
75014
|
-
checkAsyncFunctionReturnType(node, returnTypeNode);
|
|
75026
|
+
checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation);
|
|
75015
75027
|
}
|
|
75016
75028
|
}
|
|
75017
75029
|
if (node.kind !== 181 /* IndexSignature */ && node.kind !== 324 /* JSDocFunctionType */) {
|
|
@@ -76093,7 +76105,7 @@ function createTypeChecker(host) {
|
|
|
76093
76105
|
}
|
|
76094
76106
|
return typeAsAwaitable.awaitedTypeOfType = type;
|
|
76095
76107
|
}
|
|
76096
|
-
function checkAsyncFunctionReturnType(node, returnTypeNode) {
|
|
76108
|
+
function checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation) {
|
|
76097
76109
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
76098
76110
|
if (languageVersion >= 2 /* ES2015 */) {
|
|
76099
76111
|
if (isErrorType(returnType)) {
|
|
@@ -76104,7 +76116,7 @@ function createTypeChecker(host) {
|
|
|
76104
76116
|
true
|
|
76105
76117
|
);
|
|
76106
76118
|
if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) {
|
|
76107
|
-
|
|
76119
|
+
reportErrorForInvalidReturnType(Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, returnTypeNode, returnTypeErrorLocation, typeToString(getAwaitedTypeNoAlias(returnType) || voidType));
|
|
76108
76120
|
return;
|
|
76109
76121
|
}
|
|
76110
76122
|
} else {
|
|
@@ -76114,7 +76126,7 @@ function createTypeChecker(host) {
|
|
|
76114
76126
|
}
|
|
76115
76127
|
const promiseConstructorName = getEntityNameFromTypeNode(returnTypeNode);
|
|
76116
76128
|
if (promiseConstructorName === void 0) {
|
|
76117
|
-
|
|
76129
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, typeToString(returnType));
|
|
76118
76130
|
return;
|
|
76119
76131
|
}
|
|
76120
76132
|
const promiseConstructorSymbol = resolveEntityName(
|
|
@@ -76129,9 +76141,9 @@ function createTypeChecker(host) {
|
|
|
76129
76141
|
/*reportErrors*/
|
|
76130
76142
|
false
|
|
76131
76143
|
)) {
|
|
76132
|
-
error(
|
|
76144
|
+
error(returnTypeErrorLocation, Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option);
|
|
76133
76145
|
} else {
|
|
76134
|
-
|
|
76146
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
76135
76147
|
}
|
|
76136
76148
|
return;
|
|
76137
76149
|
}
|
|
@@ -76140,15 +76152,16 @@ function createTypeChecker(host) {
|
|
|
76140
76152
|
true
|
|
76141
76153
|
);
|
|
76142
76154
|
if (globalPromiseConstructorLikeType === emptyObjectType) {
|
|
76143
|
-
|
|
76155
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
76144
76156
|
return;
|
|
76145
76157
|
}
|
|
76146
|
-
|
|
76147
|
-
|
|
76148
|
-
|
|
76149
|
-
|
|
76150
|
-
Diagnostics.
|
|
76151
|
-
)
|
|
76158
|
+
const headMessage = Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;
|
|
76159
|
+
const errorInfo = () => returnTypeNode === returnTypeErrorLocation ? void 0 : chainDiagnosticMessages(
|
|
76160
|
+
/*details*/
|
|
76161
|
+
void 0,
|
|
76162
|
+
Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
|
|
76163
|
+
);
|
|
76164
|
+
if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeErrorLocation, headMessage, errorInfo)) {
|
|
76152
76165
|
return;
|
|
76153
76166
|
}
|
|
76154
76167
|
const rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName);
|
|
@@ -76170,6 +76183,14 @@ function createTypeChecker(host) {
|
|
|
76170
76183
|
node,
|
|
76171
76184
|
Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
|
|
76172
76185
|
);
|
|
76186
|
+
function reportErrorForInvalidReturnType(message, returnTypeNode2, returnTypeErrorLocation2, typeName) {
|
|
76187
|
+
if (returnTypeNode2 === returnTypeErrorLocation2) {
|
|
76188
|
+
error(returnTypeErrorLocation2, message, typeName);
|
|
76189
|
+
} else {
|
|
76190
|
+
const diag2 = error(returnTypeErrorLocation2, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
|
|
76191
|
+
addRelatedInfo(diag2, createDiagnosticForNode(returnTypeNode2, message, typeName));
|
|
76192
|
+
}
|
|
76193
|
+
}
|
|
76173
76194
|
}
|
|
76174
76195
|
function checkDecorator(node) {
|
|
76175
76196
|
const signature = getResolvedSignature(node);
|
package/lib/tsserver.js
CHANGED
|
@@ -2329,7 +2329,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2329
2329
|
|
|
2330
2330
|
// src/compiler/corePublic.ts
|
|
2331
2331
|
var versionMajorMinor = "5.2";
|
|
2332
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2332
|
+
var version = `${versionMajorMinor}.0-dev.20230726`;
|
|
2333
2333
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2334
2334
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2335
2335
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -9287,6 +9287,7 @@ var Diagnostics = {
|
|
|
9287
9287
|
Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
|
|
9288
9288
|
An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
|
|
9289
9289
|
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
|
|
9290
|
+
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
|
|
9290
9291
|
In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
|
|
9291
9292
|
Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
|
|
9292
9293
|
Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
|
|
@@ -79695,7 +79696,18 @@ function createTypeChecker(host) {
|
|
|
79695
79696
|
addLazyDiagnostic(checkSignatureDeclarationDiagnostics);
|
|
79696
79697
|
function checkSignatureDeclarationDiagnostics() {
|
|
79697
79698
|
checkCollisionWithArgumentsInGeneratedCode(node);
|
|
79698
|
-
|
|
79699
|
+
let returnTypeNode = getEffectiveReturnTypeNode(node);
|
|
79700
|
+
let returnTypeErrorLocation = returnTypeNode;
|
|
79701
|
+
if (isInJSFile(node)) {
|
|
79702
|
+
const typeTag = getJSDocTypeTag(node);
|
|
79703
|
+
if (typeTag && typeTag.typeExpression && isTypeReferenceNode(typeTag.typeExpression.type)) {
|
|
79704
|
+
const signature = getSingleCallSignature(getTypeFromTypeNode(typeTag.typeExpression));
|
|
79705
|
+
if (signature && signature.declaration) {
|
|
79706
|
+
returnTypeNode = getEffectiveReturnTypeNode(signature.declaration);
|
|
79707
|
+
returnTypeErrorLocation = typeTag.typeExpression.type;
|
|
79708
|
+
}
|
|
79709
|
+
}
|
|
79710
|
+
}
|
|
79699
79711
|
if (noImplicitAny && !returnTypeNode) {
|
|
79700
79712
|
switch (node.kind) {
|
|
79701
79713
|
case 180 /* ConstructSignature */:
|
|
@@ -79706,21 +79718,21 @@ function createTypeChecker(host) {
|
|
|
79706
79718
|
break;
|
|
79707
79719
|
}
|
|
79708
79720
|
}
|
|
79709
|
-
if (returnTypeNode) {
|
|
79721
|
+
if (returnTypeNode && returnTypeErrorLocation) {
|
|
79710
79722
|
const functionFlags2 = getFunctionFlags(node);
|
|
79711
79723
|
if ((functionFlags2 & (4 /* Invalid */ | 1 /* Generator */)) === 1 /* Generator */) {
|
|
79712
79724
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
79713
79725
|
if (returnType === voidType) {
|
|
79714
|
-
error2(
|
|
79726
|
+
error2(returnTypeErrorLocation, Diagnostics.A_generator_cannot_have_a_void_type_annotation);
|
|
79715
79727
|
} else {
|
|
79716
79728
|
const generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || anyType;
|
|
79717
79729
|
const generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || generatorYieldType;
|
|
79718
79730
|
const generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || unknownType;
|
|
79719
79731
|
const generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags2 & 2 /* Async */));
|
|
79720
|
-
checkTypeAssignableTo(generatorInstantiation, returnType,
|
|
79732
|
+
checkTypeAssignableTo(generatorInstantiation, returnType, returnTypeErrorLocation);
|
|
79721
79733
|
}
|
|
79722
79734
|
} else if ((functionFlags2 & 3 /* AsyncGenerator */) === 2 /* Async */) {
|
|
79723
|
-
checkAsyncFunctionReturnType(node, returnTypeNode);
|
|
79735
|
+
checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation);
|
|
79724
79736
|
}
|
|
79725
79737
|
}
|
|
79726
79738
|
if (node.kind !== 181 /* IndexSignature */ && node.kind !== 324 /* JSDocFunctionType */) {
|
|
@@ -80802,7 +80814,7 @@ function createTypeChecker(host) {
|
|
|
80802
80814
|
}
|
|
80803
80815
|
return typeAsAwaitable.awaitedTypeOfType = type;
|
|
80804
80816
|
}
|
|
80805
|
-
function checkAsyncFunctionReturnType(node, returnTypeNode) {
|
|
80817
|
+
function checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation) {
|
|
80806
80818
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
80807
80819
|
if (languageVersion >= 2 /* ES2015 */) {
|
|
80808
80820
|
if (isErrorType(returnType)) {
|
|
@@ -80813,7 +80825,7 @@ function createTypeChecker(host) {
|
|
|
80813
80825
|
true
|
|
80814
80826
|
);
|
|
80815
80827
|
if (globalPromiseType !== emptyGenericType && !isReferenceToType2(returnType, globalPromiseType)) {
|
|
80816
|
-
|
|
80828
|
+
reportErrorForInvalidReturnType(Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, returnTypeNode, returnTypeErrorLocation, typeToString(getAwaitedTypeNoAlias(returnType) || voidType));
|
|
80817
80829
|
return;
|
|
80818
80830
|
}
|
|
80819
80831
|
} else {
|
|
@@ -80823,7 +80835,7 @@ function createTypeChecker(host) {
|
|
|
80823
80835
|
}
|
|
80824
80836
|
const promiseConstructorName = getEntityNameFromTypeNode(returnTypeNode);
|
|
80825
80837
|
if (promiseConstructorName === void 0) {
|
|
80826
|
-
|
|
80838
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, typeToString(returnType));
|
|
80827
80839
|
return;
|
|
80828
80840
|
}
|
|
80829
80841
|
const promiseConstructorSymbol = resolveEntityName(
|
|
@@ -80838,9 +80850,9 @@ function createTypeChecker(host) {
|
|
|
80838
80850
|
/*reportErrors*/
|
|
80839
80851
|
false
|
|
80840
80852
|
)) {
|
|
80841
|
-
error2(
|
|
80853
|
+
error2(returnTypeErrorLocation, Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option);
|
|
80842
80854
|
} else {
|
|
80843
|
-
|
|
80855
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
80844
80856
|
}
|
|
80845
80857
|
return;
|
|
80846
80858
|
}
|
|
@@ -80849,15 +80861,16 @@ function createTypeChecker(host) {
|
|
|
80849
80861
|
true
|
|
80850
80862
|
);
|
|
80851
80863
|
if (globalPromiseConstructorLikeType === emptyObjectType) {
|
|
80852
|
-
|
|
80864
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
80853
80865
|
return;
|
|
80854
80866
|
}
|
|
80855
|
-
|
|
80856
|
-
|
|
80857
|
-
|
|
80858
|
-
|
|
80859
|
-
Diagnostics.
|
|
80860
|
-
)
|
|
80867
|
+
const headMessage = Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;
|
|
80868
|
+
const errorInfo = () => returnTypeNode === returnTypeErrorLocation ? void 0 : chainDiagnosticMessages(
|
|
80869
|
+
/*details*/
|
|
80870
|
+
void 0,
|
|
80871
|
+
Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
|
|
80872
|
+
);
|
|
80873
|
+
if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeErrorLocation, headMessage, errorInfo)) {
|
|
80861
80874
|
return;
|
|
80862
80875
|
}
|
|
80863
80876
|
const rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName);
|
|
@@ -80879,6 +80892,14 @@ function createTypeChecker(host) {
|
|
|
80879
80892
|
node,
|
|
80880
80893
|
Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
|
|
80881
80894
|
);
|
|
80895
|
+
function reportErrorForInvalidReturnType(message, returnTypeNode2, returnTypeErrorLocation2, typeName) {
|
|
80896
|
+
if (returnTypeNode2 === returnTypeErrorLocation2) {
|
|
80897
|
+
error2(returnTypeErrorLocation2, message, typeName);
|
|
80898
|
+
} else {
|
|
80899
|
+
const diag2 = error2(returnTypeErrorLocation2, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
|
|
80900
|
+
addRelatedInfo(diag2, createDiagnosticForNode(returnTypeNode2, message, typeName));
|
|
80901
|
+
}
|
|
80902
|
+
}
|
|
80882
80903
|
}
|
|
80883
80904
|
function checkDecorator(node) {
|
|
80884
80905
|
const signature = getResolvedSignature(node);
|
package/lib/tsserverlibrary.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.2";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20230726`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -7068,6 +7068,7 @@ ${lanes.join("\n")}
|
|
|
7068
7068
|
Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
|
|
7069
7069
|
An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
|
|
7070
7070
|
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
|
|
7071
|
+
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
|
|
7071
7072
|
In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
|
|
7072
7073
|
Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
|
|
7073
7074
|
Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
|
|
@@ -77460,7 +77461,18 @@ ${lanes.join("\n")}
|
|
|
77460
77461
|
addLazyDiagnostic(checkSignatureDeclarationDiagnostics);
|
|
77461
77462
|
function checkSignatureDeclarationDiagnostics() {
|
|
77462
77463
|
checkCollisionWithArgumentsInGeneratedCode(node);
|
|
77463
|
-
|
|
77464
|
+
let returnTypeNode = getEffectiveReturnTypeNode(node);
|
|
77465
|
+
let returnTypeErrorLocation = returnTypeNode;
|
|
77466
|
+
if (isInJSFile(node)) {
|
|
77467
|
+
const typeTag = getJSDocTypeTag(node);
|
|
77468
|
+
if (typeTag && typeTag.typeExpression && isTypeReferenceNode(typeTag.typeExpression.type)) {
|
|
77469
|
+
const signature = getSingleCallSignature(getTypeFromTypeNode(typeTag.typeExpression));
|
|
77470
|
+
if (signature && signature.declaration) {
|
|
77471
|
+
returnTypeNode = getEffectiveReturnTypeNode(signature.declaration);
|
|
77472
|
+
returnTypeErrorLocation = typeTag.typeExpression.type;
|
|
77473
|
+
}
|
|
77474
|
+
}
|
|
77475
|
+
}
|
|
77464
77476
|
if (noImplicitAny && !returnTypeNode) {
|
|
77465
77477
|
switch (node.kind) {
|
|
77466
77478
|
case 180 /* ConstructSignature */:
|
|
@@ -77471,21 +77483,21 @@ ${lanes.join("\n")}
|
|
|
77471
77483
|
break;
|
|
77472
77484
|
}
|
|
77473
77485
|
}
|
|
77474
|
-
if (returnTypeNode) {
|
|
77486
|
+
if (returnTypeNode && returnTypeErrorLocation) {
|
|
77475
77487
|
const functionFlags2 = getFunctionFlags(node);
|
|
77476
77488
|
if ((functionFlags2 & (4 /* Invalid */ | 1 /* Generator */)) === 1 /* Generator */) {
|
|
77477
77489
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
77478
77490
|
if (returnType === voidType) {
|
|
77479
|
-
error2(
|
|
77491
|
+
error2(returnTypeErrorLocation, Diagnostics.A_generator_cannot_have_a_void_type_annotation);
|
|
77480
77492
|
} else {
|
|
77481
77493
|
const generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || anyType;
|
|
77482
77494
|
const generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || generatorYieldType;
|
|
77483
77495
|
const generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || unknownType;
|
|
77484
77496
|
const generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags2 & 2 /* Async */));
|
|
77485
|
-
checkTypeAssignableTo(generatorInstantiation, returnType,
|
|
77497
|
+
checkTypeAssignableTo(generatorInstantiation, returnType, returnTypeErrorLocation);
|
|
77486
77498
|
}
|
|
77487
77499
|
} else if ((functionFlags2 & 3 /* AsyncGenerator */) === 2 /* Async */) {
|
|
77488
|
-
checkAsyncFunctionReturnType(node, returnTypeNode);
|
|
77500
|
+
checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation);
|
|
77489
77501
|
}
|
|
77490
77502
|
}
|
|
77491
77503
|
if (node.kind !== 181 /* IndexSignature */ && node.kind !== 324 /* JSDocFunctionType */) {
|
|
@@ -78567,7 +78579,7 @@ ${lanes.join("\n")}
|
|
|
78567
78579
|
}
|
|
78568
78580
|
return typeAsAwaitable.awaitedTypeOfType = type;
|
|
78569
78581
|
}
|
|
78570
|
-
function checkAsyncFunctionReturnType(node, returnTypeNode) {
|
|
78582
|
+
function checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation) {
|
|
78571
78583
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
78572
78584
|
if (languageVersion >= 2 /* ES2015 */) {
|
|
78573
78585
|
if (isErrorType(returnType)) {
|
|
@@ -78578,7 +78590,7 @@ ${lanes.join("\n")}
|
|
|
78578
78590
|
true
|
|
78579
78591
|
);
|
|
78580
78592
|
if (globalPromiseType !== emptyGenericType && !isReferenceToType2(returnType, globalPromiseType)) {
|
|
78581
|
-
|
|
78593
|
+
reportErrorForInvalidReturnType(Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, returnTypeNode, returnTypeErrorLocation, typeToString(getAwaitedTypeNoAlias(returnType) || voidType));
|
|
78582
78594
|
return;
|
|
78583
78595
|
}
|
|
78584
78596
|
} else {
|
|
@@ -78588,7 +78600,7 @@ ${lanes.join("\n")}
|
|
|
78588
78600
|
}
|
|
78589
78601
|
const promiseConstructorName = getEntityNameFromTypeNode(returnTypeNode);
|
|
78590
78602
|
if (promiseConstructorName === void 0) {
|
|
78591
|
-
|
|
78603
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, typeToString(returnType));
|
|
78592
78604
|
return;
|
|
78593
78605
|
}
|
|
78594
78606
|
const promiseConstructorSymbol = resolveEntityName(
|
|
@@ -78603,9 +78615,9 @@ ${lanes.join("\n")}
|
|
|
78603
78615
|
/*reportErrors*/
|
|
78604
78616
|
false
|
|
78605
78617
|
)) {
|
|
78606
|
-
error2(
|
|
78618
|
+
error2(returnTypeErrorLocation, Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option);
|
|
78607
78619
|
} else {
|
|
78608
|
-
|
|
78620
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
78609
78621
|
}
|
|
78610
78622
|
return;
|
|
78611
78623
|
}
|
|
@@ -78614,15 +78626,16 @@ ${lanes.join("\n")}
|
|
|
78614
78626
|
true
|
|
78615
78627
|
);
|
|
78616
78628
|
if (globalPromiseConstructorLikeType === emptyObjectType) {
|
|
78617
|
-
|
|
78629
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
78618
78630
|
return;
|
|
78619
78631
|
}
|
|
78620
|
-
|
|
78621
|
-
|
|
78622
|
-
|
|
78623
|
-
|
|
78624
|
-
Diagnostics.
|
|
78625
|
-
)
|
|
78632
|
+
const headMessage = Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;
|
|
78633
|
+
const errorInfo = () => returnTypeNode === returnTypeErrorLocation ? void 0 : chainDiagnosticMessages(
|
|
78634
|
+
/*details*/
|
|
78635
|
+
void 0,
|
|
78636
|
+
Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
|
|
78637
|
+
);
|
|
78638
|
+
if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeErrorLocation, headMessage, errorInfo)) {
|
|
78626
78639
|
return;
|
|
78627
78640
|
}
|
|
78628
78641
|
const rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName);
|
|
@@ -78644,6 +78657,14 @@ ${lanes.join("\n")}
|
|
|
78644
78657
|
node,
|
|
78645
78658
|
Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
|
|
78646
78659
|
);
|
|
78660
|
+
function reportErrorForInvalidReturnType(message, returnTypeNode2, returnTypeErrorLocation2, typeName) {
|
|
78661
|
+
if (returnTypeNode2 === returnTypeErrorLocation2) {
|
|
78662
|
+
error2(returnTypeErrorLocation2, message, typeName);
|
|
78663
|
+
} else {
|
|
78664
|
+
const diag2 = error2(returnTypeErrorLocation2, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
|
|
78665
|
+
addRelatedInfo(diag2, createDiagnosticForNode(returnTypeNode2, message, typeName));
|
|
78666
|
+
}
|
|
78667
|
+
}
|
|
78647
78668
|
}
|
|
78648
78669
|
function checkDecorator(node) {
|
|
78649
78670
|
const signature = getResolvedSignature(node);
|
package/lib/typescript.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.2";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20230726`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -7068,6 +7068,7 @@ ${lanes.join("\n")}
|
|
|
7068
7068
|
Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
|
|
7069
7069
|
An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
|
|
7070
7070
|
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
|
|
7071
|
+
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
|
|
7071
7072
|
In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
|
|
7072
7073
|
Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
|
|
7073
7074
|
Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
|
|
@@ -77460,7 +77461,18 @@ ${lanes.join("\n")}
|
|
|
77460
77461
|
addLazyDiagnostic(checkSignatureDeclarationDiagnostics);
|
|
77461
77462
|
function checkSignatureDeclarationDiagnostics() {
|
|
77462
77463
|
checkCollisionWithArgumentsInGeneratedCode(node);
|
|
77463
|
-
|
|
77464
|
+
let returnTypeNode = getEffectiveReturnTypeNode(node);
|
|
77465
|
+
let returnTypeErrorLocation = returnTypeNode;
|
|
77466
|
+
if (isInJSFile(node)) {
|
|
77467
|
+
const typeTag = getJSDocTypeTag(node);
|
|
77468
|
+
if (typeTag && typeTag.typeExpression && isTypeReferenceNode(typeTag.typeExpression.type)) {
|
|
77469
|
+
const signature = getSingleCallSignature(getTypeFromTypeNode(typeTag.typeExpression));
|
|
77470
|
+
if (signature && signature.declaration) {
|
|
77471
|
+
returnTypeNode = getEffectiveReturnTypeNode(signature.declaration);
|
|
77472
|
+
returnTypeErrorLocation = typeTag.typeExpression.type;
|
|
77473
|
+
}
|
|
77474
|
+
}
|
|
77475
|
+
}
|
|
77464
77476
|
if (noImplicitAny && !returnTypeNode) {
|
|
77465
77477
|
switch (node.kind) {
|
|
77466
77478
|
case 180 /* ConstructSignature */:
|
|
@@ -77471,21 +77483,21 @@ ${lanes.join("\n")}
|
|
|
77471
77483
|
break;
|
|
77472
77484
|
}
|
|
77473
77485
|
}
|
|
77474
|
-
if (returnTypeNode) {
|
|
77486
|
+
if (returnTypeNode && returnTypeErrorLocation) {
|
|
77475
77487
|
const functionFlags2 = getFunctionFlags(node);
|
|
77476
77488
|
if ((functionFlags2 & (4 /* Invalid */ | 1 /* Generator */)) === 1 /* Generator */) {
|
|
77477
77489
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
77478
77490
|
if (returnType === voidType) {
|
|
77479
|
-
error2(
|
|
77491
|
+
error2(returnTypeErrorLocation, Diagnostics.A_generator_cannot_have_a_void_type_annotation);
|
|
77480
77492
|
} else {
|
|
77481
77493
|
const generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || anyType;
|
|
77482
77494
|
const generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || generatorYieldType;
|
|
77483
77495
|
const generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, (functionFlags2 & 2 /* Async */) !== 0) || unknownType;
|
|
77484
77496
|
const generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags2 & 2 /* Async */));
|
|
77485
|
-
checkTypeAssignableTo(generatorInstantiation, returnType,
|
|
77497
|
+
checkTypeAssignableTo(generatorInstantiation, returnType, returnTypeErrorLocation);
|
|
77486
77498
|
}
|
|
77487
77499
|
} else if ((functionFlags2 & 3 /* AsyncGenerator */) === 2 /* Async */) {
|
|
77488
|
-
checkAsyncFunctionReturnType(node, returnTypeNode);
|
|
77500
|
+
checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation);
|
|
77489
77501
|
}
|
|
77490
77502
|
}
|
|
77491
77503
|
if (node.kind !== 181 /* IndexSignature */ && node.kind !== 324 /* JSDocFunctionType */) {
|
|
@@ -78567,7 +78579,7 @@ ${lanes.join("\n")}
|
|
|
78567
78579
|
}
|
|
78568
78580
|
return typeAsAwaitable.awaitedTypeOfType = type;
|
|
78569
78581
|
}
|
|
78570
|
-
function checkAsyncFunctionReturnType(node, returnTypeNode) {
|
|
78582
|
+
function checkAsyncFunctionReturnType(node, returnTypeNode, returnTypeErrorLocation) {
|
|
78571
78583
|
const returnType = getTypeFromTypeNode(returnTypeNode);
|
|
78572
78584
|
if (languageVersion >= 2 /* ES2015 */) {
|
|
78573
78585
|
if (isErrorType(returnType)) {
|
|
@@ -78578,7 +78590,7 @@ ${lanes.join("\n")}
|
|
|
78578
78590
|
true
|
|
78579
78591
|
);
|
|
78580
78592
|
if (globalPromiseType !== emptyGenericType && !isReferenceToType2(returnType, globalPromiseType)) {
|
|
78581
|
-
|
|
78593
|
+
reportErrorForInvalidReturnType(Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, returnTypeNode, returnTypeErrorLocation, typeToString(getAwaitedTypeNoAlias(returnType) || voidType));
|
|
78582
78594
|
return;
|
|
78583
78595
|
}
|
|
78584
78596
|
} else {
|
|
@@ -78588,7 +78600,7 @@ ${lanes.join("\n")}
|
|
|
78588
78600
|
}
|
|
78589
78601
|
const promiseConstructorName = getEntityNameFromTypeNode(returnTypeNode);
|
|
78590
78602
|
if (promiseConstructorName === void 0) {
|
|
78591
|
-
|
|
78603
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, typeToString(returnType));
|
|
78592
78604
|
return;
|
|
78593
78605
|
}
|
|
78594
78606
|
const promiseConstructorSymbol = resolveEntityName(
|
|
@@ -78603,9 +78615,9 @@ ${lanes.join("\n")}
|
|
|
78603
78615
|
/*reportErrors*/
|
|
78604
78616
|
false
|
|
78605
78617
|
)) {
|
|
78606
|
-
error2(
|
|
78618
|
+
error2(returnTypeErrorLocation, Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option);
|
|
78607
78619
|
} else {
|
|
78608
|
-
|
|
78620
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
78609
78621
|
}
|
|
78610
78622
|
return;
|
|
78611
78623
|
}
|
|
@@ -78614,15 +78626,16 @@ ${lanes.join("\n")}
|
|
|
78614
78626
|
true
|
|
78615
78627
|
);
|
|
78616
78628
|
if (globalPromiseConstructorLikeType === emptyObjectType) {
|
|
78617
|
-
|
|
78629
|
+
reportErrorForInvalidReturnType(Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, returnTypeNode, returnTypeErrorLocation, entityNameToString(promiseConstructorName));
|
|
78618
78630
|
return;
|
|
78619
78631
|
}
|
|
78620
|
-
|
|
78621
|
-
|
|
78622
|
-
|
|
78623
|
-
|
|
78624
|
-
Diagnostics.
|
|
78625
|
-
)
|
|
78632
|
+
const headMessage = Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;
|
|
78633
|
+
const errorInfo = () => returnTypeNode === returnTypeErrorLocation ? void 0 : chainDiagnosticMessages(
|
|
78634
|
+
/*details*/
|
|
78635
|
+
void 0,
|
|
78636
|
+
Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
|
|
78637
|
+
);
|
|
78638
|
+
if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeErrorLocation, headMessage, errorInfo)) {
|
|
78626
78639
|
return;
|
|
78627
78640
|
}
|
|
78628
78641
|
const rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName);
|
|
@@ -78644,6 +78657,14 @@ ${lanes.join("\n")}
|
|
|
78644
78657
|
node,
|
|
78645
78658
|
Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
|
|
78646
78659
|
);
|
|
78660
|
+
function reportErrorForInvalidReturnType(message, returnTypeNode2, returnTypeErrorLocation2, typeName) {
|
|
78661
|
+
if (returnTypeNode2 === returnTypeErrorLocation2) {
|
|
78662
|
+
error2(returnTypeErrorLocation2, message, typeName);
|
|
78663
|
+
} else {
|
|
78664
|
+
const diag2 = error2(returnTypeErrorLocation2, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
|
|
78665
|
+
addRelatedInfo(diag2, createDiagnosticForNode(returnTypeNode2, message, typeName));
|
|
78666
|
+
}
|
|
78667
|
+
}
|
|
78647
78668
|
}
|
|
78648
78669
|
function checkDecorator(node) {
|
|
78649
78670
|
const signature = getResolvedSignature(node);
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
|
|
|
54
54
|
|
|
55
55
|
// src/compiler/corePublic.ts
|
|
56
56
|
var versionMajorMinor = "5.2";
|
|
57
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
57
|
+
var version = `${versionMajorMinor}.0-dev.20230726`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
|
@@ -5138,6 +5138,7 @@ var Diagnostics = {
|
|
|
5138
5138
|
Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
|
|
5139
5139
|
An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
|
|
5140
5140
|
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
|
|
5141
|
+
The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
|
|
5141
5142
|
In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
|
|
5142
5143
|
Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
|
|
5143
5144
|
Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "typescript",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "5.2.0-dev.
|
|
5
|
+
"version": "5.2.0-dev.20230726",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"node": "20.1.0",
|
|
114
114
|
"npm": "8.19.4"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "04bfd23105086276349ba6f934f04e01cab2b5a7"
|
|
117
117
|
}
|