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 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.20220314";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220317";
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;
@@ -48739,7 +48751,15 @@ var ts;
48739
48751
  return p.typeExpression && ts.isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : undefined;
48740
48752
  });
48741
48753
  var syntheticArgsSymbol = createSymbol(3, "args", 32768);
48742
- syntheticArgsSymbol.type = lastParamVariadicType ? createArrayType(getTypeFromTypeNode(lastParamVariadicType.type)) : anyArrayType;
48754
+ if (lastParamVariadicType) {
48755
+ syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type));
48756
+ }
48757
+ else {
48758
+ syntheticArgsSymbol.checkFlags |= 65536;
48759
+ syntheticArgsSymbol.deferralParent = neverType;
48760
+ syntheticArgsSymbol.deferralConstituents = [anyArrayType];
48761
+ syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType];
48762
+ }
48743
48763
  if (lastParamVariadicType) {
48744
48764
  parameters.pop();
48745
48765
  }
@@ -51069,7 +51089,7 @@ var ts;
51069
51089
  return type[cache] = elementType;
51070
51090
  }
51071
51091
  }
51072
- if (isGenericMappedType(objectType)) {
51092
+ if (isGenericMappedType(objectType) && !objectType.declaration.nameType) {
51073
51093
  return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); });
51074
51094
  }
51075
51095
  return type[cache] = type;
@@ -52906,7 +52926,7 @@ var ts;
52906
52926
  var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType
52907
52927
  : target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol))
52908
52928
  : getReturnTypeOfSignature(target);
52909
- if (targetReturnType === voidType) {
52929
+ if (targetReturnType === voidType || targetReturnType === anyType) {
52910
52930
  return result;
52911
52931
  }
52912
52932
  var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType
@@ -59993,7 +60013,7 @@ var ts;
59993
60013
  function getTypeOfPropertyOfContextualType(type, name, nameType) {
59994
60014
  return mapType(type, function (t) {
59995
60015
  var _a;
59996
- if (isGenericMappedType(t)) {
60016
+ if (isGenericMappedType(t) && !t.declaration.nameType) {
59997
60017
  var constraint = getConstraintTypeFromMappedType(t);
59998
60018
  var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint;
59999
60019
  var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name));
@@ -64235,7 +64255,9 @@ var ts;
64235
64255
  }
64236
64256
  if (signatureHasRestParameter(signature)) {
64237
64257
  var parameter = ts.last(signature.parameters);
64238
- if (ts.isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) {
64258
+ if (parameter.valueDeclaration
64259
+ ? !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)
64260
+ : !!(ts.getCheckFlags(parameter) & 65536)) {
64239
64261
  var contextualParameterType = getRestTypeAtPosition(context, len);
64240
64262
  assignParameterType(parameter, contextualParameterType);
64241
64263
  }
@@ -64254,8 +64276,8 @@ var ts;
64254
64276
  var links = getSymbolLinks(parameter);
64255
64277
  if (!links.type) {
64256
64278
  var declaration = parameter.valueDeclaration;
64257
- links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, true);
64258
- if (declaration.name.kind !== 79) {
64279
+ links.type = type || (declaration ? getWidenedTypeForVariableLikeDeclaration(declaration, true) : getTypeOfSymbol(parameter));
64280
+ if (declaration && declaration.name.kind !== 79) {
64259
64281
  if (links.type === unknownType) {
64260
64282
  links.type = getTypeFromBindingPattern(declaration.name);
64261
64283
  }
@@ -73534,9 +73556,9 @@ var ts;
73534
73556
  }
73535
73557
  var parent = ts.walkUpParenthesizedTypes(node.parent);
73536
73558
  if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) {
73537
- parent = parent.parent;
73538
- if (ts.isJSDocTypeTag(parent)) {
73539
- parent = parent.parent.parent;
73559
+ var host_2 = ts.getJSDocHost(parent);
73560
+ if (host_2) {
73561
+ parent = ts.getSingleVariableOfVariableStatement(host_2) || host_2;
73540
73562
  }
73541
73563
  }
73542
73564
  switch (parent.kind) {