typescript 4.7.0-dev.20220313 → 4.7.0-dev.20220316

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 CHANGED
@@ -230,7 +230,7 @@ interface ObjectConstructor {
230
230
  * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
231
231
  * @param o Object on which to lock the attributes.
232
232
  */
233
- freeze<T extends {[idx: string]: U | null | undefined | object}, U extends string | bigint | number | symbol>(o: T): Readonly<T>;
233
+ freeze<T extends {[idx: string]: U | null | undefined | object}, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;
234
234
 
235
235
  /**
236
236
  * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.7";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220313";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220316";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -5221,7 +5221,7 @@ var ts;
5221
5221
  Identifier_expected: diag(1003, ts.DiagnosticCategory.Error, "Identifier_expected_1003", "Identifier expected."),
5222
5222
  _0_expected: diag(1005, ts.DiagnosticCategory.Error, "_0_expected_1005", "'{0}' expected."),
5223
5223
  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."),
5224
- The_parser_expected_to_find_a_to_match_the_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_to_match_the_token_here_1007", "The parser expected to find a '}' to match the '{' token here."),
5224
+ 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."),
5225
5225
  Trailing_comma_not_allowed: diag(1009, ts.DiagnosticCategory.Error, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
5226
5226
  Asterisk_Slash_expected: diag(1010, ts.DiagnosticCategory.Error, "Asterisk_Slash_expected_1010", "'*/' expected."),
5227
5227
  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."),
@@ -25342,17 +25342,20 @@ var ts;
25342
25342
  return inContext(32768);
25343
25343
  }
25344
25344
  function parseErrorAtCurrentToken(message, arg0) {
25345
- parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
25345
+ return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
25346
25346
  }
25347
25347
  function parseErrorAtPosition(start, length, message, arg0) {
25348
25348
  var lastError = ts.lastOrUndefined(parseDiagnostics);
25349
+ var result;
25349
25350
  if (!lastError || start !== lastError.start) {
25350
- parseDiagnostics.push(ts.createDetachedDiagnostic(fileName, start, length, message, arg0));
25351
+ result = ts.createDetachedDiagnostic(fileName, start, length, message, arg0);
25352
+ parseDiagnostics.push(result);
25351
25353
  }
25352
25354
  parseErrorBeforeNextFinishedNode = true;
25355
+ return result;
25353
25356
  }
25354
25357
  function parseErrorAt(start, end, message, arg0) {
25355
- parseErrorAtPosition(start, end - start, message, arg0);
25358
+ return parseErrorAtPosition(start, end - start, message, arg0);
25356
25359
  }
25357
25360
  function parseErrorAtRange(range, message, arg0) {
25358
25361
  parseErrorAt(range.pos, range.end, message, arg0);
@@ -25568,6 +25571,19 @@ var ts;
25568
25571
  parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(kind));
25569
25572
  return false;
25570
25573
  }
25574
+ function parseExpectedMatchingBrackets(openKind, closeKind, openParsed, openPosition) {
25575
+ if (token() === closeKind) {
25576
+ nextToken();
25577
+ return;
25578
+ }
25579
+ var lastError = parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(closeKind));
25580
+ if (!openParsed) {
25581
+ return;
25582
+ }
25583
+ if (lastError) {
25584
+ 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)));
25585
+ }
25586
+ }
25571
25587
  function parseOptional(t) {
25572
25588
  if (token() === t) {
25573
25589
  nextToken();
@@ -26906,7 +26922,7 @@ var ts;
26906
26922
  if (!parseExpected(19)) {
26907
26923
  var lastError = ts.lastOrUndefined(parseDiagnostics);
26908
26924
  if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
26909
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
26925
+ ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
26910
26926
  }
26911
26927
  }
26912
26928
  return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos);
@@ -28263,10 +28279,11 @@ var ts;
28263
28279
  }
