typescript 4.7.0-dev.20220314 → 4.7.0-dev.20220317
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/lib.es5.d.ts +1 -1
- package/lib/tsc.js +69 -47
- package/lib/tsserver.js +125 -61
- package/lib/tsserverlibrary.js +125 -61
- package/lib/typescript.js +125 -61
- package/lib/typescriptServices.js +125 -61
- package/lib/typingsInstaller.js +75 -48
- 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.20220317";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -8023,7 +8023,7 @@ var ts;
|
|
|
8023
8023
|
Identifier_expected: diag(1003, ts.DiagnosticCategory.Error, "Identifier_expected_1003", "Identifier expected."),
|
|
8024
8024
|
_0_expected: diag(1005, ts.DiagnosticCategory.Error, "_0_expected_1005", "'{0}' expected."),
|
|
8025
8025
|
A_file_cannot_have_a_reference_to_itself: diag(1006, ts.DiagnosticCategory.Error, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."),
|
|
8026
|
-
|
|
8026
|
+
The_parser_expected_to_find_a_1_to_match_the_0_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."),
|
|
8027
8027
|
Trailing_comma_not_allowed: diag(1009, ts.DiagnosticCategory.Error, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
|
|
8028
8028
|
Asterisk_Slash_expected: diag(1010, ts.DiagnosticCategory.Error, "Asterisk_Slash_expected_1010", "'*/' expected."),
|
|
8029
8029
|
An_element_access_expression_should_take_an_argument: diag(1011, ts.DiagnosticCategory.Error, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."),
|
|
@@ -31415,20 +31415,23 @@ var ts;
|
|
|
31415
31415
|
return inContext(32768 /* AwaitContext */);
|
|
31416
31416
|
}
|
|
31417
31417
|
function parseErrorAtCurrentToken(message, arg0) {
|
|
31418
|
-
parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
|
|
31418
|
+
return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
|
|
31419
31419
|
}
|
|
31420
31420
|
function parseErrorAtPosition(start, length, message, arg0) {
|
|
31421
31421
|
// Don't report another error if it would just be at the same position as the last error.
|
|
31422
31422
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
31423
|
+
var result;
|
|
31423
31424
|
if (!lastError || start !== lastError.start) {
|
|
31424
|
-
|
|
31425
|
+
result = ts.createDetachedDiagnostic(fileName, start, length, message, arg0);
|
|
31426
|
+
parseDiagnostics.push(result);
|
|
31425
31427
|
}
|
|
31426
31428
|
// Mark that we've encountered an error. We'll set an appropriate bit on the next
|
|
31427
31429
|
// node we finish so that it can't be reused incrementally.
|
|
31428
31430
|
parseErrorBeforeNextFinishedNode = true;
|
|
31431
|
+
return result;
|
|
31429
31432
|
}
|
|
31430
31433
|
function parseErrorAt(start, end, message, arg0) {
|
|
31431
|
-
parseErrorAtPosition(start, end - start, message, arg0);
|
|
31434
|
+
return parseErrorAtPosition(start, end - start, message, arg0);
|
|
31432
31435
|
}
|
|
31433
31436
|
function parseErrorAtRange(range, message, arg0) {
|
|
31434
31437
|
parseErrorAt(range.pos, range.end, message, arg0);
|
|
@@ -31701,6 +31704,19 @@ var ts;
|
|
|
31701
31704
|
parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(kind));
|
|
31702
31705
|
return false;
|
|
31703
31706
|
}
|
|
31707
|
+
function parseExpectedMatchingBrackets(openKind, closeKind, openParsed, openPosition) {
|
|
31708
|
+
if (token() === closeKind) {
|
|
31709
|
+
nextToken();
|
|
31710
|
+
return;
|
|
31711
|
+
}
|
|
31712
|
+
var lastError = parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(closeKind));
|
|
31713
|
+
if (!openParsed) {
|
|
31714
|
+
return;
|
|
31715
|
+
}
|
|
31716
|
+
if (lastError) {
|
|
31717
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openPosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, ts.tokenToString(openKind), ts.tokenToString(closeKind)));
|
|
31718
|
+
}
|
|
31719
|
+
}
|
|
31704
31720
|
function parseOptional(t) {
|
|
31705
31721
|
if (token() === t) {
|
|
31706
31722
|
nextToken();
|
|
@@ -33349,7 +33365,7 @@ var ts;
|
|
|
33349
33365
|
if (!parseExpected(19 /* CloseBraceToken */)) {
|
|
33350
33366
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
33351
33367
|
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
33352
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.
|
|
33368
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
|
|
33353
33369
|
}
|
|
33354
33370
|
}
|
|
33355
33371
|
return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos);
|
|
@@ -35159,10 +35175,11 @@ var ts;
|
|
|
35159
35175
|
}
|
|
35160
35176
|
function parseArrayLiteralExpression() {
|
|
35161
35177
|
var pos = getNodePos();
|
|
35162
|
-
|
|
35178
|
+
var openBracketPosition = scanner.getTokenPos();
|
|
35179
|
+
var openBracketParsed = parseExpected(22 /* OpenBracketToken */);
|
|
35163
35180
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35164
35181
|
var elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
|
|
35165
|
-
|
|
35182
|
+
parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
|
|
35166
35183
|
return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos);
|
|
35167
35184
|
}
|
|
35168
35185
|
function parseObjectLiteralElement() {
|
|
@@ -35219,15 +35236,10 @@ var ts;
|
|
|
35219
35236
|
function parseObjectLiteralExpression() {
|
|
35220
35237
|
var pos = getNodePos();
|
|
35221
35238
|
var openBracePosition = scanner.getTokenPos();
|
|
35222
|
-
parseExpected(18 /* OpenBraceToken */);
|
|
35239
|
+
var openBraceParsed = parseExpected(18 /* OpenBraceToken */);
|
|
35223
35240
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35224
35241
|
var properties = parseDelimitedList(12 /* ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true);
|
|
35225
|
-
|
|
35226
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
35227
|
-
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
35228
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
|
|
35229
|
-
}
|
|
35230
|
-
}
|
|
35242
|
+
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
35231
35243
|
return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos);
|
|
35232
35244
|
}
|
|
35233
35245
|
function parseFunctionExpression() {
|
|
@@ -35283,15 +35295,11 @@ var ts;
|
|
|
35283
35295
|
var pos = getNodePos();
|
|
35284
35296
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35285
35297
|
var openBracePosition = scanner.getTokenPos();
|
|
35286
|
-
|
|
35298
|
+
var openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
|
|
35299
|
+
if (openBraceParsed || ignoreMissingOpenBrace) {
|
|
35287
35300
|
var multiLine = scanner.hasPrecedingLineBreak();
|
|
35288
35301
|
var statements = parseList(1 /* BlockStatements */, parseStatement);
|
|
35289
|
-
|
|
35290
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
35291
|
-
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
35292
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
|
|
35293
|
-
}
|
|
35294
|
-
}
|
|
35302
|
+
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
35295
35303
|
var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc);
|
|
35296
35304
|
if (token() === 63 /* EqualsToken */) {
|
|
35297
35305
|
parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses);
|
|
@@ -35336,9 +35344,10 @@ var ts;
|
|
|
35336
35344
|
var pos = getNodePos();
|
|
35337
35345
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35338
35346
|
parseExpected(99 /* IfKeyword */);
|
|
35339
|
-
|
|
35347
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35348
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35340
35349
|
var expression = allowInAnd(parseExpression);
|
|
35341
|
-
|
|
35350
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35342
35351
|
var thenStatement = parseStatement();
|
|
35343
35352
|
var elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : undefined;
|
|
35344
35353
|
return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
|
|
@@ -35349,9 +35358,10 @@ var ts;
|
|
|
35349
35358
|
parseExpected(90 /* DoKeyword */);
|
|
35350
35359
|
var statement = parseStatement();
|
|
35351
35360
|
parseExpected(115 /* WhileKeyword */);
|
|
35352
|
-
|
|
35361
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35362
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35353
35363
|
var expression = allowInAnd(parseExpression);
|
|
35354
|
-
|
|
35364
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35355
35365
|
// From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html
|
|
35356
35366
|
// 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in
|
|
35357
35367
|
// spec but allowed in consensus reality. Approved -- this is the de-facto standard whereby
|
|
@@ -35363,9 +35373,10 @@ var ts;
|
|
|
35363
35373
|
var pos = getNodePos();
|
|
35364
35374
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35365
35375
|
parseExpected(115 /* WhileKeyword */);
|
|
35366
|
-
|
|
35376
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35377
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35367
35378
|
var expression = allowInAnd(parseExpression);
|
|
35368
|
-
|
|
35379
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35369
35380
|
var statement = parseStatement();
|
|
35370
35381
|
return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc);
|
|
35371
35382
|
}
|
|
@@ -35432,9 +35443,10 @@ var ts;
|
|
|
35432
35443
|
var pos = getNodePos();
|
|
35433
35444
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
35434
35445
|
parseExpected(116 /* WithKeyword */);
|
|
35435
|
-
|
|
35446
|
+
var openParenPosition = scanner.getTokenPos();
|
|
35447
|
+
var openParenParsed = parseExpected(20 /* OpenParenToken */);
|
|
35436
35448
|
var expression = allowInAnd(parseExpression);
|
|
35437
|
-
|
|
35449
|
+
parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
|
|
35438
35450
|
var statement = doInsideOfContext(16777216 /* InWithStatement */, parseStatement);
|
|
35439
35451
|
return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc);
|
|
35440
35452
|
}
|
|
@@ -36568,7 +36580,7 @@ var ts;
|
|
|
36568
36580
|
if (!parseExpected(19 /* CloseBraceToken */)) {
|
|
36569
36581
|
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
36570
36582
|
if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
|
|
36571
|
-
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.
|
|
36583
|
+
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
|
|
36572
36584
|
}
|
|
36573
36585
|
}
|
|
36574
36586
|
return finishNode(factory.createAssertClause(elements, multiLine), pos);
|
|
@@ -37544,8 +37556,7 @@ var ts;
|
|
|
37544
37556
|
hasChildren = true;
|
|
37545
37557
|
if (child.kind === 342 /* JSDocTypeTag */) {
|
|
37546
37558
|
if (childTypeTag) {
|
|
37547
|
-
parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
|
|
37548
|
-
var lastError = ts.lastOrUndefined(parseDiagnostics);
|
|
37559
|
+
var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
|
|
37549
37560
|
if (lastError) {
|
|
37550
37561
|
ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, 0, 0, ts.Diagnostics.The_tag_was_first_specified_here));
|
|
37551
37562
|
}
|
|
@@ -44749,7 +44760,6 @@ var ts;
|
|
|
44749
44760
|
node = node.parent;
|
|
44750
44761
|
}
|
|
44751
44762
|
return !isStatementCondition(node) &&
|
|
44752
|
-
!isLogicalAssignmentExpression(node.parent) &&
|
|
44753
44763
|
!isLogicalExpression(node.parent) &&
|
|
44754
44764
|
!(ts.isOptionalChain(node.parent) && node.parent.expression === node);
|
|
44755
44765
|
}
|
|
@@ -46779,7 +46789,7 @@ var ts;
|
|
|
46779
46789
|
checkStrictModeEvalOrArguments(node, node.name);
|
|
46780
46790
|
}
|
|
46781
46791
|
if (!ts.isBindingPattern(node.name)) {
|
|
46782
|
-
if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) {
|
|
46792
|
+
if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* Export */)) {
|
|
46783
46793
|
declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */);
|
|
46784
46794
|
}
|
|
46785
46795
|
else if (ts.isBlockOrCatchScoped(node)) {
|
|
@@ -58284,8 +58294,10 @@ var ts;
|
|
|
58284
58294
|
return type;
|
|
58285
58295
|
}
|
|
58286
58296
|
function isMappedTypeGenericIndexedAccess(type) {
|
|
58287
|
-
|
|
58288
|
-
|
|
58297
|
+
var objectType;
|
|
58298
|
+
return !!(type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ &&
|
|
58299
|
+
!isGenericMappedType(objectType) && isGenericIndexType(type.indexType) &&
|
|
58300
|
+
!objectType.declaration.questionToken && !objectType.declaration.nameType);
|
|
58289
58301
|
}
|
|
58290
58302
|
/**
|
|
58291
58303
|
* For a type parameter, return the base constraint of the type parameter. For the string, number,
|
|
@@ -58873,7 +58885,19 @@ var ts;
|
|
|
58873
58885
|
return p.typeExpression && ts.isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : undefined;
|
|
58874
58886
|
});
|
|
58875
58887
|
var syntheticArgsSymbol = createSymbol(3 /* Variable */, "args", 32768 /* RestParameter */);
|
|
58876
|
-
|
|
58888
|
+
if (lastParamVariadicType) {
|
|
58889
|
+
// Parameter has effective annotation, lock in type
|
|
58890
|
+
syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type));
|
|
58891
|
+
}
|
|
58892
|
+
else {
|
|
58893
|
+
// Parameter has no annotation
|
|
58894
|
+
// By using a `DeferredType` symbol, we allow the type of this rest arg to be overriden by contextual type assignment so long as its type hasn't been
|
|
58895
|
+
// cached by `getTypeOfSymbol` yet.
|
|
58896
|
+
syntheticArgsSymbol.checkFlags |= 65536 /* DeferredType */;
|
|
58897
|
+
syntheticArgsSymbol.deferralParent = neverType;
|
|
58898
|
+
syntheticArgsSymbol.deferralConstituents = [anyArrayType];
|
|
58899
|
+
syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType];
|
|
58900
|
+
}
|
|
58877
58901
|
if (lastParamVariadicType) {
|
|
58878
58902
|
// Replace the last parameter with a rest parameter.
|
|
58879
58903
|
parameters.pop();
|
|
@@ -61470,7 +61494,7 @@ var ts;
|
|
|
61470
61494
|
// If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper
|
|
61471
61495
|
// that substitutes the index type for P. For example, for an index access { [P in K]: Box<T[P]> }[X], we
|
|
61472
61496
|
// construct the type Box<T[X]>.
|
|
61473
|
-
if (isGenericMappedType(objectType)) {
|
|
61497
|
+
if (isGenericMappedType(objectType) && !objectType.declaration.nameType) {
|
|
61474
61498
|
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); });
|
|
61475
61499
|
}
|
|
61476
61500
|
return type[cache] = type;
|
|
@@ -63543,7 +63567,7 @@ var ts;
|
|
|
63543
63567
|
var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType
|
|
63544
63568
|
: target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol))
|
|
63545
63569
|
: getReturnTypeOfSignature(target);
|
|
63546
|
-
if (targetReturnType === voidType) {
|
|
63570
|
+
if (targetReturnType === voidType || targetReturnType === anyType) {
|
|
63547
63571
|
return result;
|
|
63548
63572
|
}
|
|
63549
63573
|
var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType
|
|
@@ -71832,7 +71856,7 @@ var ts;
|
|
|
71832
71856
|
function getTypeOfPropertyOfContextualType(type, name, nameType) {
|
|
71833
71857
|
return mapType(type, function (t) {
|
|
71834
71858
|
var _a;
|
|
71835
|
-
if (isGenericMappedType(t)) {
|
|
71859
|
+
if (isGenericMappedType(t) && !t.declaration.nameType) {
|
|
71836
71860
|
var constraint = getConstraintTypeFromMappedType(t);
|
|
71837
71861
|
var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint;
|
|
71838
71862
|
var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name));
|
|
@@ -76760,7 +76784,11 @@ var ts;
|
|
|
76760
76784
|
if (signatureHasRestParameter(signature)) {
|
|
76761
76785
|
// parameter might be a transient symbol generated by use of `arguments` in the function body.
|
|
76762
76786
|
var parameter = ts.last(signature.parameters);
|
|
76763
|
-
if (
|
|
76787
|
+
if (parameter.valueDeclaration
|
|
76788
|
+
? !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)
|
|
76789
|
+
// a declarationless parameter may still have a `.type` already set by its construction logic
|
|
76790
|
+
// (which may pull a type from a jsdoc) - only allow fixing on `DeferredType` parameters with a fallback type
|
|
76791
|
+
: !!(ts.getCheckFlags(parameter) & 65536 /* DeferredType */)) {
|
|
76764
76792
|
var contextualParameterType = getRestTypeAtPosition(context, len);
|
|
76765
76793
|
assignParameterType(parameter, contextualParameterType);
|
|
76766
76794
|
}
|
|
@@ -76779,8 +76807,8 @@ var ts;
|
|
|
76779
76807
|
var links = getSymbolLinks(parameter);
|
|
76780
76808
|
if (!links.type) {
|
|
76781
76809
|
var declaration = parameter.valueDeclaration;
|
|
76782
|
-
links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true);
|
|
76783
|
-
if (declaration.name.kind !== 79 /* Identifier */) {
|
|
76810
|
+
links.type = type || (declaration ? getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true) : getTypeOfSymbol(parameter));
|
|
76811
|
+
if (declaration && declaration.name.kind !== 79 /* Identifier */) {
|
|
76784
76812
|
// if inference didn't come up with anything but unknown, fall back to the binding pattern if present.
|
|
76785
76813
|
if (links.type === unknownType) {
|
|
76786
76814
|
links.type = getTypeFromBindingPattern(declaration.name);
|
|
@@ -87448,10 +87476,9 @@ var ts;
|
|
|
87448
87476
|
}
|
|
87449
87477
|
var parent = ts.walkUpParenthesizedTypes(node.parent);
|
|
87450
87478
|
if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) {
|
|
87451
|
-
|
|
87452
|
-
if (
|
|
87453
|
-
|
|
87454
|
-
parent = parent.parent.parent;
|
|
87479
|
+
var host_2 = ts.getJSDocHost(parent);
|
|
87480
|
+
if (host_2) {
|
|
87481
|
+
parent = ts.getSingleVariableOfVariableStatement(host_2) || host_2;
|
|
87455
87482
|
}
|
|
87456
87483
|
}
|
|
87457
87484
|
switch (parent.kind) {
|
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.20220317",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|