typescript 4.7.0-dev.20220329 → 4.7.0-dev.20220401
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/protocol.d.ts +30 -0
- package/lib/tsc.js +90 -40
- package/lib/tsserver.js +542 -240
- package/lib/tsserverlibrary.d.ts +39 -1
- package/lib/tsserverlibrary.js +542 -240
- package/lib/typescript.d.ts +9 -1
- package/lib/typescript.js +524 -238
- package/lib/typescriptServices.d.ts +9 -1
- package/lib/typescriptServices.js +524 -238
- package/lib/typingsInstaller.js +97 -42
- package/package.json +1 -1
package/lib/typingsInstaller.js
CHANGED
|
@@ -89,7 +89,7 @@ var ts;
|
|
|
89
89
|
// The following is baselined as a literal template type without intervention
|
|
90
90
|
/** The version of the TypeScript compiler release */
|
|
91
91
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
92
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
92
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220401";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -9484,6 +9484,7 @@ var ts;
|
|
|
9484
9484
|
An_expanded_version_of_this_information_showing_all_possible_compiler_options: diag(6928, ts.DiagnosticCategory.Message, "An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928", "An expanded version of this information, showing all possible compiler options"),
|
|
9485
9485
|
Compiles_the_current_project_with_additional_settings: diag(6929, ts.DiagnosticCategory.Message, "Compiles_the_current_project_with_additional_settings_6929", "Compiles the current project, with additional settings."),
|
|
9486
9486
|
true_for_ES2022_and_above_including_ESNext: diag(6930, ts.DiagnosticCategory.Message, "true_for_ES2022_and_above_including_ESNext_6930", "`true` for ES2022 and above, including ESNext."),
|
|
9487
|
+
List_of_file_name_suffixes_to_search_when_resolving_a_module: diag(6931, ts.DiagnosticCategory.Error, "List_of_file_name_suffixes_to_search_when_resolving_a_module_6931", "List of file name suffixes to search when resolving a module."),
|
|
9487
9488
|
Variable_0_implicitly_has_an_1_type: diag(7005, ts.DiagnosticCategory.Error, "Variable_0_implicitly_has_an_1_type_7005", "Variable '{0}' implicitly has an '{1}' type."),
|
|
9488
9489
|
Parameter_0_implicitly_has_an_1_type: diag(7006, ts.DiagnosticCategory.Error, "Parameter_0_implicitly_has_an_1_type_7006", "Parameter '{0}' implicitly has an '{1}' type."),
|
|
9489
9490
|
Member_0_implicitly_has_an_1_type: diag(7008, ts.DiagnosticCategory.Error, "Member_0_implicitly_has_an_1_type_7008", "Member '{0}' implicitly has an '{1}' type."),
|
|
@@ -39478,6 +39479,18 @@ var ts;
|
|
|
39478
39479
|
description: ts.Diagnostics.Allow_accessing_UMD_globals_from_modules,
|
|
39479
39480
|
defaultValueDescription: false,
|
|
39480
39481
|
},
|
|
39482
|
+
{
|
|
39483
|
+
name: "moduleSuffixes",
|
|
39484
|
+
type: "list",
|
|
39485
|
+
element: {
|
|
39486
|
+
name: "suffix",
|
|
39487
|
+
type: "string",
|
|
39488
|
+
},
|
|
39489
|
+
listPreserveFalsyValues: true,
|
|
39490
|
+
affectsModuleResolution: true,
|
|
39491
|
+
category: ts.Diagnostics.Modules,
|
|
39492
|
+
description: ts.Diagnostics.List_of_file_name_suffixes_to_search_when_resolving_a_module,
|
|
39493
|
+
},
|
|
39481
39494
|
// Source Maps
|
|
39482
39495
|
{
|
|
39483
39496
|
name: "sourceRoot",
|
|
@@ -41404,7 +41417,7 @@ var ts;
|
|
|
41404
41417
|
if (option.type === "list") {
|
|
41405
41418
|
var listOption_1 = option;
|
|
41406
41419
|
if (listOption_1.element.isFilePath || !ts.isString(listOption_1.element.type)) {
|
|
41407
|
-
return ts.filter(ts.map(value, function (v) { return normalizeOptionValue(listOption_1.element, basePath, v); }), function (v) { return !!v; });
|
|
41420
|
+
return ts.filter(ts.map(value, function (v) { return normalizeOptionValue(listOption_1.element, basePath, v); }), function (v) { return listOption_1.listPreserveFalsyValues ? true : !!v; });
|
|
41408
41421
|
}
|
|
41409
41422
|
return value;
|
|
41410
41423
|
}
|
|
@@ -41445,7 +41458,7 @@ var ts;
|
|
|
41445
41458
|
}
|
|
41446
41459
|
}
|
|
41447
41460
|
function convertJsonOptionOfListType(option, values, basePath, errors) {
|
|
41448
|
-
return ts.filter(ts.map(values, function (v) { return convertJsonOption(option.element, v, basePath, errors); }), function (v) { return !!v; });
|
|
41461
|
+
return ts.filter(ts.map(values, function (v) { return convertJsonOption(option.element, v, basePath, errors); }), function (v) { return option.listPreserveFalsyValues ? true : !!v; });
|
|
41449
41462
|
}
|
|
41450
41463
|
/**
|
|
41451
41464
|
* Tests for a path that ends in a recursive directory wildcard.
|
|
@@ -43071,6 +43084,15 @@ var ts;
|
|
|
43071
43084
|
}
|
|
43072
43085
|
/** Return the file if it exists. */
|
|
43073
43086
|
function tryFile(fileName, onlyRecordFailures, state) {
|
|
43087
|
+
var _a, _b;
|
|
43088
|
+
if (!((_a = state.compilerOptions.moduleSuffixes) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
43089
|
+
return tryFileLookup(fileName, onlyRecordFailures, state);
|
|
43090
|
+
}
|
|
43091
|
+
var ext = (_b = ts.tryGetExtensionFromPath(fileName)) !== null && _b !== void 0 ? _b : "";
|
|
43092
|
+
var fileNameNoExtension = ext ? ts.removeExtension(fileName, ext) : fileName;
|
|
43093
|
+
return ts.forEach(state.compilerOptions.moduleSuffixes, function (suffix) { return tryFileLookup(fileNameNoExtension + suffix + ext, onlyRecordFailures, state); });
|
|
43094
|
+
}
|
|
43095
|
+
function tryFileLookup(fileName, onlyRecordFailures, state) {
|
|
43074
43096
|
if (!onlyRecordFailures) {
|
|
43075
43097
|
if (state.host.fileExists(fileName)) {
|
|
43076
43098
|
if (state.traceEnabled) {
|
|
@@ -47395,7 +47417,8 @@ var ts;
|
|
|
47395
47417
|
CheckMode[CheckMode["SkipContextSensitive"] = 4] = "SkipContextSensitive";
|
|
47396
47418
|
CheckMode[CheckMode["SkipGenericFunctions"] = 8] = "SkipGenericFunctions";
|
|
47397
47419
|
CheckMode[CheckMode["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
|
|
47398
|
-
CheckMode[CheckMode["
|
|
47420
|
+
CheckMode[CheckMode["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
|
|
47421
|
+
CheckMode[CheckMode["RestBindingElement"] = 64] = "RestBindingElement";
|
|
47399
47422
|
// e.g. in `const { a, ...rest } = foo`, when checking the type of `foo` to determine the type of `rest`,
|
|
47400
47423
|
// we need to preserve generic types instead of substituting them for constraints
|
|
47401
47424
|
})(CheckMode || (CheckMode = {}));
|
|
@@ -47733,26 +47756,10 @@ var ts;
|
|
|
47733
47756
|
if (!node) {
|
|
47734
47757
|
return undefined;
|
|
47735
47758
|
}
|
|
47736
|
-
|
|
47737
|
-
|
|
47738
|
-
if (contextFlags & 4 /* Completions */ && containingCall) {
|
|
47739
|
-
var toMarkSkip = node;
|
|
47740
|
-
do {
|
|
47741
|
-
getNodeLinks(toMarkSkip).skipDirectInference = true;
|
|
47742
|
-
toMarkSkip = toMarkSkip.parent;
|
|
47743
|
-
} while (toMarkSkip && toMarkSkip !== containingCall);
|
|
47744
|
-
getNodeLinks(containingCall).resolvedSignature = undefined;
|
|
47745
|
-
}
|
|
47746
|
-
var result = getContextualType(node, contextFlags);
|
|
47747
|
-
if (contextFlags & 4 /* Completions */ && containingCall) {
|
|
47748
|
-
var toMarkSkip = node;
|
|
47749
|
-
do {
|
|
47750
|
-
getNodeLinks(toMarkSkip).skipDirectInference = undefined;
|
|
47751
|
-
toMarkSkip = toMarkSkip.parent;
|
|
47752
|
-
} while (toMarkSkip && toMarkSkip !== containingCall);
|
|
47753
|
-
getNodeLinks(containingCall).resolvedSignature = containingCallResolvedSignature;
|
|
47759
|
+
if (contextFlags & 4 /* Completions */) {
|
|
47760
|
+
return runWithInferenceBlockedFromSourceNode(node, function () { return getContextualType(node, contextFlags); });
|
|
47754
47761
|
}
|
|
47755
|
-
return
|
|
47762
|
+
return getContextualType(node, contextFlags);
|
|
47756
47763
|
},
|
|
47757
47764
|
getContextualTypeForObjectLiteralElement: function (nodeIn) {
|
|
47758
47765
|
var node = ts.getParseTreeNode(nodeIn, ts.isObjectLiteralElementLike);
|
|
@@ -47772,6 +47779,9 @@ var ts;
|
|
|
47772
47779
|
getResolvedSignature: function (node, candidatesOutArray, argumentCount) {
|
|
47773
47780
|
return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 0 /* Normal */);
|
|
47774
47781
|
},
|
|
47782
|
+
getResolvedSignatureForStringLiteralCompletions: function (call, editingArgument, candidatesOutArray) {
|
|
47783
|
+
return getResolvedSignatureWorker(call, candidatesOutArray, /*argumentCount*/ undefined, 32 /* IsForStringLiteralArgumentCompletions */, editingArgument);
|
|
47784
|
+
},
|
|
47775
47785
|
getResolvedSignatureForSignatureHelp: function (node, candidatesOutArray, argumentCount) {
|
|
47776
47786
|
return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 16 /* IsForSignatureHelp */);
|
|
47777
47787
|
},
|
|
@@ -47924,10 +47934,34 @@ var ts;
|
|
|
47924
47934
|
getTypeOnlyAliasDeclaration: getTypeOnlyAliasDeclaration,
|
|
47925
47935
|
getMemberOverrideModifierStatus: getMemberOverrideModifierStatus,
|
|
47926
47936
|
};
|
|
47927
|
-
function
|
|
47937
|
+
function runWithInferenceBlockedFromSourceNode(node, fn) {
|
|
47938
|
+
var containingCall = ts.findAncestor(node, ts.isCallLikeExpression);
|
|
47939
|
+
var containingCallResolvedSignature = containingCall && getNodeLinks(containingCall).resolvedSignature;
|
|
47940
|
+
if (containingCall) {
|
|
47941
|
+
var toMarkSkip = node;
|
|
47942
|
+
do {
|
|
47943
|
+
getNodeLinks(toMarkSkip).skipDirectInference = true;
|
|
47944
|
+
toMarkSkip = toMarkSkip.parent;
|
|
47945
|
+
} while (toMarkSkip && toMarkSkip !== containingCall);
|
|
47946
|
+
getNodeLinks(containingCall).resolvedSignature = undefined;
|
|
47947
|
+
}
|
|
47948
|
+
var result = fn();
|
|
47949
|
+
if (containingCall) {
|
|
47950
|
+
var toMarkSkip = node;
|
|
47951
|
+
do {
|
|
47952
|
+
getNodeLinks(toMarkSkip).skipDirectInference = undefined;
|
|
47953
|
+
toMarkSkip = toMarkSkip.parent;
|
|
47954
|
+
} while (toMarkSkip && toMarkSkip !== containingCall);
|
|
47955
|
+
getNodeLinks(containingCall).resolvedSignature = containingCallResolvedSignature;
|
|
47956
|
+
}
|
|
47957
|
+
return result;
|
|
47958
|
+
}
|
|
47959
|
+
function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) {
|
|
47928
47960
|
var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression);
|
|
47929
47961
|
apparentArgumentCount = argumentCount;
|
|
47930
|
-
var res = node ?
|
|
47962
|
+
var res = !node ? undefined :
|
|
47963
|
+
editingArgument ? runWithInferenceBlockedFromSourceNode(editingArgument, function () { return getResolvedSignature(node, candidatesOutArray, checkMode); }) :
|
|
47964
|
+
getResolvedSignature(node, candidatesOutArray, checkMode);
|
|
47931
47965
|
apparentArgumentCount = undefined;
|
|
47932
47966
|
return res;
|
|
47933
47967
|
}
|
|
@@ -52054,7 +52088,15 @@ var ts;
|
|
|
52054
52088
|
if (!ts.nodeIsSynthesized(node) && ts.getParseTreeNode(node) === node) {
|
|
52055
52089
|
return node;
|
|
52056
52090
|
}
|
|
52057
|
-
return ts.setTextRange(ts.factory.cloneNode(ts.visitEachChild(node, deepCloneOrReuseNode, ts.nullTransformationContext)), node);
|
|
52091
|
+
return ts.setTextRange(ts.factory.cloneNode(ts.visitEachChild(node, deepCloneOrReuseNode, ts.nullTransformationContext, deepCloneOrReuseNodes)), node);
|
|
52092
|
+
}
|
|
52093
|
+
function deepCloneOrReuseNodes(nodes, visitor, test, start, count) {
|
|
52094
|
+
if (nodes && nodes.length === 0) {
|
|
52095
|
+
// Ensure we explicitly make a copy of an empty array; visitNodes will not do this unless the array has elements,
|
|
52096
|
+
// which can lead to us reusing the same empty NodeArray more than once within the same AST during type noding.
|
|
52097
|
+
return ts.setTextRange(ts.factory.createNodeArray(/*nodes*/ undefined, nodes.hasTrailingComma), nodes);
|
|
52098
|
+
}
|
|
52099
|
+
return ts.visitNodes(nodes, visitor, test, start, count);
|
|
52058
52100
|
}
|
|
52059
52101
|
}
|
|
52060
52102
|
function createTypeNodeFromObjectType(type) {
|
|
@@ -55061,7 +55103,7 @@ var ts;
|
|
|
55061
55103
|
}
|
|
55062
55104
|
/** Return the inferred type for a binding element */
|
|
55063
55105
|
function getTypeForBindingElement(declaration) {
|
|
55064
|
-
var checkMode = declaration.dotDotDotToken ?
|
|
55106
|
+
var checkMode = declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */;
|
|
55065
55107
|
var parentType = getTypeForBindingElementParent(declaration.parent.parent, checkMode);
|
|
55066
55108
|
return parentType && getBindingElementTypeFromParentType(declaration, parentType);
|
|
55067
55109
|
}
|
|
@@ -68189,7 +68231,7 @@ var ts;
|
|
|
68189
68231
|
for (var _i = 0, properties_3 = properties; _i < properties_3.length; _i++) {
|
|
68190
68232
|
var targetProp = properties_3[_i];
|
|
68191
68233
|
var sourceProp = getPropertyOfType(source, targetProp.escapedName);
|
|
68192
|
-
if (sourceProp) {
|
|
68234
|
+
if (sourceProp && !ts.some(sourceProp.declarations, hasSkipDirectInferenceFlag)) {
|
|
68193
68235
|
inferFromTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp));
|
|
68194
68236
|
}
|
|
68195
68237
|
}
|
|
@@ -70663,7 +70705,7 @@ var ts;
|
|
|
70663
70705
|
// as we want the type of a rest element to be generic when possible.
|
|
70664
70706
|
var contextualType = (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) &&
|
|
70665
70707
|
!((ts.isJsxOpeningElement(node.parent) || ts.isJsxSelfClosingElement(node.parent)) && node.parent.tagName === node) &&
|
|
70666
|
-
(checkMode && checkMode &
|
|
70708
|
+
(checkMode && checkMode & 64 /* RestBindingElement */ ?
|
|
70667
70709
|
getContextualType(node, 8 /* SkipBindingPatterns */)
|
|
70668
70710
|
: getContextualType(node));
|
|
70669
70711
|
return contextualType && !isGenericType(contextualType);
|
|
@@ -70784,7 +70826,7 @@ var ts;
|
|
|
70784
70826
|
if (func.parameters.length >= 2 && isContextSensitiveFunctionOrObjectLiteralMethod(func)) {
|
|
70785
70827
|
var contextualSignature = getContextualSignature(func);
|
|
70786
70828
|
if (contextualSignature && contextualSignature.parameters.length === 1 && signatureHasRestParameter(contextualSignature)) {
|
|
70787
|
-
var restType = getTypeOfSymbol(contextualSignature.parameters[0]);
|
|
70829
|
+
var restType = getReducedApparentType(getTypeOfSymbol(contextualSignature.parameters[0]));
|
|
70788
70830
|
if (restType.flags & 1048576 /* Union */ && everyType(restType, isTupleType) && !isSymbolAssigned(symbol)) {
|
|
70789
70831
|
var narrowedType = getFlowTypeOfReference(func, restType, restType, /*flowContainer*/ undefined, location.flowNode);
|
|
70790
70832
|
var index = func.parameters.indexOf(declaration) - (ts.getThisParameter(func) ? 1 : 0);
|
|
@@ -71602,7 +71644,7 @@ var ts;
|
|
|
71602
71644
|
var parent = declaration.parent.parent;
|
|
71603
71645
|
var name = declaration.propertyName || declaration.name;
|
|
71604
71646
|
var parentType = getContextualTypeForVariableLikeDeclaration(parent) ||
|
|
71605
|
-
parent.kind !== 203 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ?
|
|
71647
|
+
parent.kind !== 203 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */);
|
|
71606
71648
|
if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name))
|
|
71607
71649
|
return undefined;
|
|
71608
71650
|
if (parent.name.kind === 202 /* ArrayBindingPattern */) {
|
|
@@ -72089,9 +72131,14 @@ var ts;
|
|
|
72089
72131
|
return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper);
|
|
72090
72132
|
}
|
|
72091
72133
|
// For other purposes (e.g. determining whether to produce literal types) we only
|
|
72092
|
-
// incorporate inferences made from the return type in a function call.
|
|
72134
|
+
// incorporate inferences made from the return type in a function call. We remove
|
|
72135
|
+
// the 'boolean' type from the contextual type such that contextually typed boolean
|
|
72136
|
+
// literals actually end up widening to 'boolean' (see #48363).
|
|
72093
72137
|
if (inferenceContext.returnMapper) {
|
|
72094
|
-
|
|
72138
|
+
var type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper);
|
|
72139
|
+
return type.flags & 1048576 /* Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ?
|
|
72140
|
+
filterType(type, function (t) { return t !== regularFalseType && t !== regularTrueType; }) :
|
|
72141
|
+
type;
|
|
72095
72142
|
}
|
|
72096
72143
|
}
|
|
72097
72144
|
}
|
|
@@ -74656,7 +74703,7 @@ var ts;
|
|
|
74656
74703
|
}
|
|
74657
74704
|
for (var i = 0; i < argCount; i++) {
|
|
74658
74705
|
var arg = args[i];
|
|
74659
|
-
if (arg.kind !== 227 /* OmittedExpression */) {
|
|
74706
|
+
if (arg.kind !== 227 /* OmittedExpression */ && !(checkMode & 32 /* IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) {
|
|
74660
74707
|
var paramType = getTypeAtPosition(signature, i);
|
|
74661
74708
|
var argType = checkExpressionWithContextualType(arg, paramType, context, checkMode);
|
|
74662
74709
|
inferTypes(context.inferences, argType, paramType);
|
|
@@ -75341,7 +75388,7 @@ var ts;
|
|
|
75341
75388
|
}
|
|
75342
75389
|
}
|
|
75343
75390
|
}
|
|
75344
|
-
return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray);
|
|
75391
|
+
return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray, checkMode);
|
|
75345
75392
|
function addImplementationSuccessElaboration(failed, diagnostic) {
|
|
75346
75393
|
var _a, _b;
|
|
75347
75394
|
var oldCandidatesForArgumentError = candidatesForArgumentError;
|
|
@@ -75442,14 +75489,14 @@ var ts;
|
|
|
75442
75489
|
}
|
|
75443
75490
|
}
|
|
75444
75491
|
// No signature was applicable. We have already reported the errors for the invalid signature.
|
|
75445
|
-
function getCandidateForOverloadFailure(node, candidates, args, hasCandidatesOutArray) {
|
|
75492
|
+
function getCandidateForOverloadFailure(node, candidates, args, hasCandidatesOutArray, checkMode) {
|
|
75446
75493
|
ts.Debug.assert(candidates.length > 0); // Else should not have called this.
|
|
75447
75494
|
checkNodeDeferred(node);
|
|
75448
75495
|
// Normally we will combine overloads. Skip this if they have type parameters since that's hard to combine.
|
|
75449
75496
|
// Don't do this if there is a `candidatesOutArray`,
|
|
75450
75497
|
// because then we want the chosen best candidate to be one of the overloads, not a combination.
|
|
75451
75498
|
return hasCandidatesOutArray || candidates.length === 1 || candidates.some(function (c) { return !!c.typeParameters; })
|
|
75452
|
-
? pickLongestCandidateSignature(node, candidates, args)
|
|
75499
|
+
? pickLongestCandidateSignature(node, candidates, args, checkMode)
|
|
75453
75500
|
: createUnionOfSignaturesForOverloadFailure(candidates);
|
|
75454
75501
|
}
|
|
75455
75502
|
function createUnionOfSignaturesForOverloadFailure(candidates) {
|
|
@@ -75497,7 +75544,7 @@ var ts;
|
|
|
75497
75544
|
// This function is currently only used for erroneous overloads, so it's good enough to just use the first source.
|
|
75498
75545
|
return createSymbolWithType(ts.first(sources), type);
|
|
75499
75546
|
}
|
|
75500
|
-
function pickLongestCandidateSignature(node, candidates, args) {
|
|
75547
|
+
function pickLongestCandidateSignature(node, candidates, args, checkMode) {
|
|
75501
75548
|
// Pick the longest signature. This way we can get a contextual type for cases like:
|
|
75502
75549
|
// declare function f(a: { xa: number; xb: number; }, b: number);
|
|
75503
75550
|
// f({ |
|
|
@@ -75513,7 +75560,7 @@ var ts;
|
|
|
75513
75560
|
var typeArgumentNodes = callLikeExpressionMayHaveTypeArguments(node) ? node.typeArguments : undefined;
|
|
75514
75561
|
var instantiated = typeArgumentNodes
|
|
75515
75562
|
? createSignatureInstantiation(candidate, getTypeArgumentsFromNodes(typeArgumentNodes, typeParameters, ts.isInJSFile(node)))
|
|
75516
|
-
: inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args);
|
|
75563
|
+
: inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args, checkMode);
|
|
75517
75564
|
candidates[bestIndex] = instantiated;
|
|
75518
75565
|
return instantiated;
|
|
75519
75566
|
}
|
|
@@ -75527,9 +75574,9 @@ var ts;
|
|
|
75527
75574
|
}
|
|
75528
75575
|
return typeArguments;
|
|
75529
75576
|
}
|
|
75530
|
-
function inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args) {
|
|
75577
|
+
function inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args, checkMode) {
|
|
75531
75578
|
var inferenceContext = createInferenceContext(typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */);
|
|
75532
|
-
var typeArgumentTypes = inferTypeArguments(node, candidate, args, 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext);
|
|
75579
|
+
var typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext);
|
|
75533
75580
|
return createSignatureInstantiation(candidate, typeArgumentTypes);
|
|
75534
75581
|
}
|
|
75535
75582
|
function getLongestCandidateIndex(candidates, argsCount) {
|
|
@@ -81595,7 +81642,7 @@ var ts;
|
|
|
81595
81642
|
}
|
|
81596
81643
|
// check private/protected variable access
|
|
81597
81644
|
var parent = node.parent.parent;
|
|
81598
|
-
var parentCheckMode = node.dotDotDotToken ?
|
|
81645
|
+
var parentCheckMode = node.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */;
|
|
81599
81646
|
var parentType = getTypeForBindingElementParent(parent, parentCheckMode);
|
|
81600
81647
|
var name = node.propertyName || node.name;
|
|
81601
81648
|
if (parentType && !ts.isBindingPattern(name)) {
|
|
@@ -111100,6 +111147,7 @@ var ts;
|
|
|
111100
111147
|
writeLine();
|
|
111101
111148
|
decreaseIndent();
|
|
111102
111149
|
}
|
|
111150
|
+
emitList(node, node.members, 2 /* PreserveLines */);
|
|
111103
111151
|
writePunctuation("}");
|
|
111104
111152
|
}
|
|
111105
111153
|
function emitLiteralType(node) {
|
|
@@ -116693,6 +116741,13 @@ var ts;
|
|
|
116693
116741
|
return "skip";
|
|
116694
116742
|
}
|
|
116695
116743
|
break;
|
|
116744
|
+
case 270 /* ImportSpecifier */:
|
|
116745
|
+
case 275 /* ExportSpecifier */:
|
|
116746
|
+
if (node.isTypeOnly) {
|
|
116747
|
+
diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, ts.isImportSpecifier(node) ? "import...type" : "export...type"));
|
|
116748
|
+
return "skip";
|
|
116749
|
+
}
|
|
116750
|
+
break;
|
|
116696
116751
|
case 265 /* ImportEqualsDeclaration */:
|
|
116697
116752
|
diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_TypeScript_files));
|
|
116698
116753
|
return "skip";
|
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": "4.7.0-dev.
|
|
5
|
+
"version": "4.7.0-dev.20220401",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|