28264
28280
  function parseArrayLiteralExpression() {
28265
28281
  var pos = getNodePos();
28266
- parseExpected(22);
28282
+ var openBracketPosition = scanner.getTokenPos();
28283
+ var openBracketParsed = parseExpected(22);
28267
28284
  var multiLine = scanner.hasPrecedingLineBreak();
28268
28285
  var elements = parseDelimitedList(15, parseArgumentOrArrayLiteralElement);
28269
- parseExpected(23);
28286
+ parseExpectedMatchingBrackets(22, 23, openBracketParsed, openBracketPosition);
28270
28287
  return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos);
28271
28288
  }
28272
28289
  function parseObjectLiteralElement() {
@@ -28314,15 +28331,10 @@ var ts;
28314
28331
  function parseObjectLiteralExpression() {
28315
28332
  var pos = getNodePos();
28316
28333
  var openBracePosition = scanner.getTokenPos();
28317
- parseExpected(18);
28334
+ var openBraceParsed = parseExpected(18);
28318
28335
  var multiLine = scanner.hasPrecedingLineBreak();
28319
28336
  var properties = parseDelimitedList(12, parseObjectLiteralElement, true);
28320
- if (!parseExpected(19)) {
28321
- var lastError = ts.lastOrUndefined(parseDiagnostics);
28322
- if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
28323
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
28324
- }
28325
- }
28337
+ parseExpectedMatchingBrackets(18, 19, openBraceParsed, openBracePosition);
28326
28338
  return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos);
28327
28339
  }
28328
28340
  function parseFunctionExpression() {
@@ -28371,15 +28383,11 @@ var ts;
28371
28383
  var pos = getNodePos();
28372
28384
  var hasJSDoc = hasPrecedingJSDocComment();
28373
28385
  var openBracePosition = scanner.getTokenPos();
28374
- if (parseExpected(18, diagnosticMessage) || ignoreMissingOpenBrace) {
28386
+ var openBraceParsed = parseExpected(18, diagnosticMessage);
28387
+ if (openBraceParsed || ignoreMissingOpenBrace) {
28375
28388
  var multiLine = scanner.hasPrecedingLineBreak();
28376
28389
  var statements = parseList(1, parseStatement);
28377
- if (!parseExpected(19)) {
28378
- var lastError = ts.lastOrUndefined(parseDiagnostics);
28379
- if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
28380
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
28381
- }
28382
- }
28390
+ parseExpectedMatchingBrackets(18, 19, openBraceParsed, openBracePosition);
28383
28391
  var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc);
28384
28392
  if (token() === 63) {
28385
28393
  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);
@@ -28422,9 +28430,10 @@ var ts;
28422
28430
  var pos = getNodePos();
28423
28431
  var hasJSDoc = hasPrecedingJSDocComment();
28424
28432
  parseExpected(99);
28425
- parseExpected(20);
28433
+ var openParenPosition = scanner.getTokenPos();
28434
+ var openParenParsed = parseExpected(20);
28426
28435
  var expression = allowInAnd(parseExpression);
28427
- parseExpected(21);
28436
+ parseExpectedMatchingBrackets(20, 21, openParenParsed, openParenPosition);
28428
28437
  var thenStatement = parseStatement();
28429
28438
  var elseStatement = parseOptional(91) ? parseStatement() : undefined;
28430
28439
  return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
@@ -28435,9 +28444,10 @@ var ts;
28435
28444
  parseExpected(90);
28436
28445
  var statement = parseStatement();
28437
28446
  parseExpected(115);
28438
- parseExpected(20);
28447
+ var openParenPosition = scanner.getTokenPos();
28448
+ var openParenParsed = parseExpected(20);
28439
28449
  var expression = allowInAnd(parseExpression);
28440
- parseExpected(21);
28450
+ parseExpectedMatchingBrackets(20, 21, openParenParsed, openParenPosition);
28441
28451
  parseOptional(26);
28442
28452
  return withJSDoc(finishNode(factory.createDoStatement(statement, expression), pos), hasJSDoc);
28443
28453
  }
