@typescript-deploys/pr-build 5.0.0-pr-51753-8 → 5.0.0-pr-51033-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tsc.js CHANGED
@@ -3342,15 +3342,14 @@ var SyntaxKind = /* @__PURE__ */ ((SyntaxKind4) => {
3342
3342
  SyntaxKind4[SyntaxKind4["JSDocSeeTag"] = 350] = "JSDocSeeTag";
3343
3343
  SyntaxKind4[SyntaxKind4["JSDocPropertyTag"] = 351] = "JSDocPropertyTag";
3344
3344
  SyntaxKind4[SyntaxKind4["JSDocThrowsTag"] = 352] = "JSDocThrowsTag";
3345
- SyntaxKind4[SyntaxKind4["JSDocSatisfiesTag"] = 353] = "JSDocSatisfiesTag";
3346
- SyntaxKind4[SyntaxKind4["SyntaxList"] = 354] = "SyntaxList";
3347
- SyntaxKind4[SyntaxKind4["NotEmittedStatement"] = 355] = "NotEmittedStatement";
3348
- SyntaxKind4[SyntaxKind4["PartiallyEmittedExpression"] = 356] = "PartiallyEmittedExpression";
3349
- SyntaxKind4[SyntaxKind4["CommaListExpression"] = 357] = "CommaListExpression";
3350
- SyntaxKind4[SyntaxKind4["MergeDeclarationMarker"] = 358] = "MergeDeclarationMarker";
3351
- SyntaxKind4[SyntaxKind4["EndOfDeclarationMarker"] = 359] = "EndOfDeclarationMarker";
3352
- SyntaxKind4[SyntaxKind4["SyntheticReferenceExpression"] = 360] = "SyntheticReferenceExpression";
3353
- SyntaxKind4[SyntaxKind4["Count"] = 361] = "Count";
3345
+ SyntaxKind4[SyntaxKind4["SyntaxList"] = 353] = "SyntaxList";
3346
+ SyntaxKind4[SyntaxKind4["NotEmittedStatement"] = 354] = "NotEmittedStatement";
3347
+ SyntaxKind4[SyntaxKind4["PartiallyEmittedExpression"] = 355] = "PartiallyEmittedExpression";
3348
+ SyntaxKind4[SyntaxKind4["CommaListExpression"] = 356] = "CommaListExpression";
3349
+ SyntaxKind4[SyntaxKind4["MergeDeclarationMarker"] = 357] = "MergeDeclarationMarker";
3350
+ SyntaxKind4[SyntaxKind4["EndOfDeclarationMarker"] = 358] = "EndOfDeclarationMarker";
3351
+ SyntaxKind4[SyntaxKind4["SyntheticReferenceExpression"] = 359] = "SyntheticReferenceExpression";
3352
+ SyntaxKind4[SyntaxKind4["Count"] = 360] = "Count";
3354
3353
  SyntaxKind4[SyntaxKind4["FirstAssignment"] = 63 /* EqualsToken */] = "FirstAssignment";
3355
3354
  SyntaxKind4[SyntaxKind4["LastAssignment"] = 78 /* CaretEqualsToken */] = "LastAssignment";
3356
3355
  SyntaxKind4[SyntaxKind4["FirstCompoundAssignment"] = 64 /* PlusEqualsToken */] = "FirstCompoundAssignment";
@@ -9892,9 +9891,6 @@ function getJSDocThisTag(node) {
9892
9891
  function getJSDocReturnTag(node) {
9893
9892
  return getFirstJSDocTag(node, isJSDocReturnTag);
9894
9893
  }
9895
- function getJSDocSatisfiesTag(node) {
9896
- return getFirstJSDocTag(node, isJSDocSatisfiesTag);
9897
- }
9898
9894
  function getJSDocTypeTag(node) {
9899
9895
  const tag = getFirstJSDocTag(node, isJSDocTypeTag);
9900
9896
  if (tag && tag.typeExpression && tag.typeExpression.type) {
@@ -9960,12 +9956,10 @@ function formatJSDocLink(link) {
9960
9956
  }
9961
9957
  function getEffectiveTypeParameterDeclarations(node) {
9962
9958
  if (isJSDocSignature(node)) {
9963
- if (isJSDoc(node.parent)) {
9964
- const overloadTag = find(node.parent.tags, (tag) => {
9965
- return isJSDocOverloadTag(tag) && tag.typeExpression === node;
9966
- });
9967
- if (overloadTag) {
9968
- return flatMap(node.parent.tags, (tag) => isJSDocTemplateTag(tag) ? tag.typeParameters : void 0);
9959
+ if (isJSDocOverloadTag(node.parent)) {
9960
+ const jsDoc = getJSDocRoot(node.parent);
9961
+ if (jsDoc && length(jsDoc.tags)) {
9962
+ return flatMap(jsDoc.tags, (tag) => isJSDocTemplateTag(tag) ? tag.typeParameters : void 0);
9969
9963
  }
9970
9964
  }
9971
9965
  return emptyArray;
@@ -10395,8 +10389,8 @@ function isExpressionKind(kind) {
10395
10389
  case 227 /* SpreadElement */:
10396
10390
  case 231 /* AsExpression */:
10397
10391
  case 229 /* OmittedExpression */:
10398
- case 357 /* CommaListExpression */:
10399
- case 356 /* PartiallyEmittedExpression */:
10392
+ case 356 /* CommaListExpression */:
10393
+ case 355 /* PartiallyEmittedExpression */:
10400
10394
  case 235 /* SatisfiesExpression */:
10401
10395
  return true;
10402
10396
  default:
@@ -10567,7 +10561,7 @@ function isDeclarationStatementKind(kind) {
10567
10561
  return kind === 259 /* FunctionDeclaration */ || kind === 279 /* MissingDeclaration */ || kind === 260 /* ClassDeclaration */ || kind === 261 /* InterfaceDeclaration */ || kind === 262 /* TypeAliasDeclaration */ || kind === 263 /* EnumDeclaration */ || kind === 264 /* ModuleDeclaration */ || kind === 269 /* ImportDeclaration */ || kind === 268 /* ImportEqualsDeclaration */ || kind === 275 /* ExportDeclaration */ || kind === 274 /* ExportAssignment */ || kind === 267 /* NamespaceExportDeclaration */;
10568
10562
  }
10569
10563
  function isStatementKindButNotDeclarationKind(kind) {
10570
- return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 355 /* NotEmittedStatement */ || kind === 359 /* EndOfDeclarationMarker */ || kind === 358 /* MergeDeclarationMarker */;
10564
+ return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 354 /* NotEmittedStatement */ || kind === 358 /* EndOfDeclarationMarker */ || kind === 357 /* MergeDeclarationMarker */;
10571
10565
  }
10572
10566
  function isDeclaration(node) {
10573
10567
  if (node.kind === 165 /* TypeParameter */) {
@@ -11023,7 +11017,7 @@ function getTokenPosOfNode(node, sourceFile, includeJsDoc) {
11023
11017
  if (includeJsDoc && hasJSDocNodes(node)) {
11024
11018
  return getTokenPosOfNode(node.jsDoc[0], sourceFile);
11025
11019
  }
11026
- if (node.kind === 354 /* SyntaxList */ && node._children.length > 0) {
11020
+ if (node.kind === 353 /* SyntaxList */ && node._children.length > 0) {
11027
11021
  return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc);
11028
11022
  }
11029
11023
  return skipTrivia(
@@ -13185,7 +13179,7 @@ function getOperator(expression) {
13185
13179
  }
13186
13180
  function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) {
13187
13181
  switch (nodeKind) {
13188
- case 357 /* CommaListExpression */:
13182
+ case 356 /* CommaListExpression */:
13189
13183
  return 0 /* Comma */;
13190
13184
  case 227 /* SpreadElement */:
13191
13185
  return 1 /* Spread */;
@@ -14614,7 +14608,7 @@ function getLeftmostExpression(node, stopAtCallExpressions) {
14614
14608
  case 209 /* ElementAccessExpression */:
14615
14609
  case 208 /* PropertyAccessExpression */:
14616
14610
  case 232 /* NonNullExpression */:
14617
- case 356 /* PartiallyEmittedExpression */:
14611
+ case 355 /* PartiallyEmittedExpression */:
14618
14612
  case 235 /* SatisfiesExpression */:
14619
14613
  node = node.expression;
14620
14614
  continue;
@@ -15817,7 +15811,7 @@ function getContainingNodeArray(node) {
15817
15811
  return parent.types;
15818
15812
  case 186 /* TupleType */:
15819
15813
  case 206 /* ArrayLiteralExpression */:
15820
- case 357 /* CommaListExpression */:
15814
+ case 356 /* CommaListExpression */:
15821
15815
  case 272 /* NamedImports */:
15822
15816
  case 276 /* NamedExports */:
15823
15817
  return parent.elements;
@@ -15986,15 +15980,6 @@ function isOptionalDeclaration(declaration) {
15986
15980
  return false;
15987
15981
  }
15988
15982
  }
15989
- function isJSDocSatisfiesExpression(node) {
15990
- return isInJSFile(node) && isParenthesizedExpression(node) && !!getJSDocSatisfiesTag(node);
15991
- }
15992
- function getJSDocSatisfiesExpressionType(node) {
15993
- const tag = getJSDocSatisfiesTag(node);
15994
- const type = tag && tag.typeExpression && tag.typeExpression.type;
15995
- Debug.assertIsDefined(type);
15996
- return type;
15997
- }
15998
15983
 
15999
15984
  // src/compiler/factory/baseNodeFactory.ts
16000
15985
  function createBaseNodeFactory() {
@@ -16941,12 +16926,6 @@ function createNodeFactory(flags, baseFactory2) {
16941
16926
  get updateJSDocThrowsTag() {
16942
16927
  return getJSDocTypeLikeTagUpdateFunction(352 /* JSDocThrowsTag */);
16943
16928
  },
16944
- get createJSDocSatisfiesTag() {
16945
- return getJSDocTypeLikeTagCreateFunction(353 /* JSDocSatisfiesTag */);
16946
- },
16947
- get updateJSDocSatisfiesTag() {
16948
- return getJSDocTypeLikeTagUpdateFunction(353 /* JSDocSatisfiesTag */);
16949
- },
16950
16929
  createJSDocEnumTag,
16951
16930
  updateJSDocEnumTag,
16952
16931
  createJSDocUnknownTag,
@@ -20071,18 +20050,18 @@ function createNodeFactory(flags, baseFactory2) {
20071
20050
  return node;
20072
20051
  }
20073
20052
  function createSyntaxList(children) {
20074
- const node = createBaseNode(354 /* SyntaxList */);
20053
+ const node = createBaseNode(353 /* SyntaxList */);
20075
20054
  node._children = children;
20076
20055
  return node;
20077
20056
  }
20078
20057
  function createNotEmittedStatement(original) {
20079
- const node = createBaseNode(355 /* NotEmittedStatement */);
20058
+ const node = createBaseNode(354 /* NotEmittedStatement */);
20080
20059
  node.original = original;
20081
20060
  setTextRange(node, original);
20082
20061
  return node;
20083
20062
  }
20084
20063
  function createPartiallyEmittedExpression(expression, original) {
20085
- const node = createBaseNode(356 /* PartiallyEmittedExpression */);
20064
+ const node = createBaseNode(355 /* PartiallyEmittedExpression */);
20086
20065
  node.expression = expression;
20087
20066
  node.original = original;
20088
20067
  node.transformFlags |= propagateChildFlags(node.expression) | 1 /* ContainsTypeScript */;
@@ -20104,7 +20083,7 @@ function createNodeFactory(flags, baseFactory2) {
20104
20083
  return node;
20105
20084
  }
20106
20085
  function createCommaListExpression(elements) {
20107
- const node = createBaseNode(357 /* CommaListExpression */);
20086
+ const node = createBaseNode(356 /* CommaListExpression */);
20108
20087
  node.elements = createNodeArray(sameFlatMap(elements, flattenCommaElements));
20109
20088
  node.transformFlags |= propagateChildrenFlags(node.elements);
20110
20089
  return node;
@@ -20113,19 +20092,19 @@ function createNodeFactory(flags, baseFactory2) {
20113
20092
  return node.elements !== elements ? update(createCommaListExpression(elements), node) : node;
20114
20093
  }
20115
20094
  function createEndOfDeclarationMarker(original) {
20116
- const node = createBaseNode(359 /* EndOfDeclarationMarker */);
20095
+ const node = createBaseNode(358 /* EndOfDeclarationMarker */);
20117
20096
  node.emitNode = {};
20118
20097
  node.original = original;
20119
20098
  return node;
20120
20099
  }
20121
20100
  function createMergeDeclarationMarker(original) {
20122
- const node = createBaseNode(358 /* MergeDeclarationMarker */);
20101
+ const node = createBaseNode(357 /* MergeDeclarationMarker */);
20123
20102
  node.emitNode = {};
20124
20103
  node.original = original;
20125
20104
  return node;
20126
20105
  }
20127
20106
  function createSyntheticReferenceExpression(expression, thisArg) {
20128
- const node = createBaseNode(360 /* SyntheticReferenceExpression */);
20107
+ const node = createBaseNode(359 /* SyntheticReferenceExpression */);
20129
20108
  node.expression = expression;
20130
20109
  node.thisArg = thisArg;
20131
20110
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thisArg);
@@ -20324,7 +20303,7 @@ function createNodeFactory(flags, baseFactory2) {
20324
20303
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
20325
20304
  case 232 /* NonNullExpression */:
20326
20305
  return updateNonNullExpression(outerExpression, expression);
20327
- case 356 /* PartiallyEmittedExpression */:
20306
+ case 355 /* PartiallyEmittedExpression */:
20328
20307
  return updatePartiallyEmittedExpression(outerExpression, expression);
20329
20308
  }
20330
20309
  }
@@ -20834,7 +20813,7 @@ function getTransformFlagsSubtreeExclusions(kind) {
20834
20813
  case 213 /* TypeAssertionExpression */:
20835
20814
  case 235 /* SatisfiesExpression */:
20836
20815
  case 231 /* AsExpression */:
20837
- case 356 /* PartiallyEmittedExpression */:
20816
+ case 355 /* PartiallyEmittedExpression */:
20838
20817
  case 214 /* ParenthesizedExpression */:
20839
20818
  case 106 /* SuperKeyword */:
20840
20819
  return -2147483648 /* OuterExpressionExcludes */;
@@ -22286,10 +22265,10 @@ function isMetaProperty(node) {
22286
22265
  return node.kind === 233 /* MetaProperty */;
22287
22266
  }
22288
22267
  function isPartiallyEmittedExpression(node) {
22289
- return node.kind === 356 /* PartiallyEmittedExpression */;
22268
+ return node.kind === 355 /* PartiallyEmittedExpression */;
22290
22269
  }
22291
22270
  function isCommaListExpression(node) {
22292
- return node.kind === 357 /* CommaListExpression */;
22271
+ return node.kind === 356 /* CommaListExpression */;
22293
22272
  }
22294
22273
  function isTemplateSpan(node) {
22295
22274
  return node.kind === 236 /* TemplateSpan */;
@@ -22412,10 +22391,10 @@ function isExportSpecifier(node) {
22412
22391
  return node.kind === 278 /* ExportSpecifier */;
22413
22392
  }
22414
22393
  function isNotEmittedStatement(node) {
22415
- return node.kind === 355 /* NotEmittedStatement */;
22394
+ return node.kind === 354 /* NotEmittedStatement */;
22416
22395
  }
22417
22396
  function isSyntheticReference(node) {
22418
- return node.kind === 360 /* SyntheticReferenceExpression */;
22397
+ return node.kind === 359 /* SyntheticReferenceExpression */;
22419
22398
  }
22420
22399
  function isExternalModuleReference(node) {
22421
22400
  return node.kind === 280 /* ExternalModuleReference */;
@@ -22582,9 +22561,6 @@ function isJSDocPropertyTag(node) {
22582
22561
  function isJSDocImplementsTag(node) {
22583
22562
  return node.kind === 332 /* JSDocImplementsTag */;
22584
22563
  }
22585
- function isJSDocSatisfiesTag(node) {
22586
- return node.kind === 353 /* JSDocSatisfiesTag */;
22587
- }
22588
22564
 
22589
22565
  // src/compiler/factory/utilities.ts
22590
22566
  function createEmptyExports(factory2) {
@@ -22880,7 +22856,7 @@ function startsWithUseStrict(statements) {
22880
22856
  return firstStatement !== void 0 && isPrologueDirective(firstStatement) && isUseStrictPrologue(firstStatement);
22881
22857
  }
22882
22858
  function isCommaSequence(node) {
22883
- return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 357 /* CommaListExpression */;
22859
+ return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 356 /* CommaListExpression */;
22884
22860
  }
22885
22861
  function isJSDocTypeAssertion(node) {
22886
22862
  return isParenthesizedExpression(node) && isInJSFile(node) && !!getJSDocTypeTag(node);
@@ -22903,7 +22879,7 @@ function isOuterExpression(node, kinds = 15 /* All */) {
22903
22879
  return (kinds & 2 /* TypeAssertions */) !== 0;
22904
22880
  case 232 /* NonNullExpression */:
22905
22881
  return (kinds & 4 /* NonNullAssertions */) !== 0;
22906
- case 356 /* PartiallyEmittedExpression */:
22882
+ case 355 /* PartiallyEmittedExpression */:
22907
22883
  return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0;
22908
22884
  }
22909
22885
  return false;
@@ -23830,7 +23806,7 @@ var forEachChildTable = {
23830
23806
  [279 /* MissingDeclaration */]: function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
23831
23807
  return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers);
23832
23808
  },
23833
- [357 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
23809
+ [356 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
23834
23810
  return visitNodes(cbNode, cbNodes, node.elements);
23835
23811
  },
23836
23812
  [281 /* JsxElement */]: function forEachChildInJsxElement(node, cbNode, cbNodes) {
@@ -23902,8 +23878,8 @@ var forEachChildTable = {
23902
23878
  [347 /* JSDocTypeTag */]: forEachChildInJSDocTypeLikeTag,
23903
23879
  [346 /* JSDocThisTag */]: forEachChildInJSDocTypeLikeTag,
23904
23880
  [343 /* JSDocEnumTag */]: forEachChildInJSDocTypeLikeTag,
23905
- [353 /* JSDocSatisfiesTag */]: forEachChildInJSDocTypeLikeTag,
23906
23881
  [352 /* JSDocThrowsTag */]: forEachChildInJSDocTypeLikeTag,
23882
+ [342 /* JSDocOverloadTag */]: forEachChildInJSDocTypeLikeTag,
23907
23883
  [326 /* JSDocSignature */]: function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
23908
23884
  return forEach(node.typeParameters, cbNode) || forEach(node.parameters, cbNode) || visitNode2(cbNode, node.type);
23909
23885
  },
@@ -23921,7 +23897,7 @@ var forEachChildTable = {
23921
23897
  [339 /* JSDocReadonlyTag */]: forEachChildInJSDocTag,
23922
23898
  [334 /* JSDocDeprecatedTag */]: forEachChildInJSDocTag,
23923
23899
  [340 /* JSDocOverrideTag */]: forEachChildInJSDocTag,
23924
- [356 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
23900
+ [355 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
23925
23901
  };
23926
23902
  function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
23927
23903
  return visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode2(cbNode, node.type);
@@ -29245,9 +29221,6 @@ var Parser;
29245
29221
  case "overload":
29246
29222
  tag = parseOverloadTag(start2, tagName, margin, indentText);
29247
29223
  break;
29248
- case "satisfies":
29249
- tag = parseSatisfiesTag(start2, tagName, margin, indentText);
29250
- break;
29251
29224
  case "see":
29252
29225
  tag = parseSeeTag(start2, tagName, margin, indentText);
29253
29226
  break;
@@ -29550,14 +29523,6 @@ var Parser;
29550
29523
  const className = parseExpressionWithTypeArgumentsForAugments();
29551
29524
  return finishNode(factory2.createJSDocAugmentsTag(tagName, className, parseTrailingTagComments(start2, getNodePos(), margin, indentText)), start2);
29552
29525
  }
29553
- function parseSatisfiesTag(start2, tagName, margin, indentText) {
29554
- if (some(tags, isJSDocSatisfiesTag)) {
29555
- parseErrorAt(tagName.pos, scanner.getTokenPos(), Diagnostics._0_tag_already_specified, tagName.escapedText);
29556
- }
29557
- const typeExpression = parseJSDocTypeExpression(true);
29558
- const comments2 = margin !== void 0 && indentText !== void 0 ? parseTrailingTagComments(start2, getNodePos(), margin, indentText) : void 0;
29559
- return finishNode(factory2.createJSDocSatisfiesTag(tagName, typeExpression, comments2), start2);
29560
- }
29561
29526
  function parseExpressionWithTypeArgumentsForAugments() {
29562
29527
  const usedBrace = parseOptional(18 /* OpenBraceToken */);
29563
29528
  const pos = getNodePos();
@@ -54028,6 +53993,9 @@ function createTypeChecker(host) {
54028
53993
  if (result2 && !inPropertyCheck && (target2.flags & 2097152 /* Intersection */ && !isGenericObjectType(target2) && source2.flags & (524288 /* Object */ | 2097152 /* Intersection */) || isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => !!(getObjectFlags(t) & 262144 /* NonInferrableType */)))) {
54029
53994
  inPropertyCheck = true;
54030
53995
  result2 &= propertiesRelatedTo(source2, target2, reportErrors2, void 0, 0 /* None */);
53996
+ if (result2 && isObjectLiteralType(source2) && getObjectFlags(source2) & 8192 /* FreshLiteral */) {
53997
+ result2 &= indexSignaturesRelatedTo(source2, target2, false, reportErrors2, 0 /* None */);
53998
+ }
54031
53999
  inPropertyCheck = false;
54032
54000
  }
54033
54001
  }
@@ -54929,7 +54897,7 @@ function createTypeChecker(host) {
54929
54897
  }
54930
54898
  return result2;
54931
54899
  }
54932
- function membersRelatedToIndexInfo(source2, targetInfo, reportErrors2) {
54900
+ function membersRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState) {
54933
54901
  let result2 = -1 /* True */;
54934
54902
  const keyType = targetInfo.keyType;
54935
54903
  const props = source2.flags & 2097152 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(source2) : getPropertiesOfObjectType(source2);
@@ -54940,7 +54908,7 @@ function createTypeChecker(host) {
54940
54908
  if (isApplicableIndexType(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), keyType)) {
54941
54909
  const propType = getNonMissingTypeOfSymbol(prop);
54942
54910
  const type = exactOptionalPropertyTypes || propType.flags & 32768 /* Undefined */ || keyType === numberType || !(prop.flags & 16777216 /* Optional */) ? propType : getTypeWithFacts(propType, 524288 /* NEUndefined */);
54943
- const related = isRelatedTo(type, targetInfo.type, 3 /* Both */, reportErrors2);
54911
+ const related = isRelatedTo(type, targetInfo.type, 3 /* Both */, reportErrors2, void 0, intersectionState);
54944
54912
  if (!related) {
54945
54913
  if (reportErrors2) {
54946
54914
  reportError(Diagnostics.Property_0_is_incompatible_with_index_signature, symbolToString(prop));
@@ -54994,7 +54962,7 @@ function createTypeChecker(host) {
54994
54962
  return indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors2);
54995
54963
  }
54996
54964
  if (!(intersectionState & 1 /* Source */) && isObjectTypeWithInferableIndex(source2)) {
54997
- return membersRelatedToIndexInfo(source2, targetInfo, reportErrors2);
54965
+ return membersRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
54998
54966
  }
54999
54967
  if (reportErrors2) {
55000
54968
  reportError(Diagnostics.Index_signature_for_type_0_is_missing_in_type_1, typeToString(targetInfo.keyType), typeToString(source2));
@@ -59912,9 +59880,6 @@ function createTypeChecker(host) {
59912
59880
  Debug.assert(parent.parent.kind === 225 /* TemplateExpression */);
59913
59881
  return getContextualTypeForSubstitutionExpression(parent.parent, node);
59914
59882
  case 214 /* ParenthesizedExpression */: {
59915
- if (isJSDocSatisfiesExpression(parent)) {
59916
- return getTypeFromTypeNode(getJSDocSatisfiesExpressionType(parent));
59917
- }
59918
59883
  const tag = isInJSFile(parent) ? getJSDocTypeTag(parent) : void 0;
59919
59884
  return !tag ? getContextualType(parent, contextFlags) : isJSDocTypeTag(tag) && isConstTypeReference(tag.typeExpression.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(tag.typeExpression.type);
59920
59885
  }
@@ -63642,15 +63607,12 @@ function createTypeChecker(host) {
63642
63607
  }
63643
63608
  function checkSatisfiesExpression(node) {
63644
63609
  checkSourceElement(node.type);
63645
- return checkSatisfiesExpressionWorker(node.expression, node.type);
63646
- }
63647
- function checkSatisfiesExpressionWorker(expression, target, checkMode) {
63648
- const exprType = checkExpression(expression, checkMode);
63649
- const targetType = getTypeFromTypeNode(target);
63610
+ const exprType = checkExpression(node.expression);
63611
+ const targetType = getTypeFromTypeNode(node.type);
63650
63612
  if (isErrorType(targetType)) {
63651
63613
  return targetType;
63652
63614
  }
63653
- checkTypeAssignableToAndOptionallyElaborate(exprType, targetType, target, expression, Diagnostics.Type_0_does_not_satisfy_the_expected_type_1);
63615
+ checkTypeAssignableToAndOptionallyElaborate(exprType, targetType, node.type, node.expression, Diagnostics.Type_0_does_not_satisfy_the_expected_type_1);
63654
63616
  return exprType;
63655
63617
  }
63656
63618
  function checkMetaProperty(node) {
@@ -65765,14 +65727,9 @@ function createTypeChecker(host) {
65765
65727
  }
65766
65728
  }
65767
65729
  function checkParenthesizedExpression(node, checkMode) {
65768
- if (hasJSDocNodes(node)) {
65769
- if (isJSDocSatisfiesExpression(node)) {
65770
- return checkSatisfiesExpressionWorker(node.expression, getJSDocSatisfiesExpressionType(node), checkMode);
65771
- }
65772
- if (isJSDocTypeAssertion(node)) {
65773
- const type = getJSDocTypeAssertionType(node);
65774
- return checkAssertionWorker(type, type, node.expression, checkMode);
65775
- }
65730
+ if (hasJSDocNodes(node) && isJSDocTypeAssertion(node)) {
65731
+ const type = getJSDocTypeAssertionType(node);
65732
+ return checkAssertionWorker(type, type, node.expression, checkMode);
65776
65733
  }
65777
65734
  return checkExpression(node.expression, checkMode);
65778
65735
  }
@@ -67406,9 +67363,6 @@ function createTypeChecker(host) {
67406
67363
  function checkJSDocTypeTag(node) {
67407
67364
  checkSourceElement(node.typeExpression);
67408
67365
  }
67409
- function checkJSDocSatisfiesTag(node) {
67410
- checkSourceElement(node.typeExpression);
67411
- }
67412
67366
  function checkJSDocLinkLikeTag(node) {
67413
67367
  if (node.name) {
67414
67368
  resolveJSDocMemberName(node.name, true);
@@ -70750,8 +70704,6 @@ function createTypeChecker(host) {
70750
70704
  case 338 /* JSDocProtectedTag */:
70751
70705
  case 337 /* JSDocPrivateTag */:
70752
70706
  return checkJSDocAccessibilityModifiers(node);
70753
- case 353 /* JSDocSatisfiesTag */:
70754
- return checkJSDocSatisfiesTag(node);
70755
70707
  case 196 /* IndexedAccessType */:
70756
70708
  return checkIndexedAccessType(node);
70757
70709
  case 197 /* MappedType */:
@@ -75274,13 +75226,13 @@ var visitEachChildTable = {
75274
75226
  visitLexicalEnvironment(node.statements, visitor, context)
75275
75227
  );
75276
75228
  },
75277
- [356 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
75229
+ [355 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
75278
75230
  return context.factory.updatePartiallyEmittedExpression(
75279
75231
  node,
75280
75232
  nodeVisitor(node.expression, visitor, isExpression)
75281
75233
  );
75282
75234
  },
75283
- [357 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
75235
+ [356 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
75284
75236
  return context.factory.updateCommaListExpression(
75285
75237
  node,
75286
75238
  nodesVisitor(node.elements, visitor, isExpression)
@@ -81179,7 +81131,7 @@ function transformES2018(context) {
81179
81131
  return visitObjectLiteralExpression(node);
81180
81132
  case 223 /* BinaryExpression */:
81181
81133
  return visitBinaryExpression(node, expressionResultIsUnused2);
81182
- case 357 /* CommaListExpression */:
81134
+ case 356 /* CommaListExpression */:
81183
81135
  return visitCommaListExpression(node, expressionResultIsUnused2);
81184
81136
  case 295 /* CatchClause */:
81185
81137
  return visitCatchClause(node);
@@ -83375,7 +83327,7 @@ function transformES2015(context) {
83375
83327
  return visitParenthesizedExpression(node, expressionResultIsUnused2);
83376
83328
  case 223 /* BinaryExpression */:
83377
83329
  return visitBinaryExpression(node, expressionResultIsUnused2);
83378
- case 357 /* CommaListExpression */:
83330
+ case 356 /* CommaListExpression */:
83379
83331
  return visitCommaListExpression(node, expressionResultIsUnused2);
83380
83332
  case 14 /* NoSubstitutionTemplateLiteral */:
83381
83333
  case 15 /* TemplateHead */:
@@ -86070,7 +86022,7 @@ function transformGenerators(context) {
86070
86022
  switch (node.kind) {
86071
86023
  case 223 /* BinaryExpression */:
86072
86024
  return visitBinaryExpression(node);
86073
- case 357 /* CommaListExpression */:
86025
+ case 356 /* CommaListExpression */:
86074
86026
  return visitCommaListExpression(node);
86075
86027
  case 224 /* ConditionalExpression */:
86076
86028
  return visitConditionalExpression(node);
@@ -88155,9 +88107,9 @@ function transformModule(context) {
88155
88107
  return visitFunctionDeclaration(node);
88156
88108
  case 260 /* ClassDeclaration */:
88157
88109
  return visitClassDeclaration(node);
88158
- case 358 /* MergeDeclarationMarker */:
88110
+ case 357 /* MergeDeclarationMarker */:
88159
88111
  return visitMergeDeclarationMarker(node);
88160
- case 359 /* EndOfDeclarationMarker */:
88112
+ case 358 /* EndOfDeclarationMarker */:
88161
88113
  return visitEndOfDeclarationMarker(node);
88162
88114
  default:
88163
88115
  return visitor(node);
@@ -88174,7 +88126,7 @@ function transformModule(context) {
88174
88126
  return visitExpressionStatement(node);
88175
88127
  case 214 /* ParenthesizedExpression */:
88176
88128
  return visitParenthesizedExpression(node, valueIsDiscarded);
88177
- case 356 /* PartiallyEmittedExpression */:
88129
+ case 355 /* PartiallyEmittedExpression */:
88178
88130
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
88179
88131
  case 210 /* CallExpression */:
88180
88132
  if (isImportCall(node) && currentSourceFile.impliedNodeFormat === void 0) {
@@ -89949,9 +89901,9 @@ function transformSystemModule(context) {
89949
89901
  return visitCatchClause(node);
89950
89902
  case 238 /* Block */:
89951
89903
  return visitBlock(node);
89952
- case 358 /* MergeDeclarationMarker */:
89904
+ case 357 /* MergeDeclarationMarker */:
89953
89905
  return visitMergeDeclarationMarker(node);
89954
- case 359 /* EndOfDeclarationMarker */:
89906
+ case 358 /* EndOfDeclarationMarker */:
89955
89907
  return visitEndOfDeclarationMarker(node);
89956
89908
  default:
89957
89909
  return visitor(node);
@@ -90099,7 +90051,7 @@ function transformSystemModule(context) {
90099
90051
  return visitExpressionStatement(node);
90100
90052
  case 214 /* ParenthesizedExpression */:
90101
90053
  return visitParenthesizedExpression(node, valueIsDiscarded);
90102
- case 356 /* PartiallyEmittedExpression */:
90054
+ case 355 /* PartiallyEmittedExpression */:
90103
90055
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
90104
90056
  case 223 /* BinaryExpression */:
90105
90057
  if (isDestructuringAssignment(node)) {
@@ -92500,7 +92452,7 @@ function noEmitNotification(hint, node, callback) {
92500
92452
  }
92501
92453
  function transformNodes(resolver, host, factory2, options, nodes, transformers, allowDtsFiles) {
92502
92454
  var _a2, _b;
92503
- const enabledSyntaxKindFeatures = new Array(361 /* Count */);
92455
+ const enabledSyntaxKindFeatures = new Array(360 /* Count */);
92504
92456
  let lexicalEnvironmentVariableDeclarations;
92505
92457
  let lexicalEnvironmentFunctionDeclarations;
92506
92458
  let lexicalEnvironmentStatements;
@@ -94210,7 +94162,6 @@ function createPrinter(printerOptions = {}, handlers = {}) {
94210
94162
  case 346 /* JSDocThisTag */:
94211
94163
  case 347 /* JSDocTypeTag */:
94212
94164
  case 352 /* JSDocThrowsTag */:
94213
- case 353 /* JSDocSatisfiesTag */:
94214
94165
  return emitJSDocSimpleTypedTag(node);
94215
94166
  case 348 /* JSDocTemplateTag */:
94216
94167
  return emitJSDocTemplateTag(node);
@@ -94218,9 +94169,9 @@ function createPrinter(printerOptions = {}, handlers = {}) {
94218
94169
  return emitJSDocTypedefTag(node);
94219
94170
  case 350 /* JSDocSeeTag */:
94220
94171
  return emitJSDocSeeTag(node);
94221
- case 355 /* NotEmittedStatement */:
94222
- case 359 /* EndOfDeclarationMarker */:
94223
- case 358 /* MergeDeclarationMarker */:
94172
+ case 354 /* NotEmittedStatement */:
94173
+ case 358 /* EndOfDeclarationMarker */:
94174
+ case 357 /* MergeDeclarationMarker */:
94224
94175
  return;
94225
94176
  }
94226
94177
  if (isExpression(node)) {
@@ -94315,18 +94266,18 @@ function createPrinter(printerOptions = {}, handlers = {}) {
94315
94266
  return emitJsxSelfClosingElement(node);
94316
94267
  case 285 /* JsxFragment */:
94317
94268
  return emitJsxFragment(node);
94318
- case 354 /* SyntaxList */:
94269
+ case 353 /* SyntaxList */:
94319
94270
  return Debug.fail("SyntaxList should not be printed");
94320
- case 355 /* NotEmittedStatement */:
94271
+ case 354 /* NotEmittedStatement */:
94321
94272
  return;
94322
- case 356 /* PartiallyEmittedExpression */:
94273
+ case 355 /* PartiallyEmittedExpression */:
94323
94274
  return emitPartiallyEmittedExpression(node);
94324
- case 357 /* CommaListExpression */:
94275
+ case 356 /* CommaListExpression */:
94325
94276
  return emitCommaList(node);
94326
- case 358 /* MergeDeclarationMarker */:
94327
- case 359 /* EndOfDeclarationMarker */:
94277
+ case 357 /* MergeDeclarationMarker */:
94278
+ case 358 /* EndOfDeclarationMarker */:
94328
94279
  return;
94329
- case 360 /* SyntheticReferenceExpression */:
94280
+ case 359 /* SyntheticReferenceExpression */:
94330
94281
  return Debug.fail("SyntheticReferenceExpression should not be printed");
94331
94282
  }
94332
94283
  }
@@ -97244,7 +97195,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
97244
97195
  const skipTrailingComments = end < 0 || (emitFlags & 2048 /* NoTrailingComments */) !== 0 || node.kind === 11 /* JsxText */;
97245
97196
  if ((pos > 0 || end > 0) && pos !== end) {
97246
97197
  if (!skipLeadingComments) {
97247
- emitLeadingComments(pos, node.kind !== 355 /* NotEmittedStatement */);
97198
+ emitLeadingComments(pos, node.kind !== 354 /* NotEmittedStatement */);
97248
97199
  }
97249
97200
  if (!skipLeadingComments || pos >= 0 && (emitFlags & 1024 /* NoLeadingComments */) !== 0) {
97250
97201
  containerPos = pos;
@@ -97267,7 +97218,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
97267
97218
  containerPos = savedContainerPos;
97268
97219
  containerEnd = savedContainerEnd;
97269
97220
  declarationListContainerEnd = savedDeclarationListContainerEnd;
97270
- if (!skipTrailingComments && node.kind !== 355 /* NotEmittedStatement */) {
97221
+ if (!skipTrailingComments && node.kind !== 354 /* NotEmittedStatement */) {
97271
97222
  emitTrailingComments(end);
97272
97223
  }
97273
97224
  }
@@ -97519,7 +97470,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
97519
97470
  }
97520
97471
  } else {
97521
97472
  const source = sourceMapRange.source || sourceMapSource;
97522
- if (node.kind !== 355 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
97473
+ if (node.kind !== 354 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
97523
97474
  emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos));
97524
97475
  }
97525
97476
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
@@ -97534,7 +97485,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
97534
97485
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
97535
97486
  sourceMapsDisabled = false;
97536
97487
  }
97537
- if (node.kind !== 355 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
97488
+ if (node.kind !== 354 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
97538
97489
  emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end);
97539
97490
  }
97540
97491
  }