@@ -28445,9 +28455,10 @@ var ts;
28445
28455
  var pos = getNodePos();
28446
28456
  var hasJSDoc = hasPrecedingJSDocComment();
28447
28457
  parseExpected(115);
28448
- parseExpected(20);
28458
+ var openParenPosition = scanner.getTokenPos();
28459
+ var openParenParsed = parseExpected(20);
28449
28460
  var expression = allowInAnd(parseExpression);
28450
- parseExpected(21);
28461
+ parseExpectedMatchingBrackets(20, 21, openParenParsed, openParenPosition);
28451
28462
  var statement = parseStatement();
28452
28463
  return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc);
28453
28464
  }
@@ -28514,9 +28525,10 @@ var ts;
28514
28525
  var pos = getNodePos();
28515
28526
  var hasJSDoc = hasPrecedingJSDocComment();
28516
28527
  parseExpected(116);
28517
- parseExpected(20);
28528
+ var openParenPosition = scanner.getTokenPos();
28529
+ var openParenParsed = parseExpected(20);
28518
28530
  var expression = allowInAnd(parseExpression);
28519
- parseExpected(21);
28531
+ parseExpectedMatchingBrackets(20, 21, openParenParsed, openParenPosition);
28520
28532
  var statement = doInsideOfContext(16777216, parseStatement);
28521
28533
  return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc);
28522
28534
  }
@@ -29520,7 +29532,7 @@ var ts;
29520
29532
  if (!parseExpected(19)) {
29521
29533
  var lastError = ts.lastOrUndefined(parseDiagnostics);
29522
29534
  if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
29523
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
29535
+ ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
29524
29536
  }
29525
29537
  }
29526
29538
  return finishNode(factory.createAssertClause(elements, multiLine), pos);
@@ -30371,8 +30383,7 @@ var ts;
30371
30383
  hasChildren = true;
30372
30384
  if (child.kind === 342) {
30373
30385
  if (childTypeTag) {
30374
- parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
30375
- var lastError = ts.lastOrUndefined(parseDiagnostics);
30386
+ var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
30376
30387
  if (lastError) {
30377
30388
  ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, 0, 0, ts.Diagnostics.The_tag_was_first_specified_here));
30378
30389
  }
@@ -36628,7 +36639,6 @@ var ts;
36628
36639
  node = node.parent;
36629
36640
  }
36630
36641
  return !isStatementCondition(node) &&
36631
- !isLogicalAssignmentExpression(node.parent) &&
36632
36642
  !isLogicalExpression(node.parent) &&
36633
36643
  !(ts.isOptionalChain(node.parent) && node.parent.expression === node);
36634
36644
  }
@@ -38389,7 +38399,7 @@ var ts;
38389
38399
  checkStrictModeEvalOrArguments(node, node.name);
38390
38400
  }
38391
38401
  if (!ts.isBindingPattern(node.name)) {
38392
- if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) {
38402
+ if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1)) {
38393
38403
  declareSymbolAndAddToSymbolTable(node, 2097152, 2097152);
38394
38404
  }
38395
38405
  else if (ts.isBlockOrCatchScoped(node)) {
@@ -48236,8 +48246,10 @@ var ts;
48236
48246
  return type;
48237
48247
  }
48238
48248
  function isMappedTypeGenericIndexedAccess(type) {
48239
- return type.flags & 8388608 && ts.getObjectFlags(type.objectType) & 32 &&
48240
- !isGenericMappedType(type.objectType) && isGenericIndexType(type.indexType);
48249
+ var objectType;
48250
+ return !!(type.flags & 8388608 && ts.getObjectFlags(objectType = type.objectType) & 32 &&
48251
+ !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) &&
48252
+ !objectType.declaration.questionToken && !objectType.declaration.nameType);
48241
48253
  }
48242
48254
  function getApparentType(type) {
48243
48255
  var t = !(type.flags & 465829888) ? type : getBaseConstraintOfType(type) || unknownType;
@@ -51069,7 +51081,7 @@ var ts;
51069
51081
  return type[cache] = elementType;
51070
51082
  }
51071
51083
  }
51072
- if (isGenericMappedType(objectType)) {
51084
+ if (isGenericMappedType(objectType) && !objectType.declaration.nameType) {
51073
51085
  return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); });
51074
51086
  }
51075
51087
  return type[cache] = type;
@@ -52906,7 +52918,7 @@ var ts;
52906
52918
  var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType
52907
52919
  : target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol))
52908
52920
  : getReturnTypeOfSignature(target);
52909
- if (targetReturnType === voidType) {
52921
+ if (targetReturnType === voidType || targetReturnType === anyType) {
52910
52922
  return result;
52911
52923
  }
52912
52924
  var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType
@@ -59993,7 +60005,7 @@ var ts;
59993
60005
  function getTypeOfPropertyOfContextualType(type, name, nameType) {
59994
60006
  return mapType(type, function (t) {
59995
60007
  var _a;
59996
- if (isGenericMappedType(t)) {
60008
+ if (isGenericMappedType(t) && !t.declaration.nameType) {
59997
60009
  var constraint = getConstraintTypeFromMappedType(t);
59998
60010
  var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint;
59999
60011
  var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name));
package/lib/tsserver.js CHANGED
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20220313";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20220316";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -8034,7 +8034,7 @@ var ts;
8034
8034
  Identifier_expected: diag(1003, ts.DiagnosticCategory.Error, "Identifier_expected_1003", "Identifier expected."),
8035
8035
  _0_expected: diag(1005, ts.DiagnosticCategory.Error, "_0_expected_1005", "'{0}' expected."),
8036
8036
  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."),
8037
- The_parser_expected_to_find_a_to_match_the_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_to_match_the_token_here_1007", "The parser expected to find a '}' to match the '{' token here."),
8037
+ 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."),
8038
8038
  Trailing_comma_not_allowed: diag(1009, ts.DiagnosticCategory.Error, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
8039
8039
  Asterisk_Slash_expected: diag(1010, ts.DiagnosticCategory.Error, "Asterisk_Slash_expected_1010", "'*/' expected."),
8040
8040
  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."),
@@ -31426,20 +31426,23 @@ var ts;
31426
31426
  return inContext(32768 /* AwaitContext */);
31427
31427
  }
31428
31428
  function parseErrorAtCurrentToken(message, arg0) {
31429
- parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
31429
+ return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0);
31430
31430
  }
31431
31431
  function parseErrorAtPosition(start, length, message, arg0) {
31432
31432
  // Don't report another error if it would just be at the same position as the last error.
31433
31433
  var lastError = ts.lastOrUndefined(parseDiagnostics);
31434
+ var result;
31434
31435
  if (!lastError || start !== lastError.start) {
31435
- parseDiagnostics.push(ts.createDetachedDiagnostic(fileName, start, length, message, arg0));
31436
+ result = ts.createDetachedDiagnostic(fileName, start, length, message, arg0);
31437
+ parseDiagnostics.push(result);
31436
31438
  }
31437
31439
  // Mark that we've encountered an error. We'll set an appropriate bit on the next
31438
31440
  // node we finish so that it can't be reused incrementally.
31439
31441
  parseErrorBeforeNextFinishedNode = true;
31442
+ return result;
31440
31443
  }
31441
31444
  function parseErrorAt(start, end, message, arg0) {
31442
- parseErrorAtPosition(start, end - start, message, arg0);
31445
+ return parseErrorAtPosition(start, end - start, message, arg0);
31443
31446
  }
31444
31447
  function parseErrorAtRange(range, message, arg0) {
31445
31448
  parseErrorAt(range.pos, range.end, message, arg0);
@@ -31712,6 +31715,19 @@ var ts;
31712
31715
  parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(kind));
31713
31716
  return false;
31714
31717
  }
31718
+ function parseExpectedMatchingBrackets(openKind, closeKind, openParsed, openPosition) {
31719
+ if (token() === closeKind) {
31720
+ nextToken();
31721
+ return;
31722
+ }
31723
+ var lastError = parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(closeKind));
31724
+ if (!openParsed) {
31725
+ return;
31726
+ }
31727
+ if (lastError) {
31728
+ 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)));
31729
+ }
31730
+ }
31715
31731
  function parseOptional(t) {
31716
31732
  if (token() === t) {
31717
31733
  nextToken();
@@ -33360,7 +33376,7 @@ var ts;
33360
33376
  if (!parseExpected(19 /* CloseBraceToken */)) {
33361
33377
  var lastError = ts.lastOrUndefined(parseDiagnostics);
33362
33378
  if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
33363
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
33379
+ ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
33364
33380
  }
33365
33381
  }
33366
33382
  return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos);
@@ -35170,10 +35186,11 @@ var ts;
35170
35186
  }
35171
35187
  function parseArrayLiteralExpression() {
35172
35188
  var pos = getNodePos();
35173
- parseExpected(22 /* OpenBracketToken */);
35189
+ var openBracketPosition = scanner.getTokenPos();
35190
+ var openBracketParsed = parseExpected(22 /* OpenBracketToken */);
35174
35191
  var multiLine = scanner.hasPrecedingLineBreak();
35175
35192
  var elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
35176
- parseExpected(23 /* CloseBracketToken */);
35193
+ parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
35177
35194
  return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos);
35178
35195
  }
35179
35196
  function parseObjectLiteralElement() {
@@ -35230,15 +35247,10 @@ var ts;
35230
35247
  function parseObjectLiteralExpression() {
35231
35248
  var pos = getNodePos();
35232
35249
  var openBracePosition = scanner.getTokenPos();
35233
- parseExpected(18 /* OpenBraceToken */);
35250
+ var openBraceParsed = parseExpected(18 /* OpenBraceToken */);
35234
35251
  var multiLine = scanner.hasPrecedingLineBreak();
35235
35252
  var properties = parseDelimitedList(12 /* ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true);
35236
- if (!parseExpected(19 /* CloseBraceToken */)) {
35237
- var lastError = ts.lastOrUndefined(parseDiagnostics);
35238
- if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
35239
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
35240
- }
35241
- }
35253
+ parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
35242
35254
  return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos);
35243
35255
  }
35244
35256
  function parseFunctionExpression() {
@@ -35294,15 +35306,11 @@ var ts;
35294
35306
  var pos = getNodePos();
35295
35307
  var hasJSDoc = hasPrecedingJSDocComment();
35296
35308
  var openBracePosition = scanner.getTokenPos();
35297
- if (parseExpected(18 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) {
35309
+ var openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
35310
+ if (openBraceParsed || ignoreMissingOpenBrace) {
35298
35311
  var multiLine = scanner.hasPrecedingLineBreak();
35299
35312
  var statements = parseList(1 /* BlockStatements */, parseStatement);
35300
- if (!parseExpected(19 /* CloseBraceToken */)) {
35301
- var lastError = ts.lastOrUndefined(parseDiagnostics);
35302
- if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
35303
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
35304
- }
35305
- }
35313
+ parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
35306
35314
  var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc);
35307
35315
  if (token() === 63 /* EqualsToken */) {
35308
35316
  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);
@@ -35347,9 +35355,10 @@ var ts;
35347
35355
  var pos = getNodePos();
35348
35356
  var hasJSDoc = hasPrecedingJSDocComment();
35349
35357
  parseExpected(99 /* IfKeyword */);
35350
- parseExpected(20 /* OpenParenToken */);
35358
+ var openParenPosition = scanner.getTokenPos();
35359
+ var openParenParsed = parseExpected(20 /* OpenParenToken */);
35351
35360
  var expression = allowInAnd(parseExpression);
35352
- parseExpected(21 /* CloseParenToken */);
35361
+ parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
35353
35362
  var thenStatement = parseStatement();
35354
35363
  var elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : undefined;
35355
35364
  return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
@@ -35360,9 +35369,10 @@ var ts;
35360
35369
  parseExpected(90 /* DoKeyword */);
35361
35370
  var statement = parseStatement();
35362
35371
  parseExpected(115 /* WhileKeyword */);
35363
- parseExpected(20 /* OpenParenToken */);
35372
+ var openParenPosition = scanner.getTokenPos();
35373
+ var openParenParsed = parseExpected(20 /* OpenParenToken */);
35364
35374
  var expression = allowInAnd(parseExpression);
35365
- parseExpected(21 /* CloseParenToken */);
35375
+ parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
35366
35376
  // From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html
35367
35377
  // 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in
35368
35378
  // spec but allowed in consensus reality. Approved -- this is the de-facto standard whereby
@@ -35374,9 +35384,10 @@ var ts;
35374
35384
  var pos = getNodePos();
35375
35385
  var hasJSDoc = hasPrecedingJSDocComment();
35376
35386
  parseExpected(115 /* WhileKeyword */);
35377
- parseExpected(20 /* OpenParenToken */);
35387
+ var openParenPosition = scanner.getTokenPos();
35388
+ var openParenParsed = parseExpected(20 /* OpenParenToken */);
35378
35389
  var expression = allowInAnd(parseExpression);
35379
- parseExpected(21 /* CloseParenToken */);
35390
+ parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
35380
35391
  var statement = parseStatement();
35381
35392
  return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc);
35382
35393
  }
@@ -35443,9 +35454,10 @@ var ts;
35443
35454
  var pos = getNodePos();
35444
35455
  var hasJSDoc = hasPrecedingJSDocComment();
35445
35456
  parseExpected(116 /* WithKeyword */);
35446
- parseExpected(20 /* OpenParenToken */);
35457
+ var openParenPosition = scanner.getTokenPos();
35458
+ var openParenParsed = parseExpected(20 /* OpenParenToken */);
35447
35459
  var expression = allowInAnd(parseExpression);
35448
- parseExpected(21 /* CloseParenToken */);
35460
+ parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
35449
35461
  var statement = doInsideOfContext(16777216 /* InWithStatement */, parseStatement);
35450
35462
  return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc);
35451
35463
  }
@@ -36579,7 +36591,7 @@ var ts;
36579
36591
  if (!parseExpected(19 /* CloseBraceToken */)) {
36580
36592
  var lastError = ts.lastOrUndefined(parseDiagnostics);
36581
36593
  if (lastError && lastError.code === ts.Diagnostics._0_expected.code) {
36582
- ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here));
36594
+ ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}"));
36583
36595
  }
36584
36596
  }
36585
36597
  return finishNode(factory.createAssertClause(elements, multiLine), pos);
@@ -37555,8 +37567,7 @@ var ts;
37555
37567
  hasChildren = true;
37556
37568
  if (child.kind === 342 /* JSDocTypeTag */) {
37557
37569
  if (childTypeTag) {
37558
- parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
37559
- var lastError = ts.lastOrUndefined(parseDiagnostics);
37570
+ var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
37560
37571
  if (lastError) {
37561
37572
  ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, 0, 0, ts.Diagnostics.The_tag_was_first_specified_here));
37562
37573
  }
@@ -44760,7 +44771,6 @@ var ts;
44760
44771
  node = node.parent;
44761
44772
  }
44762
44773
  return !isStatementCondition(node) &&
44763
- !isLogicalAssignmentExpression(node.parent) &&
44764
44774
  !isLogicalExpression(node.parent) &&
44765
44775
  !(ts.isOptionalChain(node.parent) && node.parent.expression === node);
44766
44776
  }
@@ -46790,7 +46800,7 @@ var ts;
46790
46800
  checkStrictModeEvalOrArguments(node, node.name);
46791
46801
  }
46792
46802
  if (!ts.isBindingPattern(node.name)) {
46793
- if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) {
46803
+ if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* Export */)) {
46794
46804
  declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */);
46795
46805
  }
46796
46806
  else if (ts.isBlockOrCatchScoped(node)) {
@@ -58295,8 +58305,10 @@ var ts;
58295
58305
  return type;
58296
58306
  }
58297
58307
  function isMappedTypeGenericIndexedAccess(type) {
58298
- return type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(type.objectType) & 32 /* Mapped */ &&
58299
- !isGenericMappedType(type.objectType) && isGenericIndexType(type.indexType);
58308
+ var objectType;
58309
+ return !!(type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ &&
58310
+ !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) &&
58311
+ !objectType.declaration.questionToken && !objectType.declaration.nameType);
58300
58312
  }
58301
58313
  /**
58302
58314
  * For a type parameter, return the base constraint of the type parameter. For the string, number,
@@ -61481,7 +61493,7 @@ var ts;
61481
61493
  // If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper
61482
61494
  // that substitutes the index type for P. For example, for an index access { [P in K]: Box<T[P]> }[X], we
61483
61495
  // construct the type Box<T[X]>.
61484
- if (isGenericMappedType(objectType)) {
61496
+ if (isGenericMappedType(objectType) && !objectType.declaration.nameType) {
61485
61497
  return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); });
61486
61498
  }
61487
61499
  return type[cache] = type;
@@ -63554,7 +63566,7 @@ var ts;
63554
63566
  var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType
63555
63567
  : target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol))
63556
63568
  : getReturnTypeOfSignature(target);
63557
- if (targetReturnType === voidType) {
63569
+ if (targetReturnType === voidType || targetReturnType === anyType) {
63558
63570
  return result;
63559
63571
  }
63560
63572
  var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType
@@ -71843,7 +71855,7 @@ var ts;
71843
71855
  function getTypeOfPropertyOfContextualType(type, name, nameType) {
71844
71856
  return mapType(type, function (t) {
71845
71857
  var _a;
71846
- if (isGenericMappedType(t)) {
71858
+ if (isGenericMappedType(t) && !t.declaration.nameType) {
71847
71859
  var constraint = getConstraintTypeFromMappedType(t);
71848
71860
  var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint;
71849
71861
  var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name));
@@ -141058,6 +141070,41 @@ var ts;
141058
141070
  if (ts.scanner.getToken() === 1 /* EndOfFileToken */) {
141059
141071
  break;
141060
141072
  }
141073
+ if (ts.scanner.getToken() === 15 /* TemplateHead */) {
141074
+ var stack = [ts.scanner.getToken()];
141075
+ var token = ts.scanner.scan();
141076
+ loop: while (ts.length(stack)) {
141077
+ switch (token) {
141078
+ case 1 /* EndOfFileToken */:
141079
+ break loop;
141080
+ case 100 /* ImportKeyword */:
141081
+ tryConsumeImport();
141082
+ break;
141083
+ case 15 /* TemplateHead */:
141084
+ stack.push(token);
141085
+ break;
141086
+ case 18 /* OpenBraceToken */:
141087
+ if (ts.length(stack)) {
141088
+ stack.push(token);
141089
+ }
141090
+ break;
141091
+ case 19 /* CloseBraceToken */:
141092
+ if (ts.length(stack)) {
141093
+ if (ts.lastOrUndefined(stack) === 15 /* TemplateHead */) {
141094
+ if (ts.scanner.reScanTemplateToken(/* isTaggedTemplate */ false) === 17 /* TemplateTail */) {
141095
+ stack.pop();
141096
+ }
141097
+ }
141098
+ else {
141099
+ stack.pop();
141100
+ }
141101
+ }
141102
+ break;
141103
+ }
141104
+ token = ts.scanner.scan();
141105
+ }
141106
+ nextToken();
141107
+ }
141061
141108
  // check if at least one of alternative have moved scanner forward
141062
141109
  if (tryConsumeDeclare() ||
141063
141110
  tryConsumeImport() ||