@typescript-deploys/pr-build 4.9.0-pr-50329-13 → 4.9.0-pr-50397-33

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.
@@ -108,7 +108,7 @@ var ts;
108
108
  // The following is baselined as a literal template type without intervention
109
109
  /** The version of the TypeScript compiler release */
110
110
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
111
- ts.version = ts.versionMajorMinor + ".0-insiders.20220817";
111
+ ts.version = ts.versionMajorMinor + ".0-insiders.20220824";
112
112
  /* @internal */
113
113
  var Comparison;
114
114
  (function (Comparison) {
@@ -129,7 +129,7 @@ var ts;
129
129
  function tryGetNativeMap() {
130
130
  // Internet Explorer's Map doesn't support iteration, so don't use it.
131
131
  var gMap = globals === null || globals === void 0 ? void 0 : globals.Map;
132
- // eslint-disable-next-line no-in-operator
132
+ // eslint-disable-next-line local/no-in-operator
133
133
  var constructor = typeof gMap !== "undefined" && "entries" in gMap.prototype && new gMap([[0, 0]]).size === 1 ? gMap : undefined;
134
134
  if (!constructor) {
135
135
  throw new Error("No compatible Map implementation found.");
@@ -143,7 +143,7 @@ var ts;
143
143
  function tryGetNativeSet() {
144
144
  // Internet Explorer's Set doesn't support iteration, so don't use it.
145
145
  var gSet = globals === null || globals === void 0 ? void 0 : globals.Set;
146
- // eslint-disable-next-line no-in-operator
146
+ // eslint-disable-next-line local/no-in-operator
147
147
  var constructor = typeof gSet !== "undefined" && "entries" in gSet.prototype && new gSet([0]).size === 1 ? gSet : undefined;
148
148
  if (!constructor) {
149
149
  throw new Error("No compatible Set implementation found.");
@@ -2497,6 +2497,7 @@ var ts;
2497
2497
  var currentAssertionLevel = 0 /* None */;
2498
2498
  Debug.currentLogLevel = LogLevel.Warning;
2499
2499
  Debug.isDebugging = false;
2500
+ Debug.enableDeprecationWarnings = true;
2500
2501
  function getTypeScriptVersion() {
2501
2502
  return typeScriptVersion !== null && typeScriptVersion !== void 0 ? typeScriptVersion : (typeScriptVersion = new ts.Version(ts.version));
2502
2503
  }
@@ -2841,7 +2842,7 @@ var ts;
2841
2842
  Debug.formatControlFlowGraph = formatControlFlowGraph;
2842
2843
  var flowNodeProto;
2843
2844
  function attachFlowNodeDebugInfoWorker(flowNode) {
2844
- if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line no-in-operator
2845
+ if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line local/no-in-operator
2845
2846
  Object.defineProperties(flowNode, {
2846
2847
  // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
2847
2848
  __tsDebuggerDisplay: {
@@ -2887,7 +2888,7 @@ var ts;
2887
2888
  Debug.attachFlowNodeDebugInfo = attachFlowNodeDebugInfo;
2888
2889
  var nodeArrayProto;
2889
2890
  function attachNodeArrayDebugInfoWorker(array) {
2890
- if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line no-in-operator
2891
+ if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line local/no-in-operator
2891
2892
  Object.defineProperties(array, {
2892
2893
  __tsDebuggerDisplay: {
2893
2894
  value: function (defaultValue) {
@@ -3120,7 +3121,7 @@ var ts;
3120
3121
  function createWarningDeprecation(name, errorAfter, since, message) {
3121
3122
  var hasWrittenDeprecation = false;
3122
3123
  return function () {
3123
- if (!hasWrittenDeprecation) {
3124
+ if (Debug.enableDeprecationWarnings && !hasWrittenDeprecation) {
3124
3125
  log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message));
3125
3126
  hasWrittenDeprecation = true;
3126
3127
  }
@@ -4076,7 +4077,7 @@ var ts;
4076
4077
  var substitutionType = type;
4077
4078
  substitutionProperties = {
4078
4079
  substitutionBaseType: (_o = substitutionType.baseType) === null || _o === void 0 ? void 0 : _o.id,
4079
- substituteType: (_p = substitutionType.substitute) === null || _p === void 0 ? void 0 : _p.id,
4080
+ constraintType: (_p = substitutionType.constraint) === null || _p === void 0 ? void 0 : _p.id,
4080
4081
  };
4081
4082
  }
4082
4083
  var reverseMappedProperties = {};
@@ -21399,7 +21400,7 @@ var ts;
21399
21400
  case 165 /* Decorator */: {
21400
21401
  var parent_2 = node.parent;
21401
21402
  return ts.canHaveDecorators(parent_2) ? parent_2.modifiers :
21402
- ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators :
21403
+ ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators :
21403
21404
  undefined;
21404
21405
  }
21405
21406
  case 291 /* HeritageClause */:
@@ -23476,7 +23477,7 @@ var ts;
23476
23477
  node.body = body;
23477
23478
  node.transformFlags = propagateChildFlags(body) | 16777216 /* ContainsClassFields */;
23478
23479
  // The following properties are used only to report grammar errors
23479
- node.decorators = undefined;
23480
+ node.illegalDecorators = undefined;
23480
23481
  node.modifiers = undefined;
23481
23482
  return node;
23482
23483
  }
@@ -23488,7 +23489,7 @@ var ts;
23488
23489
  }
23489
23490
  function finishUpdateClassStaticBlockDeclaration(updated, original) {
23490
23491
  if (updated !== original) {
23491
- updated.decorators = original.decorators;
23492
+ updated.illegalDecorators = original.illegalDecorators;
23492
23493
  updated.modifiers = original.modifiers;
23493
23494
  }
23494
23495
  return update(updated, original);
@@ -23501,7 +23502,7 @@ var ts;
23501
23502
  /*type*/ undefined, body);
23502
23503
  node.transformFlags |= 1024 /* ContainsES2015 */;
23503
23504
  // The following properties are used only to report grammar errors
23504
- node.decorators = undefined;
23505
+ node.illegalDecorators = undefined;
23505
23506
  node.typeParameters = undefined;
23506
23507
  node.type = undefined;
23507
23508
  return node;
@@ -23516,7 +23517,7 @@ var ts;
23516
23517
  }
23517
23518
  function finishUpdateConstructorDeclaration(updated, original) {
23518
23519
  if (updated !== original) {
23519
- updated.decorators = original.decorators;
23520
+ updated.illegalDecorators = original.illegalDecorators;
23520
23521
  updated.typeParameters = original.typeParameters;
23521
23522
  updated.type = original.type;
23522
23523
  }
@@ -25264,7 +25265,7 @@ var ts;
25264
25265
  }
25265
25266
  }
25266
25267
  // The following properties are used only to report grammar errors
25267
- node.decorators = undefined;
25268
+ node.illegalDecorators = undefined;
25268
25269
  return node;
25269
25270
  }
25270
25271
  // @api
@@ -25282,7 +25283,7 @@ var ts;
25282
25283
  function finishUpdateFunctionDeclaration(updated, original) {
25283
25284
  if (updated !== original) {
25284
25285
  // copy children used only for error reporting
25285
- updated.decorators = original.decorators;
25286
+ updated.illegalDecorators = original.illegalDecorators;
25286
25287
  }
25287
25288
  return finishUpdateBaseSignatureDeclaration(updated, original);
25288
25289
  }
@@ -25316,7 +25317,7 @@ var ts;
25316
25317
  node.members = createNodeArray(members);
25317
25318
  node.transformFlags = 1 /* ContainsTypeScript */;
25318
25319
  // The following properties are used only to report grammar errors
25319
- node.decorators = undefined;
25320
+ node.illegalDecorators = undefined;
25320
25321
  return node;
25321
25322
  }
25322
25323
  // @api
@@ -25331,7 +25332,7 @@ var ts;
25331
25332
  }
25332
25333
  function finishUpdateInterfaceDeclaration(updated, original) {
25333
25334
  if (updated !== original) {
25334
- updated.decorators = original.decorators;
25335
+ updated.illegalDecorators = original.illegalDecorators;
25335
25336
  }
25336
25337
  return update(updated, original);
25337
25338
  }
@@ -25341,7 +25342,7 @@ var ts;
25341
25342
  node.type = type;
25342
25343
  node.transformFlags = 1 /* ContainsTypeScript */;
25343
25344
  // The following properties are used only to report grammar errors
25344
- node.decorators = undefined;
25345
+ node.illegalDecorators = undefined;
25345
25346
  return node;
25346
25347
  }
25347
25348
  // @api
@@ -25355,7 +25356,7 @@ var ts;
25355
25356
  }
25356
25357
  function finishUpdateTypeAliasDeclaration(updated, original) {
25357
25358
  if (updated !== original) {
25358
- updated.decorators = original.decorators;
25359
+ updated.illegalDecorators = original.illegalDecorators;
25359
25360
  }
25360
25361
  return update(updated, original);
25361
25362
  }
@@ -25368,7 +25369,7 @@ var ts;
25368
25369
  1 /* ContainsTypeScript */;
25369
25370
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await`
25370
25371
  // The following properties are used only to report grammar errors
25371
- node.decorators = undefined;
25372
+ node.illegalDecorators = undefined;
25372
25373
  return node;
25373
25374
  }
25374
25375
  // @api
@@ -25381,7 +25382,7 @@ var ts;
25381
25382
  }
25382
25383
  function finishUpdateEnumDeclaration(updated, original) {
25383
25384
  if (updated !== original) {
25384
- updated.decorators = original.decorators;
25385
+ updated.illegalDecorators = original.illegalDecorators;
25385
25386
  }
25386
25387
  return update(updated, original);
25387
25388
  }
@@ -25405,7 +25406,7 @@ var ts;
25405
25406
  }
25406
25407
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`.
25407
25408
  // The following properties are used only to report grammar errors
25408
- node.decorators = undefined;
25409
+ node.illegalDecorators = undefined;
25409
25410
  return node;
25410
25411
  }
25411
25412
  // @api
@@ -25418,7 +25419,7 @@ var ts;
25418
25419
  }
25419
25420
  function finishUpdateModuleDeclaration(updated, original) {
25420
25421
  if (updated !== original) {
25421
- updated.decorators = original.decorators;
25422
+ updated.illegalDecorators = original.illegalDecorators;
25422
25423
  }
25423
25424
  return update(updated, original);
25424
25425
  }
@@ -25454,7 +25455,7 @@ var ts;
25454
25455
  /*modifiers*/ undefined, name);
25455
25456
  node.transformFlags = 1 /* ContainsTypeScript */;
25456
25457
  // The following properties are used only to report grammar errors
25457
- node.decorators = undefined;
25458
+ node.illegalDecorators = undefined;
25458
25459
  node.modifiers = undefined;
25459
25460
  return node;
25460
25461
  }
@@ -25466,7 +25467,7 @@ var ts;
25466
25467
  }
25467
25468
  function finishUpdateNamespaceExportDeclaration(updated, original) {
25468
25469
  if (updated !== original) {
25469
- updated.decorators = original.decorators;
25470
+ updated.illegalDecorators = original.illegalDecorators;
25470
25471
  updated.modifiers = original.modifiers;
25471
25472
  }
25472
25473
  return update(updated, original);
@@ -25481,7 +25482,7 @@ var ts;
25481
25482
  node.transformFlags |= 1 /* ContainsTypeScript */;
25482
25483
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context
25483
25484
  // The following properties are used only to report grammar errors
25484
- node.decorators = undefined;
25485
+ node.illegalDecorators = undefined;
25485
25486
  return node;
25486
25487
  }
25487
25488
  // @api
@@ -25495,7 +25496,7 @@ var ts;
25495
25496
  }
25496
25497
  function finishUpdateImportEqualsDeclaration(updated, original) {
25497
25498
  if (updated !== original) {
25498
- updated.decorators = original.decorators;
25499
+ updated.illegalDecorators = original.illegalDecorators;
25499
25500
  }
25500
25501
  return update(updated, original);
25501
25502
  }
@@ -25511,7 +25512,7 @@ var ts;
25511
25512
  propagateChildFlags(node.moduleSpecifier);
25512
25513
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25513
25514
  // The following properties are used only to report grammar errors
25514
- node.decorators = undefined;
25515
+ node.illegalDecorators = undefined;
25515
25516
  return node;
25516
25517
  }
25517
25518
  // @api
@@ -25525,7 +25526,7 @@ var ts;
25525
25526
  }
25526
25527
  function finishUpdateImportDeclaration(updated, original) {
25527
25528
  if (updated !== original) {
25528
- updated.decorators = original.decorators;
25529
+ updated.illegalDecorators = original.illegalDecorators;
25529
25530
  }
25530
25531
  return update(updated, original);
25531
25532
  }
@@ -25671,7 +25672,7 @@ var ts;
25671
25672
  node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression);
25672
25673
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25673
25674
  // The following properties are used only to report grammar errors
25674
- node.decorators = undefined;
25675
+ node.illegalDecorators = undefined;
25675
25676
  return node;
25676
25677
  }
25677
25678
  // @api
@@ -25683,7 +25684,7 @@ var ts;
25683
25684
  }
25684
25685
  function finishUpdateExportAssignment(updated, original) {
25685
25686
  if (updated !== original) {
25686
- updated.decorators = original.decorators;
25687
+ updated.illegalDecorators = original.illegalDecorators;
25687
25688
  }
25688
25689
  return update(updated, original);
25689
25690
  }
@@ -25701,7 +25702,7 @@ var ts;
25701
25702
  propagateChildFlags(node.moduleSpecifier);
25702
25703
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25703
25704
  // The following properties are used only to report grammar errors
25704
- node.decorators = undefined;
25705
+ node.illegalDecorators = undefined;
25705
25706
  return node;
25706
25707
  }
25707
25708
  // @api
@@ -25716,7 +25717,7 @@ var ts;
25716
25717
  }
25717
25718
  function finishUpdateExportDeclaration(updated, original) {
25718
25719
  if (updated !== original) {
25719
- updated.decorators = original.decorators;
25720
+ updated.illegalDecorators = original.illegalDecorators;
25720
25721
  }
25721
25722
  return update(updated, original);
25722
25723
  }
@@ -26480,7 +26481,7 @@ var ts;
26480
26481
  propagateChildFlags(node.name) |
26481
26482
  propagateChildFlags(node.initializer);
26482
26483
  // The following properties are used only to report grammar errors
26483
- node.decorators = undefined;
26484
+ node.illegalDecorators = undefined;
26484
26485
  node.modifiers = undefined;
26485
26486
  node.questionToken = undefined;
26486
26487
  node.exclamationToken = undefined;
@@ -26496,7 +26497,7 @@ var ts;
26496
26497
  function finishUpdatePropertyAssignment(updated, original) {
26497
26498
  // copy children used only for error reporting
26498
26499
  if (updated !== original) {
26499
- updated.decorators = original.decorators;
26500
+ updated.illegalDecorators = original.illegalDecorators;
26500
26501
  updated.modifiers = original.modifiers;
26501
26502
  updated.questionToken = original.questionToken;
26502
26503
  updated.exclamationToken = original.exclamationToken;
@@ -26513,7 +26514,7 @@ var ts;
26513
26514
  1024 /* ContainsES2015 */;
26514
26515
  // The following properties are used only to report grammar errors
26515
26516
  node.equalsToken = undefined;
26516
- node.decorators = undefined;
26517
+ node.illegalDecorators = undefined;
26517
26518
  node.modifiers = undefined;
26518
26519
  node.questionToken = undefined;
26519
26520
  node.exclamationToken = undefined;
@@ -26530,7 +26531,7 @@ var ts;
26530
26531
  if (updated !== original) {
26531
26532
  // copy children used only for error reporting
26532
26533
  updated.equalsToken = original.equalsToken;
26533
- updated.decorators = original.decorators;
26534
+ updated.illegalDecorators = original.illegalDecorators;
26534
26535
  updated.modifiers = original.modifiers;
26535
26536
  updated.questionToken = original.questionToken;
26536
26537
  updated.exclamationToken = original.exclamationToken;
@@ -30542,17 +30543,6 @@ var ts;
30542
30543
  || kind === 173 /* SetAccessor */;
30543
30544
  }
30544
30545
  ts.canHaveIllegalTypeParameters = canHaveIllegalTypeParameters;
30545
- function canHaveDecorators(node) {
30546
- var kind = node.kind;
30547
- return kind === 164 /* Parameter */
30548
- || kind === 167 /* PropertyDeclaration */
30549
- || kind === 169 /* MethodDeclaration */
30550
- || kind === 172 /* GetAccessor */
30551
- || kind === 173 /* SetAccessor */
30552
- || kind === 226 /* ClassExpression */
30553
- || kind === 257 /* ClassDeclaration */;
30554
- }
30555
- ts.canHaveDecorators = canHaveDecorators;
30556
30546
  function canHaveIllegalDecorators(node) {
30557
30547
  var kind = node.kind;
30558
30548
  return kind === 296 /* PropertyAssignment */
@@ -30574,35 +30564,6 @@ var ts;
30574
30564
  || kind === 271 /* ExportAssignment */;
30575
30565
  }
30576
30566
  ts.canHaveIllegalDecorators = canHaveIllegalDecorators;
30577
- function canHaveModifiers(node) {
30578
- var kind = node.kind;
30579
- return kind === 163 /* TypeParameter */
30580
- || kind === 164 /* Parameter */
30581
- || kind === 166 /* PropertySignature */
30582
- || kind === 167 /* PropertyDeclaration */
30583
- || kind === 168 /* MethodSignature */
30584
- || kind === 169 /* MethodDeclaration */
30585
- || kind === 171 /* Constructor */
30586
- || kind === 172 /* GetAccessor */
30587
- || kind === 173 /* SetAccessor */
30588
- || kind === 176 /* IndexSignature */
30589
- || kind === 180 /* ConstructorType */
30590
- || kind === 213 /* FunctionExpression */
30591
- || kind === 214 /* ArrowFunction */
30592
- || kind === 226 /* ClassExpression */
30593
- || kind === 237 /* VariableStatement */
30594
- || kind === 256 /* FunctionDeclaration */
30595
- || kind === 257 /* ClassDeclaration */
30596
- || kind === 258 /* InterfaceDeclaration */
30597
- || kind === 259 /* TypeAliasDeclaration */
30598
- || kind === 260 /* EnumDeclaration */
30599
- || kind === 261 /* ModuleDeclaration */
30600
- || kind === 265 /* ImportEqualsDeclaration */
30601
- || kind === 266 /* ImportDeclaration */
30602
- || kind === 271 /* ExportAssignment */
30603
- || kind === 272 /* ExportDeclaration */;
30604
- }
30605
- ts.canHaveModifiers = canHaveModifiers;
30606
30567
  function canHaveIllegalModifiers(node) {
30607
30568
  var kind = node.kind;
30608
30569
  return kind === 170 /* ClassStaticBlockDeclaration */
@@ -30891,9 +30852,50 @@ var ts;
30891
30852
  return location ? ts.setTextRangePosEnd(range, location.pos, location.end) : range;
30892
30853
  }
30893
30854
  ts.setTextRange = setTextRange;
30855
+ function canHaveModifiers(node) {
30856
+ var kind = node.kind;
30857
+ return kind === 163 /* TypeParameter */
30858
+ || kind === 164 /* Parameter */
30859
+ || kind === 166 /* PropertySignature */
30860
+ || kind === 167 /* PropertyDeclaration */
30861
+ || kind === 168 /* MethodSignature */
30862
+ || kind === 169 /* MethodDeclaration */
30863
+ || kind === 171 /* Constructor */
30864
+ || kind === 172 /* GetAccessor */
30865
+ || kind === 173 /* SetAccessor */
30866
+ || kind === 176 /* IndexSignature */
30867
+ || kind === 180 /* ConstructorType */
30868
+ || kind === 213 /* FunctionExpression */
30869
+ || kind === 214 /* ArrowFunction */
30870
+ || kind === 226 /* ClassExpression */
30871
+ || kind === 237 /* VariableStatement */
30872
+ || kind === 256 /* FunctionDeclaration */
30873
+ || kind === 257 /* ClassDeclaration */
30874
+ || kind === 258 /* InterfaceDeclaration */
30875
+ || kind === 259 /* TypeAliasDeclaration */
30876
+ || kind === 260 /* EnumDeclaration */
30877
+ || kind === 261 /* ModuleDeclaration */
30878
+ || kind === 265 /* ImportEqualsDeclaration */
30879
+ || kind === 266 /* ImportDeclaration */
30880
+ || kind === 271 /* ExportAssignment */
30881
+ || kind === 272 /* ExportDeclaration */;
30882
+ }
30883
+ ts.canHaveModifiers = canHaveModifiers;
30884
+ function canHaveDecorators(node) {
30885
+ var kind = node.kind;
30886
+ return kind === 164 /* Parameter */
30887
+ || kind === 167 /* PropertyDeclaration */
30888
+ || kind === 169 /* MethodDeclaration */
30889
+ || kind === 172 /* GetAccessor */
30890
+ || kind === 173 /* SetAccessor */
30891
+ || kind === 226 /* ClassExpression */
30892
+ || kind === 257 /* ClassDeclaration */;
30893
+ }
30894
+ ts.canHaveDecorators = canHaveDecorators;
30894
30895
  })(ts || (ts = {}));
30895
30896
  var ts;
30896
30897
  (function (ts) {
30898
+ var _a;
30897
30899
  var SignatureFlags;
30898
30900
  (function (SignatureFlags) {
30899
30901
  SignatureFlags[SignatureFlags["None"] = 0] = "None";
@@ -30981,6 +30983,715 @@ var ts;
30981
30983
  function isImportMeta(node) {
30982
30984
  return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta";
30983
30985
  }
30986
+ var forEachChildTable = (_a = {},
30987
+ _a[161 /* QualifiedName */] = function forEachChildInQualifiedName(node, cbNode, _cbNodes) {
30988
+ return visitNode(cbNode, node.left) ||
30989
+ visitNode(cbNode, node.right);
30990
+ },
30991
+ _a[163 /* TypeParameter */] = function forEachChildInTypeParameter(node, cbNode, cbNodes) {
30992
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
30993
+ visitNode(cbNode, node.name) ||
30994
+ visitNode(cbNode, node.constraint) ||
30995
+ visitNode(cbNode, node.default) ||
30996
+ visitNode(cbNode, node.expression);
30997
+ },
30998
+ _a[297 /* ShorthandPropertyAssignment */] = function forEachChildInShorthandPropertyAssignment(node, cbNode, cbNodes) {
30999
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31000
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31001
+ visitNode(cbNode, node.name) ||
31002
+ visitNode(cbNode, node.questionToken) ||
31003
+ visitNode(cbNode, node.exclamationToken) ||
31004
+ visitNode(cbNode, node.equalsToken) ||
31005
+ visitNode(cbNode, node.objectAssignmentInitializer);
31006
+ },
31007
+ _a[298 /* SpreadAssignment */] = function forEachChildInSpreadAssignment(node, cbNode, _cbNodes) {
31008
+ return visitNode(cbNode, node.expression);
31009
+ },
31010
+ _a[164 /* Parameter */] = function forEachChildInParameter(node, cbNode, cbNodes) {
31011
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31012
+ visitNode(cbNode, node.dotDotDotToken) ||
31013
+ visitNode(cbNode, node.name) ||
31014
+ visitNode(cbNode, node.questionToken) ||
31015
+ visitNode(cbNode, node.type) ||
31016
+ visitNode(cbNode, node.initializer);
31017
+ },
31018
+ _a[167 /* PropertyDeclaration */] = function forEachChildInPropertyDeclaration(node, cbNode, cbNodes) {
31019
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31020
+ visitNode(cbNode, node.name) ||
31021
+ visitNode(cbNode, node.questionToken) ||
31022
+ visitNode(cbNode, node.exclamationToken) ||
31023
+ visitNode(cbNode, node.type) ||
31024
+ visitNode(cbNode, node.initializer);
31025
+ },
31026
+ _a[166 /* PropertySignature */] = function forEachChildInPropertySignature(node, cbNode, cbNodes) {
31027
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31028
+ visitNode(cbNode, node.name) ||
31029
+ visitNode(cbNode, node.questionToken) ||
31030
+ visitNode(cbNode, node.type) ||
31031
+ visitNode(cbNode, node.initializer);
31032
+ },
31033
+ _a[296 /* PropertyAssignment */] = function forEachChildInPropertyAssignment(node, cbNode, cbNodes) {
31034
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31035
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31036
+ visitNode(cbNode, node.name) ||
31037
+ visitNode(cbNode, node.questionToken) ||
31038
+ visitNode(cbNode, node.exclamationToken) ||
31039
+ visitNode(cbNode, node.initializer);
31040
+ },
31041
+ _a[254 /* VariableDeclaration */] = function forEachChildInVariableDeclaration(node, cbNode, _cbNodes) {
31042
+ return visitNode(cbNode, node.name) ||
31043
+ visitNode(cbNode, node.exclamationToken) ||
31044
+ visitNode(cbNode, node.type) ||
31045
+ visitNode(cbNode, node.initializer);
31046
+ },
31047
+ _a[203 /* BindingElement */] = function forEachChildInBindingElement(node, cbNode, _cbNodes) {
31048
+ return visitNode(cbNode, node.dotDotDotToken) ||
31049
+ visitNode(cbNode, node.propertyName) ||
31050
+ visitNode(cbNode, node.name) ||
31051
+ visitNode(cbNode, node.initializer);
31052
+ },
31053
+ _a[176 /* IndexSignature */] = function forEachChildInIndexSignature(node, cbNode, cbNodes) {
31054
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31055
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31056
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31057
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31058
+ visitNode(cbNode, node.type);
31059
+ },
31060
+ _a[180 /* ConstructorType */] = function forEachChildInConstructorType(node, cbNode, cbNodes) {
31061
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31062
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31063
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31064
+ visitNode(cbNode, node.type);
31065
+ },
31066
+ _a[179 /* FunctionType */] = function forEachChildInFunctionType(node, cbNode, cbNodes) {
31067
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31068
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31069
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31070
+ visitNode(cbNode, node.type);
31071
+ },
31072
+ _a[174 /* CallSignature */] = forEachChildInCallOrConstructSignature,
31073
+ _a[175 /* ConstructSignature */] = forEachChildInCallOrConstructSignature,
31074
+ _a[169 /* MethodDeclaration */] = function forEachChildInMethodDeclaration(node, cbNode, cbNodes) {
31075
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31076
+ visitNode(cbNode, node.asteriskToken) ||
31077
+ visitNode(cbNode, node.name) ||
31078
+ visitNode(cbNode, node.questionToken) ||
31079
+ visitNode(cbNode, node.exclamationToken) ||
31080
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31081
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31082
+ visitNode(cbNode, node.type) ||
31083
+ visitNode(cbNode, node.body);
31084
+ },
31085
+ _a[168 /* MethodSignature */] = function forEachChildInMethodSignature(node, cbNode, cbNodes) {
31086
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31087
+ visitNode(cbNode, node.name) ||
31088
+ visitNode(cbNode, node.questionToken) ||
31089
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31090
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31091
+ visitNode(cbNode, node.type);
31092
+ },
31093
+ _a[171 /* Constructor */] = function forEachChildInConstructor(node, cbNode, cbNodes) {
31094
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31095
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31096
+ visitNode(cbNode, node.name) ||
31097
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31098
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31099
+ visitNode(cbNode, node.type) ||
31100
+ visitNode(cbNode, node.body);
31101
+ },
31102
+ _a[172 /* GetAccessor */] = function forEachChildInGetAccessor(node, cbNode, cbNodes) {
31103
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31104
+ visitNode(cbNode, node.name) ||
31105
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31106
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31107
+ visitNode(cbNode, node.type) ||
31108
+ visitNode(cbNode, node.body);
31109
+ },
31110
+ _a[173 /* SetAccessor */] = function forEachChildInSetAccessor(node, cbNode, cbNodes) {
31111
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31112
+ visitNode(cbNode, node.name) ||
31113
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31114
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31115
+ visitNode(cbNode, node.type) ||
31116
+ visitNode(cbNode, node.body);
31117
+ },
31118
+ _a[256 /* FunctionDeclaration */] = function forEachChildInFunctionDeclaration(node, cbNode, cbNodes) {
31119
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31120
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31121
+ visitNode(cbNode, node.asteriskToken) ||
31122
+ visitNode(cbNode, node.name) ||
31123
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31124
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31125
+ visitNode(cbNode, node.type) ||
31126
+ visitNode(cbNode, node.body);
31127
+ },
31128
+ _a[213 /* FunctionExpression */] = function forEachChildInFunctionExpression(node, cbNode, cbNodes) {
31129
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31130
+ visitNode(cbNode, node.asteriskToken) ||
31131
+ visitNode(cbNode, node.name) ||
31132
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31133
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31134
+ visitNode(cbNode, node.type) ||
31135
+ visitNode(cbNode, node.body);
31136
+ },
31137
+ _a[214 /* ArrowFunction */] = function forEachChildInArrowFunction(node, cbNode, cbNodes) {
31138
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31139
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31140
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31141
+ visitNode(cbNode, node.type) ||
31142
+ visitNode(cbNode, node.equalsGreaterThanToken) ||
31143
+ visitNode(cbNode, node.body);
31144
+ },
31145
+ _a[170 /* ClassStaticBlockDeclaration */] = function forEachChildInClassStaticBlockDeclaration(node, cbNode, cbNodes) {
31146
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31147
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31148
+ visitNode(cbNode, node.body);
31149
+ },
31150
+ _a[178 /* TypeReference */] = function forEachChildInTypeReference(node, cbNode, cbNodes) {
31151
+ return visitNode(cbNode, node.typeName) ||
31152
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31153
+ },
31154
+ _a[177 /* TypePredicate */] = function forEachChildInTypePredicate(node, cbNode, _cbNodes) {
31155
+ return visitNode(cbNode, node.assertsModifier) ||
31156
+ visitNode(cbNode, node.parameterName) ||
31157
+ visitNode(cbNode, node.type);
31158
+ },
31159
+ _a[181 /* TypeQuery */] = function forEachChildInTypeQuery(node, cbNode, cbNodes) {
31160
+ return visitNode(cbNode, node.exprName) ||
31161
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31162
+ },
31163
+ _a[182 /* TypeLiteral */] = function forEachChildInTypeLiteral(node, cbNode, cbNodes) {
31164
+ return visitNodes(cbNode, cbNodes, node.members);
31165
+ },
31166
+ _a[183 /* ArrayType */] = function forEachChildInArrayType(node, cbNode, _cbNodes) {
31167
+ return visitNode(cbNode, node.elementType);
31168
+ },
31169
+ _a[184 /* TupleType */] = function forEachChildInTupleType(node, cbNode, cbNodes) {
31170
+ return visitNodes(cbNode, cbNodes, node.elements);
31171
+ },
31172
+ _a[187 /* UnionType */] = forEachChildInUnionOrIntersectionType,
31173
+ _a[188 /* IntersectionType */] = forEachChildInUnionOrIntersectionType,
31174
+ _a[189 /* ConditionalType */] = function forEachChildInConditionalType(node, cbNode, _cbNodes) {
31175
+ return visitNode(cbNode, node.checkType) ||
31176
+ visitNode(cbNode, node.extendsType) ||
31177
+ visitNode(cbNode, node.trueType) ||
31178
+ visitNode(cbNode, node.falseType);
31179
+ },
31180
+ _a[190 /* InferType */] = function forEachChildInInferType(node, cbNode, _cbNodes) {
31181
+ return visitNode(cbNode, node.typeParameter);
31182
+ },
31183
+ _a[200 /* ImportType */] = function forEachChildInImportType(node, cbNode, cbNodes) {
31184
+ return visitNode(cbNode, node.argument) ||
31185
+ visitNode(cbNode, node.assertions) ||
31186
+ visitNode(cbNode, node.qualifier) ||
31187
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31188
+ },
31189
+ _a[295 /* ImportTypeAssertionContainer */] = function forEachChildInImportTypeAssertionContainer(node, cbNode, _cbNodes) {
31190
+ return visitNode(cbNode, node.assertClause);
31191
+ },
31192
+ _a[191 /* ParenthesizedType */] = forEachChildInParenthesizedTypeOrTypeOperator,
31193
+ _a[193 /* TypeOperator */] = forEachChildInParenthesizedTypeOrTypeOperator,
31194
+ _a[194 /* IndexedAccessType */] = function forEachChildInIndexedAccessType(node, cbNode, _cbNodes) {
31195
+ return visitNode(cbNode, node.objectType) ||
31196
+ visitNode(cbNode, node.indexType);
31197
+ },
31198
+ _a[195 /* MappedType */] = function forEachChildInMappedType(node, cbNode, cbNodes) {
31199
+ return visitNode(cbNode, node.readonlyToken) ||
31200
+ visitNode(cbNode, node.typeParameter) ||
31201
+ visitNode(cbNode, node.nameType) ||
31202
+ visitNode(cbNode, node.questionToken) ||
31203
+ visitNode(cbNode, node.type) ||
31204
+ visitNodes(cbNode, cbNodes, node.members);
31205
+ },
31206
+ _a[196 /* LiteralType */] = function forEachChildInLiteralType(node, cbNode, _cbNodes) {
31207
+ return visitNode(cbNode, node.literal);
31208
+ },
31209
+ _a[197 /* NamedTupleMember */] = function forEachChildInNamedTupleMember(node, cbNode, _cbNodes) {
31210
+ return visitNode(cbNode, node.dotDotDotToken) ||
31211
+ visitNode(cbNode, node.name) ||
31212
+ visitNode(cbNode, node.questionToken) ||
31213
+ visitNode(cbNode, node.type);
31214
+ },
31215
+ _a[201 /* ObjectBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31216
+ _a[202 /* ArrayBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31217
+ _a[204 /* ArrayLiteralExpression */] = function forEachChildInArrayLiteralExpression(node, cbNode, cbNodes) {
31218
+ return visitNodes(cbNode, cbNodes, node.elements);
31219
+ },
31220
+ _a[205 /* ObjectLiteralExpression */] = function forEachChildInObjectLiteralExpression(node, cbNode, cbNodes) {
31221
+ return visitNodes(cbNode, cbNodes, node.properties);
31222
+ },
31223
+ _a[206 /* PropertyAccessExpression */] = function forEachChildInPropertyAccessExpression(node, cbNode, _cbNodes) {
31224
+ return visitNode(cbNode, node.expression) ||
31225
+ visitNode(cbNode, node.questionDotToken) ||
31226
+ visitNode(cbNode, node.name);
31227
+ },
31228
+ _a[207 /* ElementAccessExpression */] = function forEachChildInElementAccessExpression(node, cbNode, _cbNodes) {
31229
+ return visitNode(cbNode, node.expression) ||
31230
+ visitNode(cbNode, node.questionDotToken) ||
31231
+ visitNode(cbNode, node.argumentExpression);
31232
+ },
31233
+ _a[208 /* CallExpression */] = forEachChildInCallOrNewExpression,
31234
+ _a[209 /* NewExpression */] = forEachChildInCallOrNewExpression,
31235
+ _a[210 /* TaggedTemplateExpression */] = function forEachChildInTaggedTemplateExpression(node, cbNode, cbNodes) {
31236
+ return visitNode(cbNode, node.tag) ||
31237
+ visitNode(cbNode, node.questionDotToken) ||
31238
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31239
+ visitNode(cbNode, node.template);
31240
+ },
31241
+ _a[211 /* TypeAssertionExpression */] = function forEachChildInTypeAssertionExpression(node, cbNode, _cbNodes) {
31242
+ return visitNode(cbNode, node.type) ||
31243
+ visitNode(cbNode, node.expression);
31244
+ },
31245
+ _a[212 /* ParenthesizedExpression */] = function forEachChildInParenthesizedExpression(node, cbNode, _cbNodes) {
31246
+ return visitNode(cbNode, node.expression);
31247
+ },
31248
+ _a[215 /* DeleteExpression */] = function forEachChildInDeleteExpression(node, cbNode, _cbNodes) {
31249
+ return visitNode(cbNode, node.expression);
31250
+ },
31251
+ _a[216 /* TypeOfExpression */] = function forEachChildInTypeOfExpression(node, cbNode, _cbNodes) {
31252
+ return visitNode(cbNode, node.expression);
31253
+ },
31254
+ _a[217 /* VoidExpression */] = function forEachChildInVoidExpression(node, cbNode, _cbNodes) {
31255
+ return visitNode(cbNode, node.expression);
31256
+ },
31257
+ _a[219 /* PrefixUnaryExpression */] = function forEachChildInPrefixUnaryExpression(node, cbNode, _cbNodes) {
31258
+ return visitNode(cbNode, node.operand);
31259
+ },
31260
+ _a[224 /* YieldExpression */] = function forEachChildInYieldExpression(node, cbNode, _cbNodes) {
31261
+ return visitNode(cbNode, node.asteriskToken) ||
31262
+ visitNode(cbNode, node.expression);
31263
+ },
31264
+ _a[218 /* AwaitExpression */] = function forEachChildInAwaitExpression(node, cbNode, _cbNodes) {
31265
+ return visitNode(cbNode, node.expression);
31266
+ },
31267
+ _a[220 /* PostfixUnaryExpression */] = function forEachChildInPostfixUnaryExpression(node, cbNode, _cbNodes) {
31268
+ return visitNode(cbNode, node.operand);
31269
+ },
31270
+ _a[221 /* BinaryExpression */] = function forEachChildInBinaryExpression(node, cbNode, _cbNodes) {
31271
+ return visitNode(cbNode, node.left) ||
31272
+ visitNode(cbNode, node.operatorToken) ||
31273
+ visitNode(cbNode, node.right);
31274
+ },
31275
+ _a[229 /* AsExpression */] = function forEachChildInAsExpression(node, cbNode, _cbNodes) {
31276
+ return visitNode(cbNode, node.expression) ||
31277
+ visitNode(cbNode, node.type);
31278
+ },
31279
+ _a[230 /* NonNullExpression */] = function forEachChildInNonNullExpression(node, cbNode, _cbNodes) {
31280
+ return visitNode(cbNode, node.expression);
31281
+ },
31282
+ _a[231 /* MetaProperty */] = function forEachChildInMetaProperty(node, cbNode, _cbNodes) {
31283
+ return visitNode(cbNode, node.name);
31284
+ },
31285
+ _a[222 /* ConditionalExpression */] = function forEachChildInConditionalExpression(node, cbNode, _cbNodes) {
31286
+ return visitNode(cbNode, node.condition) ||
31287
+ visitNode(cbNode, node.questionToken) ||
31288
+ visitNode(cbNode, node.whenTrue) ||
31289
+ visitNode(cbNode, node.colonToken) ||
31290
+ visitNode(cbNode, node.whenFalse);
31291
+ },
31292
+ _a[225 /* SpreadElement */] = function forEachChildInSpreadElement(node, cbNode, _cbNodes) {
31293
+ return visitNode(cbNode, node.expression);
31294
+ },
31295
+ _a[235 /* Block */] = forEachChildInBlock,
31296
+ _a[262 /* ModuleBlock */] = forEachChildInBlock,
31297
+ _a[305 /* SourceFile */] = function forEachChildInSourceFile(node, cbNode, cbNodes) {
31298
+ return visitNodes(cbNode, cbNodes, node.statements) ||
31299
+ visitNode(cbNode, node.endOfFileToken);
31300
+ },
31301
+ _a[237 /* VariableStatement */] = function forEachChildInVariableStatement(node, cbNode, cbNodes) {
31302
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31303
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31304
+ visitNode(cbNode, node.declarationList);
31305
+ },
31306
+ _a[255 /* VariableDeclarationList */] = function forEachChildInVariableDeclarationList(node, cbNode, cbNodes) {
31307
+ return visitNodes(cbNode, cbNodes, node.declarations);
31308
+ },
31309
+ _a[238 /* ExpressionStatement */] = function forEachChildInExpressionStatement(node, cbNode, _cbNodes) {
31310
+ return visitNode(cbNode, node.expression);
31311
+ },
31312
+ _a[239 /* IfStatement */] = function forEachChildInIfStatement(node, cbNode, _cbNodes) {
31313
+ return visitNode(cbNode, node.expression) ||
31314
+ visitNode(cbNode, node.thenStatement) ||
31315
+ visitNode(cbNode, node.elseStatement);
31316
+ },
31317
+ _a[240 /* DoStatement */] = function forEachChildInDoStatement(node, cbNode, _cbNodes) {
31318
+ return visitNode(cbNode, node.statement) ||
31319
+ visitNode(cbNode, node.expression);
31320
+ },
31321
+ _a[241 /* WhileStatement */] = function forEachChildInWhileStatement(node, cbNode, _cbNodes) {
31322
+ return visitNode(cbNode, node.expression) ||
31323
+ visitNode(cbNode, node.statement);
31324
+ },
31325
+ _a[242 /* ForStatement */] = function forEachChildInForStatement(node, cbNode, _cbNodes) {
31326
+ return visitNode(cbNode, node.initializer) ||
31327
+ visitNode(cbNode, node.condition) ||
31328
+ visitNode(cbNode, node.incrementor) ||
31329
+ visitNode(cbNode, node.statement);
31330
+ },
31331
+ _a[243 /* ForInStatement */] = function forEachChildInForInStatement(node, cbNode, _cbNodes) {
31332
+ return visitNode(cbNode, node.initializer) ||
31333
+ visitNode(cbNode, node.expression) ||
31334
+ visitNode(cbNode, node.statement);
31335
+ },
31336
+ _a[244 /* ForOfStatement */] = function forEachChildInForOfStatement(node, cbNode, _cbNodes) {
31337
+ return visitNode(cbNode, node.awaitModifier) ||
31338
+ visitNode(cbNode, node.initializer) ||
31339
+ visitNode(cbNode, node.expression) ||
31340
+ visitNode(cbNode, node.statement);
31341
+ },
31342
+ _a[245 /* ContinueStatement */] = forEachChildInContinueOrBreakStatement,
31343
+ _a[246 /* BreakStatement */] = forEachChildInContinueOrBreakStatement,
31344
+ _a[247 /* ReturnStatement */] = function forEachChildInReturnStatement(node, cbNode, _cbNodes) {
31345
+ return visitNode(cbNode, node.expression);
31346
+ },
31347
+ _a[248 /* WithStatement */] = function forEachChildInWithStatement(node, cbNode, _cbNodes) {
31348
+ return visitNode(cbNode, node.expression) ||
31349
+ visitNode(cbNode, node.statement);
31350
+ },
31351
+ _a[249 /* SwitchStatement */] = function forEachChildInSwitchStatement(node, cbNode, _cbNodes) {
31352
+ return visitNode(cbNode, node.expression) ||
31353
+ visitNode(cbNode, node.caseBlock);
31354
+ },
31355
+ _a[263 /* CaseBlock */] = function forEachChildInCaseBlock(node, cbNode, cbNodes) {
31356
+ return visitNodes(cbNode, cbNodes, node.clauses);
31357
+ },
31358
+ _a[289 /* CaseClause */] = function forEachChildInCaseClause(node, cbNode, cbNodes) {
31359
+ return visitNode(cbNode, node.expression) ||
31360
+ visitNodes(cbNode, cbNodes, node.statements);
31361
+ },
31362
+ _a[290 /* DefaultClause */] = function forEachChildInDefaultClause(node, cbNode, cbNodes) {
31363
+ return visitNodes(cbNode, cbNodes, node.statements);
31364
+ },
31365
+ _a[250 /* LabeledStatement */] = function forEachChildInLabeledStatement(node, cbNode, _cbNodes) {
31366
+ return visitNode(cbNode, node.label) ||
31367
+ visitNode(cbNode, node.statement);
31368
+ },
31369
+ _a[251 /* ThrowStatement */] = function forEachChildInThrowStatement(node, cbNode, _cbNodes) {
31370
+ return visitNode(cbNode, node.expression);
31371
+ },
31372
+ _a[252 /* TryStatement */] = function forEachChildInTryStatement(node, cbNode, _cbNodes) {
31373
+ return visitNode(cbNode, node.tryBlock) ||
31374
+ visitNode(cbNode, node.catchClause) ||
31375
+ visitNode(cbNode, node.finallyBlock);
31376
+ },
31377
+ _a[292 /* CatchClause */] = function forEachChildInCatchClause(node, cbNode, _cbNodes) {
31378
+ return visitNode(cbNode, node.variableDeclaration) ||
31379
+ visitNode(cbNode, node.block);
31380
+ },
31381
+ _a[165 /* Decorator */] = function forEachChildInDecorator(node, cbNode, _cbNodes) {
31382
+ return visitNode(cbNode, node.expression);
31383
+ },
31384
+ _a[257 /* ClassDeclaration */] = forEachChildInClassDeclarationOrExpression,
31385
+ _a[226 /* ClassExpression */] = forEachChildInClassDeclarationOrExpression,
31386
+ _a[258 /* InterfaceDeclaration */] = function forEachChildInInterfaceDeclaration(node, cbNode, cbNodes) {
31387
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31388
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31389
+ visitNode(cbNode, node.name) ||
31390
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31391
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31392
+ visitNodes(cbNode, cbNodes, node.members);
31393
+ },
31394
+ _a[259 /* TypeAliasDeclaration */] = function forEachChildInTypeAliasDeclaration(node, cbNode, cbNodes) {
31395
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31396
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31397
+ visitNode(cbNode, node.name) ||
31398
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31399
+ visitNode(cbNode, node.type);
31400
+ },
31401
+ _a[260 /* EnumDeclaration */] = function forEachChildInEnumDeclaration(node, cbNode, cbNodes) {
31402
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31403
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31404
+ visitNode(cbNode, node.name) ||
31405
+ visitNodes(cbNode, cbNodes, node.members);
31406
+ },
31407
+ _a[299 /* EnumMember */] = function forEachChildInEnumMember(node, cbNode, _cbNodes) {
31408
+ return visitNode(cbNode, node.name) ||
31409
+ visitNode(cbNode, node.initializer);
31410
+ },
31411
+ _a[261 /* ModuleDeclaration */] = function forEachChildInModuleDeclaration(node, cbNode, cbNodes) {
31412
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31413
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31414
+ visitNode(cbNode, node.name) ||
31415
+ visitNode(cbNode, node.body);
31416
+ },
31417
+ _a[265 /* ImportEqualsDeclaration */] = function forEachChildInImportEqualsDeclaration(node, cbNode, cbNodes) {
31418
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31419
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31420
+ visitNode(cbNode, node.name) ||
31421
+ visitNode(cbNode, node.moduleReference);
31422
+ },
31423
+ _a[266 /* ImportDeclaration */] = function forEachChildInImportDeclaration(node, cbNode, cbNodes) {
31424
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31425
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31426
+ visitNode(cbNode, node.importClause) ||
31427
+ visitNode(cbNode, node.moduleSpecifier) ||
31428
+ visitNode(cbNode, node.assertClause);
31429
+ },
31430
+ _a[267 /* ImportClause */] = function forEachChildInImportClause(node, cbNode, _cbNodes) {
31431
+ return visitNode(cbNode, node.name) ||
31432
+ visitNode(cbNode, node.namedBindings);
31433
+ },
31434
+ _a[293 /* AssertClause */] = function forEachChildInAssertClause(node, cbNode, cbNodes) {
31435
+ return visitNodes(cbNode, cbNodes, node.elements);
31436
+ },
31437
+ _a[294 /* AssertEntry */] = function forEachChildInAssertEntry(node, cbNode, _cbNodes) {
31438
+ return visitNode(cbNode, node.name) ||
31439
+ visitNode(cbNode, node.value);
31440
+ },
31441
+ _a[264 /* NamespaceExportDeclaration */] = function forEachChildInNamespaceExportDeclaration(node, cbNode, cbNodes) {
31442
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31443
+ visitNode(cbNode, node.name);
31444
+ },
31445
+ _a[268 /* NamespaceImport */] = function forEachChildInNamespaceImport(node, cbNode, _cbNodes) {
31446
+ return visitNode(cbNode, node.name);
31447
+ },
31448
+ _a[274 /* NamespaceExport */] = function forEachChildInNamespaceExport(node, cbNode, _cbNodes) {
31449
+ return visitNode(cbNode, node.name);
31450
+ },
31451
+ _a[269 /* NamedImports */] = forEachChildInNamedImportsOrExports,
31452
+ _a[273 /* NamedExports */] = forEachChildInNamedImportsOrExports,
31453
+ _a[272 /* ExportDeclaration */] = function forEachChildInExportDeclaration(node, cbNode, cbNodes) {
31454
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31455
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31456
+ visitNode(cbNode, node.exportClause) ||
31457
+ visitNode(cbNode, node.moduleSpecifier) ||
31458
+ visitNode(cbNode, node.assertClause);
31459
+ },
31460
+ _a[270 /* ImportSpecifier */] = forEachChildInImportOrExportSpecifier,
31461
+ _a[275 /* ExportSpecifier */] = forEachChildInImportOrExportSpecifier,
31462
+ _a[271 /* ExportAssignment */] = function forEachChildInExportAssignment(node, cbNode, cbNodes) {
31463
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31464
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31465
+ visitNode(cbNode, node.expression);
31466
+ },
31467
+ _a[223 /* TemplateExpression */] = function forEachChildInTemplateExpression(node, cbNode, cbNodes) {
31468
+ return visitNode(cbNode, node.head) ||
31469
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31470
+ },
31471
+ _a[233 /* TemplateSpan */] = function forEachChildInTemplateSpan(node, cbNode, _cbNodes) {
31472
+ return visitNode(cbNode, node.expression) ||
31473
+ visitNode(cbNode, node.literal);
31474
+ },
31475
+ _a[198 /* TemplateLiteralType */] = function forEachChildInTemplateLiteralType(node, cbNode, cbNodes) {
31476
+ return visitNode(cbNode, node.head) ||
31477
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31478
+ },
31479
+ _a[199 /* TemplateLiteralTypeSpan */] = function forEachChildInTemplateLiteralTypeSpan(node, cbNode, _cbNodes) {
31480
+ return visitNode(cbNode, node.type) ||
31481
+ visitNode(cbNode, node.literal);
31482
+ },
31483
+ _a[162 /* ComputedPropertyName */] = function forEachChildInComputedPropertyName(node, cbNode, _cbNodes) {
31484
+ return visitNode(cbNode, node.expression);
31485
+ },
31486
+ _a[291 /* HeritageClause */] = function forEachChildInHeritageClause(node, cbNode, cbNodes) {
31487
+ return visitNodes(cbNode, cbNodes, node.types);
31488
+ },
31489
+ _a[228 /* ExpressionWithTypeArguments */] = function forEachChildInExpressionWithTypeArguments(node, cbNode, cbNodes) {
31490
+ return visitNode(cbNode, node.expression) ||
31491
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31492
+ },
31493
+ _a[277 /* ExternalModuleReference */] = function forEachChildInExternalModuleReference(node, cbNode, _cbNodes) {
31494
+ return visitNode(cbNode, node.expression);
31495
+ },
31496
+ _a[276 /* MissingDeclaration */] = function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
31497
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31498
+ visitNodes(cbNode, cbNodes, node.modifiers);
31499
+ },
31500
+ _a[351 /* CommaListExpression */] = function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
31501
+ return visitNodes(cbNode, cbNodes, node.elements);
31502
+ },
31503
+ _a[278 /* JsxElement */] = function forEachChildInJsxElement(node, cbNode, cbNodes) {
31504
+ return visitNode(cbNode, node.openingElement) ||
31505
+ visitNodes(cbNode, cbNodes, node.children) ||
31506
+ visitNode(cbNode, node.closingElement);
31507
+ },
31508
+ _a[282 /* JsxFragment */] = function forEachChildInJsxFragment(node, cbNode, cbNodes) {
31509
+ return visitNode(cbNode, node.openingFragment) ||
31510
+ visitNodes(cbNode, cbNodes, node.children) ||
31511
+ visitNode(cbNode, node.closingFragment);
31512
+ },
31513
+ _a[279 /* JsxSelfClosingElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31514
+ _a[280 /* JsxOpeningElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31515
+ _a[286 /* JsxAttributes */] = function forEachChildInJsxAttributes(node, cbNode, cbNodes) {
31516
+ return visitNodes(cbNode, cbNodes, node.properties);
31517
+ },
31518
+ _a[285 /* JsxAttribute */] = function forEachChildInJsxAttribute(node, cbNode, _cbNodes) {
31519
+ return visitNode(cbNode, node.name) ||
31520
+ visitNode(cbNode, node.initializer);
31521
+ },
31522
+ _a[287 /* JsxSpreadAttribute */] = function forEachChildInJsxSpreadAttribute(node, cbNode, _cbNodes) {
31523
+ return visitNode(cbNode, node.expression);
31524
+ },
31525
+ _a[288 /* JsxExpression */] = function forEachChildInJsxExpression(node, cbNode, _cbNodes) {
31526
+ return visitNode(cbNode, node.dotDotDotToken) ||
31527
+ visitNode(cbNode, node.expression);
31528
+ },
31529
+ _a[281 /* JsxClosingElement */] = function forEachChildInJsxClosingElement(node, cbNode, _cbNodes) {
31530
+ return visitNode(cbNode, node.tagName);
31531
+ },
31532
+ _a[185 /* OptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31533
+ _a[186 /* RestType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31534
+ _a[309 /* JSDocTypeExpression */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31535
+ _a[315 /* JSDocNonNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31536
+ _a[314 /* JSDocNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31537
+ _a[316 /* JSDocOptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31538
+ _a[318 /* JSDocVariadicType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31539
+ _a[317 /* JSDocFunctionType */] = function forEachChildInJSDocFunctionType(node, cbNode, cbNodes) {
31540
+ return visitNodes(cbNode, cbNodes, node.parameters) ||
31541
+ visitNode(cbNode, node.type);
31542
+ },
31543
+ _a[320 /* JSDoc */] = function forEachChildInJSDoc(node, cbNode, cbNodes) {
31544
+ return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31545
+ || visitNodes(cbNode, cbNodes, node.tags);
31546
+ },
31547
+ _a[346 /* JSDocSeeTag */] = function forEachChildInJSDocSeeTag(node, cbNode, cbNodes) {
31548
+ return visitNode(cbNode, node.tagName) ||
31549
+ visitNode(cbNode, node.name) ||
31550
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31551
+ },
31552
+ _a[310 /* JSDocNameReference */] = function forEachChildInJSDocNameReference(node, cbNode, _cbNodes) {
31553
+ return visitNode(cbNode, node.name);
31554
+ },
31555
+ _a[311 /* JSDocMemberName */] = function forEachChildInJSDocMemberName(node, cbNode, _cbNodes) {
31556
+ return visitNode(cbNode, node.left) ||
31557
+ visitNode(cbNode, node.right);
31558
+ },
31559
+ _a[340 /* JSDocParameterTag */] = forEachChildInJSDocParameterOrPropertyTag,
31560
+ _a[347 /* JSDocPropertyTag */] = forEachChildInJSDocParameterOrPropertyTag,
31561
+ _a[330 /* JSDocAuthorTag */] = function forEachChildInJSDocAuthorTag(node, cbNode, cbNodes) {
31562
+ return visitNode(cbNode, node.tagName) ||
31563
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31564
+ },
31565
+ _a[329 /* JSDocImplementsTag */] = function forEachChildInJSDocImplementsTag(node, cbNode, cbNodes) {
31566
+ return visitNode(cbNode, node.tagName) ||
31567
+ visitNode(cbNode, node.class) ||
31568
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31569
+ },
31570
+ _a[328 /* JSDocAugmentsTag */] = function forEachChildInJSDocAugmentsTag(node, cbNode, cbNodes) {
31571
+ return visitNode(cbNode, node.tagName) ||
31572
+ visitNode(cbNode, node.class) ||
31573
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31574
+ },
31575
+ _a[344 /* JSDocTemplateTag */] = function forEachChildInJSDocTemplateTag(node, cbNode, cbNodes) {
31576
+ return visitNode(cbNode, node.tagName) ||
31577
+ visitNode(cbNode, node.constraint) ||
31578
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31579
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31580
+ },
31581
+ _a[345 /* JSDocTypedefTag */] = function forEachChildInJSDocTypedefTag(node, cbNode, cbNodes) {
31582
+ return visitNode(cbNode, node.tagName) ||
31583
+ (node.typeExpression &&
31584
+ node.typeExpression.kind === 309 /* JSDocTypeExpression */
31585
+ ? visitNode(cbNode, node.typeExpression) ||
31586
+ visitNode(cbNode, node.fullName) ||
31587
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31588
+ : visitNode(cbNode, node.fullName) ||
31589
+ visitNode(cbNode, node.typeExpression) ||
31590
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31591
+ },
31592
+ _a[338 /* JSDocCallbackTag */] = function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) {
31593
+ return visitNode(cbNode, node.tagName) ||
31594
+ visitNode(cbNode, node.fullName) ||
31595
+ visitNode(cbNode, node.typeExpression) ||
31596
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31597
+ },
31598
+ _a[341 /* JSDocReturnTag */] = forEachChildInJSDocReturnTag,
31599
+ _a[343 /* JSDocTypeTag */] = forEachChildInJSDocReturnTag,
31600
+ _a[342 /* JSDocThisTag */] = forEachChildInJSDocReturnTag,
31601
+ _a[339 /* JSDocEnumTag */] = forEachChildInJSDocReturnTag,
31602
+ _a[323 /* JSDocSignature */] = function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
31603
+ return ts.forEach(node.typeParameters, cbNode) ||
31604
+ ts.forEach(node.parameters, cbNode) ||
31605
+ visitNode(cbNode, node.type);
31606
+ },
31607
+ _a[324 /* JSDocLink */] = forEachChildInJSDocLinkCodeOrPlain,
31608
+ _a[325 /* JSDocLinkCode */] = forEachChildInJSDocLinkCodeOrPlain,
31609
+ _a[326 /* JSDocLinkPlain */] = forEachChildInJSDocLinkCodeOrPlain,
31610
+ _a[322 /* JSDocTypeLiteral */] = function forEachChildInJSDocTypeLiteral(node, cbNode, _cbNodes) {
31611
+ return ts.forEach(node.jsDocPropertyTags, cbNode);
31612
+ },
31613
+ _a[327 /* JSDocTag */] = forEachChildInJSDocTag,
31614
+ _a[332 /* JSDocClassTag */] = forEachChildInJSDocTag,
31615
+ _a[333 /* JSDocPublicTag */] = forEachChildInJSDocTag,
31616
+ _a[334 /* JSDocPrivateTag */] = forEachChildInJSDocTag,
31617
+ _a[335 /* JSDocProtectedTag */] = forEachChildInJSDocTag,
31618
+ _a[336 /* JSDocReadonlyTag */] = forEachChildInJSDocTag,
31619
+ _a[331 /* JSDocDeprecatedTag */] = forEachChildInJSDocTag,
31620
+ _a[350 /* PartiallyEmittedExpression */] = forEachChildInPartiallyEmittedExpression,
31621
+ _a);
31622
+ // shared
31623
+ function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
31624
+ return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31625
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31626
+ visitNode(cbNode, node.type);
31627
+ }
31628
+ ;
31629
+ function forEachChildInUnionOrIntersectionType(node, cbNode, cbNodes) {
31630
+ return visitNodes(cbNode, cbNodes, node.types);
31631
+ }
31632
+ function forEachChildInParenthesizedTypeOrTypeOperator(node, cbNode, _cbNodes) {
31633
+ return visitNode(cbNode, node.type);
31634
+ }
31635
+ function forEachChildInObjectOrArrayBindingPattern(node, cbNode, cbNodes) {
31636
+ return visitNodes(cbNode, cbNodes, node.elements);
31637
+ }
31638
+ function forEachChildInCallOrNewExpression(node, cbNode, cbNodes) {
31639
+ return visitNode(cbNode, node.expression) ||
31640
+ // TODO: should we separate these branches out?
31641
+ visitNode(cbNode, node.questionDotToken) ||
31642
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31643
+ visitNodes(cbNode, cbNodes, node.arguments);
31644
+ }
31645
+ function forEachChildInBlock(node, cbNode, cbNodes) {
31646
+ return visitNodes(cbNode, cbNodes, node.statements);
31647
+ }
31648
+ function forEachChildInContinueOrBreakStatement(node, cbNode, _cbNodes) {
31649
+ return visitNode(cbNode, node.label);
31650
+ }
31651
+ function forEachChildInClassDeclarationOrExpression(node, cbNode, cbNodes) {
31652
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31653
+ visitNode(cbNode, node.name) ||
31654
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31655
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31656
+ visitNodes(cbNode, cbNodes, node.members);
31657
+ }
31658
+ function forEachChildInNamedImportsOrExports(node, cbNode, cbNodes) {
31659
+ return visitNodes(cbNode, cbNodes, node.elements);
31660
+ }
31661
+ function forEachChildInImportOrExportSpecifier(node, cbNode, _cbNodes) {
31662
+ return visitNode(cbNode, node.propertyName) ||
31663
+ visitNode(cbNode, node.name);
31664
+ }
31665
+ function forEachChildInJsxOpeningOrSelfClosingElement(node, cbNode, cbNodes) {
31666
+ return visitNode(cbNode, node.tagName) ||
31667
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31668
+ visitNode(cbNode, node.attributes);
31669
+ }
31670
+ function forEachChildInOptionalRestOrJSDocParameterModifier(node, cbNode, _cbNodes) {
31671
+ return visitNode(cbNode, node.type);
31672
+ }
31673
+ function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) {
31674
+ return visitNode(cbNode, node.tagName) ||
31675
+ (node.isNameFirst
31676
+ ? visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression)
31677
+ : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name)) ||
31678
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31679
+ }
31680
+ function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) {
31681
+ return visitNode(cbNode, node.tagName) ||
31682
+ visitNode(cbNode, node.typeExpression) ||
31683
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31684
+ }
31685
+ function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) {
31686
+ return visitNode(cbNode, node.name);
31687
+ }
31688
+ function forEachChildInJSDocTag(node, cbNode, cbNodes) {
31689
+ return visitNode(cbNode, node.tagName)
31690
+ || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31691
+ }
31692
+ function forEachChildInPartiallyEmittedExpression(node, cbNode, _cbNodes) {
31693
+ return visitNode(cbNode, node.expression);
31694
+ }
30984
31695
  /**
30985
31696
  * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes
30986
31697
  * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise,
@@ -30995,562 +31706,11 @@ var ts;
30995
31706
  * that they appear in the source code. The language service depends on this property to locate nodes by position.
30996
31707
  */
30997
31708
  function forEachChild(node, cbNode, cbNodes) {
30998
- if (!node || node.kind <= 160 /* LastToken */) {
31709
+ if (node === undefined || node.kind <= 160 /* LastToken */) {
30999
31710
  return;
31000
31711
  }
31001
- switch (node.kind) {
31002
- case 161 /* QualifiedName */:
31003
- return visitNode(cbNode, node.left) ||
31004
- visitNode(cbNode, node.right);
31005
- case 163 /* TypeParameter */:
31006
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31007
- visitNode(cbNode, node.name) ||
31008
- visitNode(cbNode, node.constraint) ||
31009
- visitNode(cbNode, node.default) ||
31010
- visitNode(cbNode, node.expression);
31011
- case 297 /* ShorthandPropertyAssignment */:
31012
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31013
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31014
- visitNode(cbNode, node.name) ||
31015
- visitNode(cbNode, node.questionToken) ||
31016
- visitNode(cbNode, node.exclamationToken) ||
31017
- visitNode(cbNode, node.equalsToken) ||
31018
- visitNode(cbNode, node.objectAssignmentInitializer);
31019
- case 298 /* SpreadAssignment */:
31020
- return visitNode(cbNode, node.expression);
31021
- case 164 /* Parameter */:
31022
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31023
- visitNode(cbNode, node.dotDotDotToken) ||
31024
- visitNode(cbNode, node.name) ||
31025
- visitNode(cbNode, node.questionToken) ||
31026
- visitNode(cbNode, node.type) ||
31027
- visitNode(cbNode, node.initializer);
31028
- case 167 /* PropertyDeclaration */:
31029
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31030
- visitNode(cbNode, node.name) ||
31031
- visitNode(cbNode, node.questionToken) ||
31032
- visitNode(cbNode, node.exclamationToken) ||
31033
- visitNode(cbNode, node.type) ||
31034
- visitNode(cbNode, node.initializer);
31035
- case 166 /* PropertySignature */:
31036
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31037
- visitNode(cbNode, node.name) ||
31038
- visitNode(cbNode, node.questionToken) ||
31039
- visitNode(cbNode, node.type) ||
31040
- visitNode(cbNode, node.initializer);
31041
- case 296 /* PropertyAssignment */:
31042
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31043
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31044
- visitNode(cbNode, node.name) ||
31045
- visitNode(cbNode, node.questionToken) ||
31046
- visitNode(cbNode, node.exclamationToken) ||
31047
- visitNode(cbNode, node.initializer);
31048
- case 254 /* VariableDeclaration */:
31049
- return visitNode(cbNode, node.name) ||
31050
- visitNode(cbNode, node.exclamationToken) ||
31051
- visitNode(cbNode, node.type) ||
31052
- visitNode(cbNode, node.initializer);
31053
- case 203 /* BindingElement */:
31054
- return visitNode(cbNode, node.dotDotDotToken) ||
31055
- visitNode(cbNode, node.propertyName) ||
31056
- visitNode(cbNode, node.name) ||
31057
- visitNode(cbNode, node.initializer);
31058
- case 176 /* IndexSignature */:
31059
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31060
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31061
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31062
- visitNodes(cbNode, cbNodes, node.parameters) ||
31063
- visitNode(cbNode, node.type);
31064
- case 180 /* ConstructorType */:
31065
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31066
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31067
- visitNodes(cbNode, cbNodes, node.parameters) ||
31068
- visitNode(cbNode, node.type);
31069
- case 179 /* FunctionType */:
31070
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31071
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31072
- visitNodes(cbNode, cbNodes, node.parameters) ||
31073
- visitNode(cbNode, node.type);
31074
- case 174 /* CallSignature */:
31075
- case 175 /* ConstructSignature */:
31076
- return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31077
- visitNodes(cbNode, cbNodes, node.parameters) ||
31078
- visitNode(cbNode, node.type);
31079
- case 169 /* MethodDeclaration */:
31080
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31081
- visitNode(cbNode, node.asteriskToken) ||
31082
- visitNode(cbNode, node.name) ||
31083
- visitNode(cbNode, node.questionToken) ||
31084
- visitNode(cbNode, node.exclamationToken) ||
31085
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31086
- visitNodes(cbNode, cbNodes, node.parameters) ||
31087
- visitNode(cbNode, node.type) ||
31088
- visitNode(cbNode, node.body);
31089
- case 168 /* MethodSignature */:
31090
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31091
- visitNode(cbNode, node.name) ||
31092
- visitNode(cbNode, node.questionToken) ||
31093
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31094
- visitNodes(cbNode, cbNodes, node.parameters) ||
31095
- visitNode(cbNode, node.type);
31096
- case 171 /* Constructor */:
31097
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31098
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31099
- visitNode(cbNode, node.name) ||
31100
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31101
- visitNodes(cbNode, cbNodes, node.parameters) ||
31102
- visitNode(cbNode, node.type) ||
31103
- visitNode(cbNode, node.body);
31104
- case 172 /* GetAccessor */:
31105
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31106
- visitNode(cbNode, node.name) ||
31107
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31108
- visitNodes(cbNode, cbNodes, node.parameters) ||
31109
- visitNode(cbNode, node.type) ||
31110
- visitNode(cbNode, node.body);
31111
- case 173 /* SetAccessor */:
31112
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31113
- visitNode(cbNode, node.name) ||
31114
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31115
- visitNodes(cbNode, cbNodes, node.parameters) ||
31116
- visitNode(cbNode, node.type) ||
31117
- visitNode(cbNode, node.body);
31118
- case 256 /* FunctionDeclaration */:
31119
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31120
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31121
- visitNode(cbNode, node.asteriskToken) ||
31122
- visitNode(cbNode, node.name) ||
31123
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31124
- visitNodes(cbNode, cbNodes, node.parameters) ||
31125
- visitNode(cbNode, node.type) ||
31126
- visitNode(cbNode, node.body);
31127
- case 213 /* FunctionExpression */:
31128
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31129
- visitNode(cbNode, node.asteriskToken) ||
31130
- visitNode(cbNode, node.name) ||
31131
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31132
- visitNodes(cbNode, cbNodes, node.parameters) ||
31133
- visitNode(cbNode, node.type) ||
31134
- visitNode(cbNode, node.body);
31135
- case 214 /* ArrowFunction */:
31136
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31137
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31138
- visitNodes(cbNode, cbNodes, node.parameters) ||
31139
- visitNode(cbNode, node.type) ||
31140
- visitNode(cbNode, node.equalsGreaterThanToken) ||
31141
- visitNode(cbNode, node.body);
31142
- case 170 /* ClassStaticBlockDeclaration */:
31143
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31144
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31145
- visitNode(cbNode, node.body);
31146
- case 178 /* TypeReference */:
31147
- return visitNode(cbNode, node.typeName) ||
31148
- visitNodes(cbNode, cbNodes, node.typeArguments);
31149
- case 177 /* TypePredicate */:
31150
- return visitNode(cbNode, node.assertsModifier) ||
31151
- visitNode(cbNode, node.parameterName) ||
31152
- visitNode(cbNode, node.type);
31153
- case 181 /* TypeQuery */:
31154
- return visitNode(cbNode, node.exprName) ||
31155
- visitNodes(cbNode, cbNodes, node.typeArguments);
31156
- case 182 /* TypeLiteral */:
31157
- return visitNodes(cbNode, cbNodes, node.members);
31158
- case 183 /* ArrayType */:
31159
- return visitNode(cbNode, node.elementType);
31160
- case 184 /* TupleType */:
31161
- return visitNodes(cbNode, cbNodes, node.elements);
31162
- case 187 /* UnionType */:
31163
- case 188 /* IntersectionType */:
31164
- return visitNodes(cbNode, cbNodes, node.types);
31165
- case 189 /* ConditionalType */:
31166
- return visitNode(cbNode, node.checkType) ||
31167
- visitNode(cbNode, node.extendsType) ||
31168
- visitNode(cbNode, node.trueType) ||
31169
- visitNode(cbNode, node.falseType);
31170
- case 190 /* InferType */:
31171
- return visitNode(cbNode, node.typeParameter);
31172
- case 200 /* ImportType */:
31173
- return visitNode(cbNode, node.argument) ||
31174
- visitNode(cbNode, node.assertions) ||
31175
- visitNode(cbNode, node.qualifier) ||
31176
- visitNodes(cbNode, cbNodes, node.typeArguments);
31177
- case 295 /* ImportTypeAssertionContainer */:
31178
- return visitNode(cbNode, node.assertClause);
31179
- case 191 /* ParenthesizedType */:
31180
- case 193 /* TypeOperator */:
31181
- return visitNode(cbNode, node.type);
31182
- case 194 /* IndexedAccessType */:
31183
- return visitNode(cbNode, node.objectType) ||
31184
- visitNode(cbNode, node.indexType);
31185
- case 195 /* MappedType */:
31186
- return visitNode(cbNode, node.readonlyToken) ||
31187
- visitNode(cbNode, node.typeParameter) ||
31188
- visitNode(cbNode, node.nameType) ||
31189
- visitNode(cbNode, node.questionToken) ||
31190
- visitNode(cbNode, node.type) ||
31191
- visitNodes(cbNode, cbNodes, node.members);
31192
- case 196 /* LiteralType */:
31193
- return visitNode(cbNode, node.literal);
31194
- case 197 /* NamedTupleMember */:
31195
- return visitNode(cbNode, node.dotDotDotToken) ||
31196
- visitNode(cbNode, node.name) ||
31197
- visitNode(cbNode, node.questionToken) ||
31198
- visitNode(cbNode, node.type);
31199
- case 201 /* ObjectBindingPattern */:
31200
- case 202 /* ArrayBindingPattern */:
31201
- return visitNodes(cbNode, cbNodes, node.elements);
31202
- case 204 /* ArrayLiteralExpression */:
31203
- return visitNodes(cbNode, cbNodes, node.elements);
31204
- case 205 /* ObjectLiteralExpression */:
31205
- return visitNodes(cbNode, cbNodes, node.properties);
31206
- case 206 /* PropertyAccessExpression */:
31207
- return visitNode(cbNode, node.expression) ||
31208
- visitNode(cbNode, node.questionDotToken) ||
31209
- visitNode(cbNode, node.name);
31210
- case 207 /* ElementAccessExpression */:
31211
- return visitNode(cbNode, node.expression) ||
31212
- visitNode(cbNode, node.questionDotToken) ||
31213
- visitNode(cbNode, node.argumentExpression);
31214
- case 208 /* CallExpression */:
31215
- case 209 /* NewExpression */:
31216
- return visitNode(cbNode, node.expression) ||
31217
- visitNode(cbNode, node.questionDotToken) ||
31218
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31219
- visitNodes(cbNode, cbNodes, node.arguments);
31220
- case 210 /* TaggedTemplateExpression */:
31221
- return visitNode(cbNode, node.tag) ||
31222
- visitNode(cbNode, node.questionDotToken) ||
31223
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31224
- visitNode(cbNode, node.template);
31225
- case 211 /* TypeAssertionExpression */:
31226
- return visitNode(cbNode, node.type) ||
31227
- visitNode(cbNode, node.expression);
31228
- case 212 /* ParenthesizedExpression */:
31229
- return visitNode(cbNode, node.expression);
31230
- case 215 /* DeleteExpression */:
31231
- return visitNode(cbNode, node.expression);
31232
- case 216 /* TypeOfExpression */:
31233
- return visitNode(cbNode, node.expression);
31234
- case 217 /* VoidExpression */:
31235
- return visitNode(cbNode, node.expression);
31236
- case 219 /* PrefixUnaryExpression */:
31237
- return visitNode(cbNode, node.operand);
31238
- case 224 /* YieldExpression */:
31239
- return visitNode(cbNode, node.asteriskToken) ||
31240
- visitNode(cbNode, node.expression);
31241
- case 218 /* AwaitExpression */:
31242
- return visitNode(cbNode, node.expression);
31243
- case 220 /* PostfixUnaryExpression */:
31244
- return visitNode(cbNode, node.operand);
31245
- case 221 /* BinaryExpression */:
31246
- return visitNode(cbNode, node.left) ||
31247
- visitNode(cbNode, node.operatorToken) ||
31248
- visitNode(cbNode, node.right);
31249
- case 229 /* AsExpression */:
31250
- return visitNode(cbNode, node.expression) ||
31251
- visitNode(cbNode, node.type);
31252
- case 230 /* NonNullExpression */:
31253
- return visitNode(cbNode, node.expression);
31254
- case 231 /* MetaProperty */:
31255
- return visitNode(cbNode, node.name);
31256
- case 222 /* ConditionalExpression */:
31257
- return visitNode(cbNode, node.condition) ||
31258
- visitNode(cbNode, node.questionToken) ||
31259
- visitNode(cbNode, node.whenTrue) ||
31260
- visitNode(cbNode, node.colonToken) ||
31261
- visitNode(cbNode, node.whenFalse);
31262
- case 225 /* SpreadElement */:
31263
- return visitNode(cbNode, node.expression);
31264
- case 235 /* Block */:
31265
- case 262 /* ModuleBlock */:
31266
- return visitNodes(cbNode, cbNodes, node.statements);
31267
- case 305 /* SourceFile */:
31268
- return visitNodes(cbNode, cbNodes, node.statements) ||
31269
- visitNode(cbNode, node.endOfFileToken);
31270
- case 237 /* VariableStatement */:
31271
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31272
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31273
- visitNode(cbNode, node.declarationList);
31274
- case 255 /* VariableDeclarationList */:
31275
- return visitNodes(cbNode, cbNodes, node.declarations);
31276
- case 238 /* ExpressionStatement */:
31277
- return visitNode(cbNode, node.expression);
31278
- case 239 /* IfStatement */:
31279
- return visitNode(cbNode, node.expression) ||
31280
- visitNode(cbNode, node.thenStatement) ||
31281
- visitNode(cbNode, node.elseStatement);
31282
- case 240 /* DoStatement */:
31283
- return visitNode(cbNode, node.statement) ||
31284
- visitNode(cbNode, node.expression);
31285
- case 241 /* WhileStatement */:
31286
- return visitNode(cbNode, node.expression) ||
31287
- visitNode(cbNode, node.statement);
31288
- case 242 /* ForStatement */:
31289
- return visitNode(cbNode, node.initializer) ||
31290
- visitNode(cbNode, node.condition) ||
31291
- visitNode(cbNode, node.incrementor) ||
31292
- visitNode(cbNode, node.statement);
31293
- case 243 /* ForInStatement */:
31294
- return visitNode(cbNode, node.initializer) ||
31295
- visitNode(cbNode, node.expression) ||
31296
- visitNode(cbNode, node.statement);
31297
- case 244 /* ForOfStatement */:
31298
- return visitNode(cbNode, node.awaitModifier) ||
31299
- visitNode(cbNode, node.initializer) ||
31300
- visitNode(cbNode, node.expression) ||
31301
- visitNode(cbNode, node.statement);
31302
- case 245 /* ContinueStatement */:
31303
- case 246 /* BreakStatement */:
31304
- return visitNode(cbNode, node.label);
31305
- case 247 /* ReturnStatement */:
31306
- return visitNode(cbNode, node.expression);
31307
- case 248 /* WithStatement */:
31308
- return visitNode(cbNode, node.expression) ||
31309
- visitNode(cbNode, node.statement);
31310
- case 249 /* SwitchStatement */:
31311
- return visitNode(cbNode, node.expression) ||
31312
- visitNode(cbNode, node.caseBlock);
31313
- case 263 /* CaseBlock */:
31314
- return visitNodes(cbNode, cbNodes, node.clauses);
31315
- case 289 /* CaseClause */:
31316
- return visitNode(cbNode, node.expression) ||
31317
- visitNodes(cbNode, cbNodes, node.statements);
31318
- case 290 /* DefaultClause */:
31319
- return visitNodes(cbNode, cbNodes, node.statements);
31320
- case 250 /* LabeledStatement */:
31321
- return visitNode(cbNode, node.label) ||
31322
- visitNode(cbNode, node.statement);
31323
- case 251 /* ThrowStatement */:
31324
- return visitNode(cbNode, node.expression);
31325
- case 252 /* TryStatement */:
31326
- return visitNode(cbNode, node.tryBlock) ||
31327
- visitNode(cbNode, node.catchClause) ||
31328
- visitNode(cbNode, node.finallyBlock);
31329
- case 292 /* CatchClause */:
31330
- return visitNode(cbNode, node.variableDeclaration) ||
31331
- visitNode(cbNode, node.block);
31332
- case 165 /* Decorator */:
31333
- return visitNode(cbNode, node.expression);
31334
- case 257 /* ClassDeclaration */:
31335
- case 226 /* ClassExpression */:
31336
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31337
- visitNode(cbNode, node.name) ||
31338
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31339
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31340
- visitNodes(cbNode, cbNodes, node.members);
31341
- case 258 /* InterfaceDeclaration */:
31342
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31343
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31344
- visitNode(cbNode, node.name) ||
31345
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31346
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31347
- visitNodes(cbNode, cbNodes, node.members);
31348
- case 259 /* TypeAliasDeclaration */:
31349
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31350
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31351
- visitNode(cbNode, node.name) ||
31352
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31353
- visitNode(cbNode, node.type);
31354
- case 260 /* EnumDeclaration */:
31355
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31356
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31357
- visitNode(cbNode, node.name) ||
31358
- visitNodes(cbNode, cbNodes, node.members);
31359
- case 299 /* EnumMember */:
31360
- return visitNode(cbNode, node.name) ||
31361
- visitNode(cbNode, node.initializer);
31362
- case 261 /* ModuleDeclaration */:
31363
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31364
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31365
- visitNode(cbNode, node.name) ||
31366
- visitNode(cbNode, node.body);
31367
- case 265 /* ImportEqualsDeclaration */:
31368
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31369
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31370
- visitNode(cbNode, node.name) ||
31371
- visitNode(cbNode, node.moduleReference);
31372
- case 266 /* ImportDeclaration */:
31373
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31374
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31375
- visitNode(cbNode, node.importClause) ||
31376
- visitNode(cbNode, node.moduleSpecifier) ||
31377
- visitNode(cbNode, node.assertClause);
31378
- case 267 /* ImportClause */:
31379
- return visitNode(cbNode, node.name) ||
31380
- visitNode(cbNode, node.namedBindings);
31381
- case 293 /* AssertClause */:
31382
- return visitNodes(cbNode, cbNodes, node.elements);
31383
- case 294 /* AssertEntry */:
31384
- return visitNode(cbNode, node.name) ||
31385
- visitNode(cbNode, node.value);
31386
- case 264 /* NamespaceExportDeclaration */:
31387
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31388
- visitNode(cbNode, node.name);
31389
- case 268 /* NamespaceImport */:
31390
- return visitNode(cbNode, node.name);
31391
- case 274 /* NamespaceExport */:
31392
- return visitNode(cbNode, node.name);
31393
- case 269 /* NamedImports */:
31394
- case 273 /* NamedExports */:
31395
- return visitNodes(cbNode, cbNodes, node.elements);
31396
- case 272 /* ExportDeclaration */:
31397
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31398
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31399
- visitNode(cbNode, node.exportClause) ||
31400
- visitNode(cbNode, node.moduleSpecifier) ||
31401
- visitNode(cbNode, node.assertClause);
31402
- case 270 /* ImportSpecifier */:
31403
- case 275 /* ExportSpecifier */:
31404
- return visitNode(cbNode, node.propertyName) ||
31405
- visitNode(cbNode, node.name);
31406
- case 271 /* ExportAssignment */:
31407
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31408
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31409
- visitNode(cbNode, node.expression);
31410
- case 223 /* TemplateExpression */:
31411
- return visitNode(cbNode, node.head) ||
31412
- visitNodes(cbNode, cbNodes, node.templateSpans);
31413
- case 233 /* TemplateSpan */:
31414
- return visitNode(cbNode, node.expression) ||
31415
- visitNode(cbNode, node.literal);
31416
- case 198 /* TemplateLiteralType */:
31417
- return visitNode(cbNode, node.head) ||
31418
- visitNodes(cbNode, cbNodes, node.templateSpans);
31419
- case 199 /* TemplateLiteralTypeSpan */:
31420
- return visitNode(cbNode, node.type) ||
31421
- visitNode(cbNode, node.literal);
31422
- case 162 /* ComputedPropertyName */:
31423
- return visitNode(cbNode, node.expression);
31424
- case 291 /* HeritageClause */:
31425
- return visitNodes(cbNode, cbNodes, node.types);
31426
- case 228 /* ExpressionWithTypeArguments */:
31427
- return visitNode(cbNode, node.expression) ||
31428
- visitNodes(cbNode, cbNodes, node.typeArguments);
31429
- case 277 /* ExternalModuleReference */:
31430
- return visitNode(cbNode, node.expression);
31431
- case 276 /* MissingDeclaration */:
31432
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31433
- visitNodes(cbNode, cbNodes, node.modifiers);
31434
- case 351 /* CommaListExpression */:
31435
- return visitNodes(cbNode, cbNodes, node.elements);
31436
- case 278 /* JsxElement */:
31437
- return visitNode(cbNode, node.openingElement) ||
31438
- visitNodes(cbNode, cbNodes, node.children) ||
31439
- visitNode(cbNode, node.closingElement);
31440
- case 282 /* JsxFragment */:
31441
- return visitNode(cbNode, node.openingFragment) ||
31442
- visitNodes(cbNode, cbNodes, node.children) ||
31443
- visitNode(cbNode, node.closingFragment);
31444
- case 279 /* JsxSelfClosingElement */:
31445
- case 280 /* JsxOpeningElement */:
31446
- return visitNode(cbNode, node.tagName) ||
31447
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31448
- visitNode(cbNode, node.attributes);
31449
- case 286 /* JsxAttributes */:
31450
- return visitNodes(cbNode, cbNodes, node.properties);
31451
- case 285 /* JsxAttribute */:
31452
- return visitNode(cbNode, node.name) ||
31453
- visitNode(cbNode, node.initializer);
31454
- case 287 /* JsxSpreadAttribute */:
31455
- return visitNode(cbNode, node.expression);
31456
- case 288 /* JsxExpression */:
31457
- return visitNode(cbNode, node.dotDotDotToken) ||
31458
- visitNode(cbNode, node.expression);
31459
- case 281 /* JsxClosingElement */:
31460
- return visitNode(cbNode, node.tagName);
31461
- case 185 /* OptionalType */:
31462
- case 186 /* RestType */:
31463
- case 309 /* JSDocTypeExpression */:
31464
- case 315 /* JSDocNonNullableType */:
31465
- case 314 /* JSDocNullableType */:
31466
- case 316 /* JSDocOptionalType */:
31467
- case 318 /* JSDocVariadicType */:
31468
- return visitNode(cbNode, node.type);
31469
- case 317 /* JSDocFunctionType */:
31470
- return visitNodes(cbNode, cbNodes, node.parameters) ||
31471
- visitNode(cbNode, node.type);
31472
- case 320 /* JSDoc */:
31473
- return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31474
- || visitNodes(cbNode, cbNodes, node.tags);
31475
- case 346 /* JSDocSeeTag */:
31476
- return visitNode(cbNode, node.tagName) ||
31477
- visitNode(cbNode, node.name) ||
31478
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31479
- case 310 /* JSDocNameReference */:
31480
- return visitNode(cbNode, node.name);
31481
- case 311 /* JSDocMemberName */:
31482
- return visitNode(cbNode, node.left) ||
31483
- visitNode(cbNode, node.right);
31484
- case 340 /* JSDocParameterTag */:
31485
- case 347 /* JSDocPropertyTag */:
31486
- return visitNode(cbNode, node.tagName) ||
31487
- (node.isNameFirst
31488
- ? visitNode(cbNode, node.name) ||
31489
- visitNode(cbNode, node.typeExpression) ||
31490
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31491
- : visitNode(cbNode, node.typeExpression) ||
31492
- visitNode(cbNode, node.name) ||
31493
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31494
- case 330 /* JSDocAuthorTag */:
31495
- return visitNode(cbNode, node.tagName) ||
31496
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31497
- case 329 /* JSDocImplementsTag */:
31498
- return visitNode(cbNode, node.tagName) ||
31499
- visitNode(cbNode, node.class) ||
31500
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31501
- case 328 /* JSDocAugmentsTag */:
31502
- return visitNode(cbNode, node.tagName) ||
31503
- visitNode(cbNode, node.class) ||
31504
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31505
- case 344 /* JSDocTemplateTag */:
31506
- return visitNode(cbNode, node.tagName) ||
31507
- visitNode(cbNode, node.constraint) ||
31508
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31509
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31510
- case 345 /* JSDocTypedefTag */:
31511
- return visitNode(cbNode, node.tagName) ||
31512
- (node.typeExpression &&
31513
- node.typeExpression.kind === 309 /* JSDocTypeExpression */
31514
- ? visitNode(cbNode, node.typeExpression) ||
31515
- visitNode(cbNode, node.fullName) ||
31516
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31517
- : visitNode(cbNode, node.fullName) ||
31518
- visitNode(cbNode, node.typeExpression) ||
31519
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31520
- case 338 /* JSDocCallbackTag */:
31521
- return visitNode(cbNode, node.tagName) ||
31522
- visitNode(cbNode, node.fullName) ||
31523
- visitNode(cbNode, node.typeExpression) ||
31524
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31525
- case 341 /* JSDocReturnTag */:
31526
- case 343 /* JSDocTypeTag */:
31527
- case 342 /* JSDocThisTag */:
31528
- case 339 /* JSDocEnumTag */:
31529
- return visitNode(cbNode, node.tagName) ||
31530
- visitNode(cbNode, node.typeExpression) ||
31531
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31532
- case 323 /* JSDocSignature */:
31533
- return ts.forEach(node.typeParameters, cbNode) ||
31534
- ts.forEach(node.parameters, cbNode) ||
31535
- visitNode(cbNode, node.type);
31536
- case 324 /* JSDocLink */:
31537
- case 325 /* JSDocLinkCode */:
31538
- case 326 /* JSDocLinkPlain */:
31539
- return visitNode(cbNode, node.name);
31540
- case 322 /* JSDocTypeLiteral */:
31541
- return ts.forEach(node.jsDocPropertyTags, cbNode);
31542
- case 327 /* JSDocTag */:
31543
- case 332 /* JSDocClassTag */:
31544
- case 333 /* JSDocPublicTag */:
31545
- case 334 /* JSDocPrivateTag */:
31546
- case 335 /* JSDocProtectedTag */:
31547
- case 336 /* JSDocReadonlyTag */:
31548
- case 331 /* JSDocDeprecatedTag */:
31549
- return visitNode(cbNode, node.tagName)
31550
- || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31551
- case 350 /* PartiallyEmittedExpression */:
31552
- return visitNode(cbNode, node.expression);
31553
- }
31712
+ var fn = forEachChildTable[node.kind];
31713
+ return fn === undefined ? undefined : fn(node, cbNode, cbNodes);
31554
31714
  }
31555
31715
  ts.forEachChild = forEachChild;
31556
31716
  /** @internal */
@@ -33980,7 +34140,7 @@ var ts;
33980
34140
  var type = parseTypeAnnotation();
33981
34141
  parseTypeMemberSemicolon();
33982
34142
  var node = factory.createIndexSignature(modifiers, parameters, type);
33983
- node.decorators = decorators;
34143
+ node.illegalDecorators = decorators;
33984
34144
  return withJSDoc(finishNode(node, pos), hasJSDoc);
33985
34145
  }
33986
34146
  function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) {
@@ -36140,7 +36300,7 @@ var ts;
36140
36300
  node = factory.createPropertyAssignment(name, initializer);
36141
36301
  }
36142
36302
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
36143
- node.decorators = decorators;
36303
+ node.illegalDecorators = decorators;
36144
36304
  node.modifiers = modifiers;
36145
36305
  node.questionToken = questionToken;
36146
36306
  node.exclamationToken = exclamationToken;
@@ -36788,7 +36948,7 @@ var ts;
36788
36948
  // would follow. For recovery and error reporting purposes, return an incomplete declaration.
36789
36949
  var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected);
36790
36950
  ts.setTextRangePos(missing, pos);
36791
- missing.decorators = decorators;
36951
+ missing.illegalDecorators = decorators;
36792
36952
  missing.modifiers = modifiers;
36793
36953
  return missing;
36794
36954
  }
@@ -36931,7 +37091,7 @@ var ts;
36931
37091
  parseSemicolon();
36932
37092
  var node = factory.createVariableStatement(modifiers, declarationList);
36933
37093
  // Decorators are not allowed on a variable statement, so we keep track of them to report them in the grammar checker.
36934
- node.decorators = decorators;
37094
+ node.illegalDecorators = decorators;
36935
37095
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36936
37096
  }
36937
37097
  function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -36951,7 +37111,7 @@ var ts;
36951
37111
  var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected);
36952
37112
  setAwaitContext(savedAwaitContext);
36953
37113
  var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
36954
- node.decorators = decorators;
37114
+ node.illegalDecorators = decorators;
36955
37115
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36956
37116
  }
36957
37117
  function parseConstructorName() {
@@ -36974,7 +37134,7 @@ var ts;
36974
37134
  var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected);
36975
37135
  var node = factory.createConstructorDeclaration(modifiers, parameters, body);
36976
37136
  // Attach invalid nodes if they exist so that we can report them in the grammar checker.
36977
- node.decorators = decorators;
37137
+ node.illegalDecorators = decorators;
36978
37138
  node.typeParameters = typeParameters;
36979
37139
  node.type = type;
36980
37140
  return withJSDoc(finishNode(node, pos), hasJSDoc);
@@ -37090,7 +37250,7 @@ var ts;
37090
37250
  parseExpectedToken(124 /* StaticKeyword */);
37091
37251
  var body = parseClassStaticBlockBody();
37092
37252
  var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc);
37093
- node.decorators = decorators;
37253
+ node.illegalDecorators = decorators;
37094
37254
  node.modifiers = modifiers;
37095
37255
  return node;
37096
37256
  }
@@ -37331,7 +37491,7 @@ var ts;
37331
37491
  var heritageClauses = parseHeritageClauses();
37332
37492
  var members = parseObjectTypeMembers();
37333
37493
  var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members);
37334
- node.decorators = decorators;
37494
+ node.illegalDecorators = decorators;
37335
37495
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37336
37496
  }
37337
37497
  function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37342,7 +37502,7 @@ var ts;
37342
37502
  var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType();
37343
37503
  parseSemicolon();
37344
37504
  var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type);
37345
- node.decorators = decorators;
37505
+ node.illegalDecorators = decorators;
37346
37506
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37347
37507
  }
37348
37508
  // In an ambient declaration, the grammar only allows integer literals as initializers.
@@ -37368,7 +37528,7 @@ var ts;
37368
37528
  members = createMissingList();
37369
37529
  }
37370
37530
  var node = factory.createEnumDeclaration(modifiers, name, members);
37371
- node.decorators = decorators;
37531
+ node.illegalDecorators = decorators;
37372
37532
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37373
37533
  }
37374
37534
  function parseModuleBlock() {
@@ -37392,7 +37552,7 @@ var ts;
37392
37552
  ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag)
37393
37553
  : parseModuleBlock();
37394
37554
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37395
- node.decorators = decorators;
37555
+ node.illegalDecorators = decorators;
37396
37556
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37397
37557
  }
37398
37558
  function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37415,7 +37575,7 @@ var ts;
37415
37575
  parseSemicolon();
37416
37576
  }
37417
37577
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37418
- node.decorators = decorators;
37578
+ node.illegalDecorators = decorators;
37419
37579
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37420
37580
  }
37421
37581
  function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37455,7 +37615,7 @@ var ts;
37455
37615
  parseSemicolon();
37456
37616
  var node = factory.createNamespaceExportDeclaration(name);
37457
37617
  // NamespaceExportDeclaration nodes cannot have decorators or modifiers, so we attach them here so we can report them in the grammar checker
37458
- node.decorators = decorators;
37618
+ node.illegalDecorators = decorators;
37459
37619
  node.modifiers = modifiers;
37460
37620
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37461
37621
  }
@@ -37495,7 +37655,7 @@ var ts;
37495
37655
  }
37496
37656
  parseSemicolon();
37497
37657
  var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause);
37498
- node.decorators = decorators;
37658
+ node.illegalDecorators = decorators;
37499
37659
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37500
37660
  }
37501
37661
  function parseAssertEntry() {
@@ -37540,7 +37700,7 @@ var ts;
37540
37700
  var moduleReference = parseModuleReference();
37541
37701
  parseSemicolon();
37542
37702
  var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference);
37543
- node.decorators = decorators;
37703
+ node.illegalDecorators = decorators;
37544
37704
  var finished = withJSDoc(finishNode(node, pos), hasJSDoc);
37545
37705
  return finished;
37546
37706
  }
@@ -37730,7 +37890,7 @@ var ts;
37730
37890
  parseSemicolon();
37731
37891
  setAwaitContext(savedAwaitContext);
37732
37892
  var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause);
37733
- node.decorators = decorators;
37893
+ node.illegalDecorators = decorators;
37734
37894
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37735
37895
  }
37736
37896
  function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) {
@@ -37747,7 +37907,7 @@ var ts;
37747
37907
  parseSemicolon();
37748
37908
  setAwaitContext(savedAwaitContext);
37749
37909
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
37750
- node.decorators = decorators;
37910
+ node.illegalDecorators = decorators;
37751
37911
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37752
37912
  }
37753
37913
  var ParsingContext;
@@ -43111,10 +43271,12 @@ var ts;
43111
43271
  if (resolved) {
43112
43272
  var fileName = resolved.fileName, packageId = resolved.packageId;
43113
43273
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43274
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43114
43275
  resolvedTypeReferenceDirective = {
43115
43276
  primary: primary,
43116
- resolvedFileName: resolvedFileName,
43117
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43277
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43278
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43279
+ originalPath: pathsAreEqual ? undefined : fileName,
43118
43280
  packageId: packageId,
43119
43281
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43120
43282
  };
@@ -43899,8 +44061,10 @@ var ts;
43899
44061
  var resolvedValue = resolved_1.value;
43900
44062
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43901
44063
  var path = realPath(resolvedValue.path, host, traceEnabled);
43902
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43903
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
44064
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
44065
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
44066
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
44067
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43904
44068
  }
43905
44069
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43906
44070
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -49564,10 +49728,10 @@ var ts;
49564
49728
  }
49565
49729
  // Issue errors globally
49566
49730
  var file = ts.getSourceFileOfNode(location);
49567
- addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line no-in-operator
49731
+ addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line local/no-in-operator
49568
49732
  return;
49569
49733
  }
49570
- addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line no-in-operator
49734
+ addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line local/no-in-operator
49571
49735
  }
49572
49736
  function errorAndMaybeSuggestAwait(location, maybeMissingAwait, message, arg0, arg1, arg2, arg3) {
49573
49737
  var diagnostic = error(location, message, arg0, arg1, arg2, arg3);
@@ -51041,41 +51205,61 @@ var ts;
51041
51205
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51042
51206
  }
51043
51207
  function getTargetOfImportClause(node, dontResolveAlias) {
51044
- var _a;
51045
51208
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51046
51209
  if (moduleSymbol) {
51047
- var exportDefaultSymbol = void 0;
51048
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51049
- exportDefaultSymbol = moduleSymbol;
51050
- }
51051
- else {
51052
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51053
- }
51054
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51055
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
51056
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
51057
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51058
- if (hasExportAssignmentSymbol(moduleSymbol)) {
51059
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51060
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51061
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
51062
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51063
- if (exportAssignment) {
51064
- ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51065
- }
51066
- }
51067
- else {
51068
- reportNonDefaultExport(moduleSymbol, node);
51210
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51211
+ }
51212
+ }
51213
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51214
+ var _a;
51215
+ var exportDefaultSymbol;
51216
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51217
+ exportDefaultSymbol = moduleSymbol;
51218
+ }
51219
+ else {
51220
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51221
+ }
51222
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51223
+ var specifier = getModuleSpecifierForImportOrExport(node);
51224
+ if (!specifier) {
51225
+ return exportDefaultSymbol;
51226
+ }
51227
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51228
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51229
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51230
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51231
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51232
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51233
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51234
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51235
+ if (exportAssignment) {
51236
+ ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51069
51237
  }
51070
51238
  }
51071
- else if (hasSyntheticDefault || hasDefaultOnly) {
51072
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51073
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51074
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51075
- return resolved;
51239
+ else if (ts.isImportClause(node)) {
51240
+ reportNonDefaultExport(moduleSymbol, node);
51241
+ }
51242
+ else {
51243
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51076
51244
  }
51077
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51078
- return exportDefaultSymbol;
51245
+ }
51246
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51247
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51248
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51249
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51250
+ return resolved;
51251
+ }
51252
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51253
+ return exportDefaultSymbol;
51254
+ }
51255
+ function getModuleSpecifierForImportOrExport(node) {
51256
+ switch (node.kind) {
51257
+ case 267 /* ImportClause */: return node.parent.moduleSpecifier;
51258
+ case 265 /* ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51259
+ case 268 /* NamespaceImport */: return node.parent.parent.moduleSpecifier;
51260
+ case 270 /* ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51261
+ case 275 /* ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51262
+ default: return ts.Debug.assertNever(node);
51079
51263
  }
51080
51264
  }
51081
51265
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51165,7 +51349,7 @@ var ts;
51165
51349
  }
51166
51350
  }
51167
51351
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51168
- var _a, _b;
51352
+ var _a;
51169
51353
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51170
51354
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51171
51355
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51201,29 +51385,33 @@ var ts;
51201
51385
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51202
51386
  symbolFromModule || symbolFromVariable;
51203
51387
  if (!symbol) {
51204
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51205
- var declarationName = ts.declarationNameToString(name);
51206
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51207
- if (suggestion !== undefined) {
51208
- var suggestionName = symbolToString(suggestion);
51209
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51210
- if (suggestion.valueDeclaration) {
51211
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51212
- }
51213
- }
51214
- else {
51215
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */)) {
51216
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51217
- }
51218
- else {
51219
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51220
- }
51221
- }
51388
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51222
51389
  }
51223
51390
  return symbol;
51224
51391
  }
51225
51392
  }
51226
51393
  }
51394
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51395
+ var _a;
51396
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51397
+ var declarationName = ts.declarationNameToString(name);
51398
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51399
+ if (suggestion !== undefined) {
51400
+ var suggestionName = symbolToString(suggestion);
51401
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51402
+ if (suggestion.valueDeclaration) {
51403
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51404
+ }
51405
+ }
51406
+ else {
51407
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* Default */)) {
51408
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51409
+ }
51410
+ else {
51411
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51412
+ }
51413
+ }
51414
+ }
51227
51415
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51228
51416
  var _a, _b;
51229
51417
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51269,6 +51457,13 @@ var ts;
51269
51457
  }
51270
51458
  }
51271
51459
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51460
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51461
+ var specifier = getModuleSpecifierForImportOrExport(node);
51462
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51463
+ if (moduleSymbol) {
51464
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51465
+ }
51466
+ }
51272
51467
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51273
51468
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51274
51469
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51290,6 +51485,13 @@ var ts;
51290
51485
  return resolved;
51291
51486
  }
51292
51487
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51488
+ if (ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51489
+ var specifier = getModuleSpecifierForImportOrExport(node);
51490
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51491
+ if (moduleSymbol) {
51492
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51493
+ }
51494
+ }
51293
51495
  var resolved = node.parent.parent.moduleSpecifier ?
51294
51496
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51295
51497
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -55738,7 +55940,7 @@ var ts;
55738
55940
  // This is an else/if as accessors and properties can't merge in TS, but might in JS
55739
55941
  // If this happens, we assume the accessor takes priority, as it imposes more constraints
55740
55942
  else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) {
55741
- return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled),
55943
+ return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled),
55742
55944
  // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
55743
55945
  // interface members can't have initializers, however class members _can_
55744
55946
  /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl);
@@ -59651,7 +59853,7 @@ var ts;
59651
59853
  return constraint && getBaseConstraint(constraint);
59652
59854
  }
59653
59855
  if (t.flags & 33554432 /* Substitution */) {
59654
- return getBaseConstraint(t.substitute);
59856
+ return getBaseConstraint(getSubstitutionIntersection(t));
59655
59857
  }
59656
59858
  return t;
59657
59859
  }
@@ -61062,21 +61264,26 @@ var ts;
61062
61264
  }
61063
61265
  return links.resolvedJSDocType;
61064
61266
  }
61065
- function getSubstitutionType(baseType, substitute) {
61066
- if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) {
61267
+ function getSubstitutionType(baseType, constraint) {
61268
+ if (constraint.flags & 3 /* AnyOrUnknown */ || constraint === baseType ||
61269
+ baseType.flags & 33554432 /* Substitution */ && baseType.constraint === constraint ||
61270
+ !isGenericType(baseType) && !isGenericType(constraint)) {
61067
61271
  return baseType;
61068
61272
  }
61069
- var id = getTypeId(baseType) + ">" + getTypeId(substitute);
61273
+ var id = getTypeId(baseType) + ">" + getTypeId(constraint);
61070
61274
  var cached = substitutionTypes.get(id);
61071
61275
  if (cached) {
61072
61276
  return cached;
61073
61277
  }
61074
61278
  var result = createType(33554432 /* Substitution */);
61075
61279
  result.baseType = baseType;
61076
- result.substitute = substitute;
61280
+ result.constraint = constraint;
61077
61281
  substitutionTypes.set(id, result);
61078
61282
  return result;
61079
61283
  }
61284
+ function getSubstitutionIntersection(substitutionType) {
61285
+ return getIntersectionType([substitutionType.constraint, substitutionType.baseType]);
61286
+ }
61080
61287
  function isUnaryTupleTypeNode(node) {
61081
61288
  return node.kind === 184 /* TupleType */ && node.elements.length === 1;
61082
61289
  }
@@ -61119,7 +61326,7 @@ var ts;
61119
61326
  }
61120
61327
  node = parent;
61121
61328
  }
61122
- return constraints ? getSubstitutionType(type, getIntersectionType(ts.append(constraints, type))) : type;
61329
+ return constraints ? getSubstitutionType(type, getIntersectionType(constraints)) : type;
61123
61330
  }
61124
61331
  function isJSDocTypeReference(node) {
61125
61332
  return !!(node.flags & 8388608 /* JSDoc */) && (node.kind === 178 /* TypeReference */ || node.kind === 200 /* ImportType */);
@@ -62434,7 +62641,7 @@ var ts;
62434
62641
  type.flags & 16777216 /* Conditional */ ? type.root.isDistributive && type.checkType === typeVariable :
62435
62642
  type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) ? ts.every(type.types, isDistributive) :
62436
62643
  type.flags & 8388608 /* IndexedAccess */ ? isDistributive(type.objectType) && isDistributive(type.indexType) :
62437
- type.flags & 33554432 /* Substitution */ ? isDistributive(type.substitute) :
62644
+ type.flags & 33554432 /* Substitution */ ? isDistributive(type.baseType) && isDistributive(type.constraint) :
62438
62645
  type.flags & 268435456 /* StringMapping */ ? isDistributive(type.type) :
62439
62646
  false;
62440
62647
  }
@@ -62917,7 +63124,7 @@ var ts;
62917
63124
  if (type.flags & 33554432 /* Substitution */) {
62918
63125
  if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) {
62919
63126
  type.objectFlags |= 2097152 /* IsGenericTypeComputed */ |
62920
- getGenericObjectFlags(type.substitute) | getGenericObjectFlags(type.baseType);
63127
+ getGenericObjectFlags(type.baseType) | getGenericObjectFlags(type.constraint);
62921
63128
  }
62922
63129
  return type.objectFlags & 12582912 /* IsGenericType */;
62923
63130
  }
@@ -64000,8 +64207,8 @@ var ts;
64000
64207
  return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(5 /* Merged */, mapper, makeUnaryTypeMapper(source, target));
64001
64208
  }
64002
64209
  function getRestrictiveTypeParameter(tp) {
64003
- return tp.constraint === unknownType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol),
64004
- tp.restrictiveInstantiation.constraint = unknownType,
64210
+ return tp.constraint === noConstraintType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol),
64211
+ tp.restrictiveInstantiation.constraint = noConstraintType,
64005
64212
  tp.restrictiveInstantiation);
64006
64213
  }
64007
64214
  function cloneTypeParameter(typeParameter) {
@@ -64364,17 +64571,17 @@ var ts;
64364
64571
  return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper), aliasSymbol, aliasTypeArguments);
64365
64572
  }
64366
64573
  if (flags & 33554432 /* Substitution */) {
64367
- var maybeVariable = instantiateType(type.baseType, mapper);
64368
- if (maybeVariable.flags & 8650752 /* TypeVariable */) {
64369
- return getSubstitutionType(maybeVariable, instantiateType(type.substitute, mapper));
64370
- }
64371
- else {
64372
- var sub = instantiateType(type.substitute, mapper);
64373
- if (sub.flags & 3 /* AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) {
64374
- return maybeVariable;
64375
- }
64376
- return sub;
64377
- }
64574
+ var newBaseType = instantiateType(type.baseType, mapper);
64575
+ var newConstraint = instantiateType(type.constraint, mapper);
64576
+ // A substitution type originates in the true branch of a conditional type and can be resolved
64577
+ // to just the base type in the same cases as the conditional type resolves to its true branch
64578
+ // (because the base type is then known to satisfy the constraint).
64579
+ if (newConstraint.flags & 3 /* AnyOrUnknown */ ||
64580
+ !isGenericType(newBaseType) && !isGenericType(newConstraint) ||
64581
+ isTypeAssignableTo(getRestrictiveInstantiation(newBaseType), getRestrictiveInstantiation(newConstraint))) {
64582
+ return newBaseType;
64583
+ }
64584
+ return getSubstitutionType(newBaseType, newConstraint);
64378
64585
  }
64379
64586
  return type;
64380
64587
  }
@@ -65327,7 +65534,7 @@ var ts;
65327
65534
  var t = isFreshLiteralType(type) ? type.regularType :
65328
65535
  ts.getObjectFlags(type) & 4 /* Reference */ ? type.node ? createTypeReference(type.target, getTypeArguments(type)) : getSingleBaseForNonAugmentingSubtype(type) || type :
65329
65536
  type.flags & 3145728 /* UnionOrIntersection */ ? getNormalizedUnionOrIntersectionType(type, writing) :
65330
- type.flags & 33554432 /* Substitution */ ? writing ? type.baseType : type.substitute :
65537
+ type.flags & 33554432 /* Substitution */ ? writing ? type.baseType : getSubstitutionIntersection(type) :
65331
65538
  type.flags & 25165824 /* Simplifiable */ ? getSimplifiedType(type, writing) :
65332
65539
  type;
65333
65540
  if (t === type)
@@ -65684,38 +65891,6 @@ var ts;
65684
65891
  }
65685
65892
  return 0 /* False */;
65686
65893
  }
65687
- // Before normalization: Intersections applied to unions create an explosion of types when normalized -
65688
- // handling those inner intersections can be very costly, so it can be beneficial to factor them out early.
65689
- // If both the source and target are intersections, we can remove the common types from them before formal normalization,
65690
- // and run a simplified comparison without those common members.
65691
- if (originalSource.flags & originalTarget.flags & 2097152 /* Intersection */) {
65692
- var combinedTypeSet_1 = new ts.Map();
65693
- ts.forEach(originalSource.types, function (t) { return combinedTypeSet_1.set(getTypeId(t), 1); });
65694
- var hasOverlap_1 = false;
65695
- ts.forEach(originalTarget.types, function (t) {
65696
- var id = getTypeId(t);
65697
- if (combinedTypeSet_1.has(id)) {
65698
- combinedTypeSet_1.set(getTypeId(t), 2);
65699
- hasOverlap_1 = true;
65700
- }
65701
- });
65702
- if (hasOverlap_1) {
65703
- var filteredSource = ts.filter(originalSource.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65704
- var filteredTarget = ts.filter(originalTarget.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65705
- if (!ts.length(filteredTarget)) {
65706
- return -1 /* True */; // Source has all parts of target
65707
- }
65708
- if (ts.length(filteredSource)) {
65709
- var result_7;
65710
- if (result_7 = isRelatedTo(getIntersectionType(filteredSource), getIntersectionType(filteredTarget), recursionFlags, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
65711
- return result_7;
65712
- }
65713
- // In the false case, we may still be assignable at the structural level, rather than the algebraic level
65714
- }
65715
- // Even if every member of the source is in the target but the target still has members left, the source may still be assignable
65716
- // to the target, either if some member of the original source is assignable to the other members of the target, or if there is structural assignability
65717
- }
65718
- }
65719
65894
  // Normalize the source and target types: Turn fresh literal types into regular literal types,
65720
65895
  // turn deferred type references into regular type references, simplify indexed access and
65721
65896
  // conditional types, and resolve substitution types to either the substitution (on the source
@@ -65791,7 +65966,7 @@ var ts;
65791
65966
  traceUnionsOrIntersectionsTooLarge(source, target);
65792
65967
  var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) ||
65793
65968
  target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */);
65794
- var result_8 = skipCaching ?
65969
+ var result_7 = skipCaching ?
65795
65970
  unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) :
65796
65971
  recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags);
65797
65972
  // For certain combinations involving intersections and optional, excess, or mismatched properties we need
@@ -65809,14 +65984,14 @@ var ts;
65809
65984
  //
65810
65985
  // We suppress recursive intersection property checks because they can generate lots of work when relating
65811
65986
  // recursive intersections that are structurally similar but not exactly identical. See #37854.
65812
- if (result_8 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65987
+ if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65813
65988
  isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* NonInferrableType */); }))) {
65814
65989
  inPropertyCheck = true;
65815
- result_8 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65990
+ result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65816
65991
  inPropertyCheck = false;
65817
65992
  }
65818
- if (result_8) {
65819
- return result_8;
65993
+ if (result_7) {
65994
+ return result_7;
65820
65995
  }
65821
65996
  }
65822
65997
  if (reportErrors) {
@@ -66205,9 +66380,6 @@ var ts;
66205
66380
  // equal and infinitely expanding. Fourth, if we have reached a depth of 100 nested comparisons, assume we have runaway recursion
66206
66381
  // and issue an error. Otherwise, actually compare the structure of the two types.
66207
66382
  function recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags) {
66208
- if (relation.size > Math.pow(2, 20)) {
66209
- debugger;
66210
- }
66211
66383
  if (overflow) {
66212
66384
  return 0 /* False */;
66213
66385
  }
@@ -66366,11 +66538,11 @@ var ts;
66366
66538
  if (relation === identityRelation) {
66367
66539
  // We've already checked that source.flags and target.flags are identical
66368
66540
  if (sourceFlags & 3145728 /* UnionOrIntersection */) {
66369
- var result_9 = eachTypeRelatedToSomeType(source, target);
66370
- if (result_9) {
66371
- result_9 &= eachTypeRelatedToSomeType(target, source);
66541
+ var result_8 = eachTypeRelatedToSomeType(source, target);
66542
+ if (result_8) {
66543
+ result_8 &= eachTypeRelatedToSomeType(target, source);
66372
66544
  }
66373
- return result_9;
66545
+ return result_8;
66374
66546
  }
66375
66547
  if (sourceFlags & 4194304 /* Index */) {
66376
66548
  return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false);
@@ -66396,7 +66568,11 @@ var ts;
66396
66568
  }
66397
66569
  }
66398
66570
  if (sourceFlags & 33554432 /* Substitution */) {
66399
- return isRelatedTo(source.substitute, target.substitute, 3 /* Both */, /*reportErrors*/ false);
66571
+ if (result = isRelatedTo(source.baseType, target.baseType, 3 /* Both */, /*reportErrors*/ false)) {
66572
+ if (result &= isRelatedTo(source.constraint, target.constraint, 3 /* Both */, /*reportErrors*/ false)) {
66573
+ return result;
66574
+ }
66575
+ }
66400
66576
  }
66401
66577
  if (!(sourceFlags & 524288 /* Object */)) {
66402
66578
  return 0 /* False */;
@@ -66859,9 +67035,9 @@ var ts;
66859
67035
  if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) {
66860
67036
  var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */);
66861
67037
  if (objectOnlyTarget.flags & 1048576 /* Union */) {
66862
- var result_10 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66863
- if (result_10) {
66864
- return result_10;
67038
+ var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
67039
+ if (result_9) {
67040
+ return result_9;
66865
67041
  }
66866
67042
  }
66867
67043
  }
@@ -66921,13 +67097,13 @@ var ts;
66921
67097
  var modifiersRelated = relation === comparableRelation || (relation === identityRelation ? getMappedTypeModifiers(source) === getMappedTypeModifiers(target) :
66922
67098
  getCombinedMappedTypeOptionality(source) <= getCombinedMappedTypeOptionality(target));
66923
67099
  if (modifiersRelated) {
66924
- var result_11;
67100
+ var result_10;
66925
67101
  var targetConstraint = getConstraintTypeFromMappedType(target);
66926
67102
  var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
66927
- if (result_11 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
67103
+ if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66928
67104
  var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]);
66929
67105
  if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) {
66930
- return result_11 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
67106
+ return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66931
67107
  }
66932
67108
  }
66933
67109
  }
@@ -69400,7 +69576,7 @@ var ts;
69400
69576
  }
69401
69577
  else if (source.flags & 33554432 /* Substitution */) {
69402
69578
  inferFromTypes(source.baseType, target);
69403
- inferWithPriority(source.substitute, target, 4 /* SubstituteSource */); // Make substitute inference at a lower priority
69579
+ inferWithPriority(getSubstitutionIntersection(source), target, 4 /* SubstituteSource */); // Make substitute inference at a lower priority
69404
69580
  }
69405
69581
  else if (target.flags & 16777216 /* Conditional */) {
69406
69582
  invokeOnce(source, target, inferToConditionalType);
@@ -78278,10 +78454,10 @@ var ts;
78278
78454
  hasSignatures || (hasSignatures = resolved.callSignatures.length !== 0 || resolved.constructSignatures.length !== 0);
78279
78455
  hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0);
78280
78456
  if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) {
78281
- var result_12 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78282
- result_12.objectFlags |= 8388608 /* InstantiationExpressionType */;
78283
- result_12.node = node;
78284
- return result_12;
78457
+ var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78458
+ result_11.objectFlags |= 8388608 /* InstantiationExpressionType */;
78459
+ result_11.node = node;
78460
+ return result_11;
78285
78461
  }
78286
78462
  }
78287
78463
  else if (type.flags & 58982400 /* InstantiableNonPrimitive */) {
@@ -82116,12 +82292,12 @@ var ts;
82116
82292
  case 265 /* ImportEqualsDeclaration */:
82117
82293
  case 268 /* NamespaceImport */:
82118
82294
  case 267 /* ImportClause */:
82119
- var result_13 = 0 /* None */;
82295
+ var result_12 = 0 /* None */;
82120
82296
  var target = resolveAlias(getSymbolOfNode(d));
82121
82297
  ts.forEach(target.declarations, function (d) {
82122
- result_13 |= getDeclarationSpaces(d);
82298
+ result_12 |= getDeclarationSpaces(d);
82123
82299
  });
82124
- return result_13;
82300
+ return result_12;
82125
82301
  case 254 /* VariableDeclaration */:
82126
82302
  case 203 /* BindingElement */:
82127
82303
  case 256 /* FunctionDeclaration */:
@@ -88797,7 +88973,7 @@ var ts;
88797
88973
  return checkGrammarDecorators(node) || checkGrammarModifiers(node);
88798
88974
  }
88799
88975
  function checkGrammarDecorators(node) {
88800
- if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) {
88976
+ if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) {
88801
88977
  return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here);
88802
88978
  }
88803
88979
  if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) {
@@ -90450,6 +90626,7 @@ var ts;
90450
90626
  })(ts || (ts = {}));
90451
90627
  var ts;
90452
90628
  (function (ts) {
90629
+ var _a;
90453
90630
  function visitNode(node, visitor, test, lift) {
90454
90631
  if (node === undefined || visitor === undefined) {
90455
90632
  return node;
@@ -90664,12 +90841,10 @@ var ts;
90664
90841
  return updated;
90665
90842
  }
90666
90843
  ts.visitFunctionBody = visitFunctionBody;
90667
- /**
90668
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90669
- */
90670
- function visitIterationBody(body, visitor, context) {
90844
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90845
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90671
90846
  context.startBlockScope();
90672
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90847
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90673
90848
  var declarations = context.endBlockScope();
90674
90849
  if (ts.some(declarations)) {
90675
90850
  if (ts.isBlock(updated)) {
@@ -90688,456 +90863,443 @@ var ts;
90688
90863
  if (node === undefined) {
90689
90864
  return undefined;
90690
90865
  }
90691
- var kind = node.kind;
90692
- // No need to visit nodes with no children.
90693
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90694
- return node;
90695
- }
90696
- var factory = context.factory;
90697
- switch (kind) {
90698
- // Names
90699
- case 79 /* Identifier */:
90700
- ts.Debug.type(node);
90701
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90702
- case 161 /* QualifiedName */:
90703
- ts.Debug.type(node);
90704
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90705
- case 162 /* ComputedPropertyName */:
90706
- ts.Debug.type(node);
90707
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90708
- // Signature elements
90709
- case 163 /* TypeParameter */:
90710
- ts.Debug.type(node);
90711
- return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90712
- case 164 /* Parameter */:
90713
- ts.Debug.type(node);
90714
- return factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90715
- case 165 /* Decorator */:
90716
- ts.Debug.type(node);
90717
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90718
- // Type elements
90719
- case 166 /* PropertySignature */:
90720
- ts.Debug.type(node);
90721
- return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90722
- case 167 /* PropertyDeclaration */:
90723
- ts.Debug.type(node);
90724
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90725
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90726
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90727
- case 168 /* MethodSignature */:
90728
- ts.Debug.type(node);
90729
- return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90730
- case 169 /* MethodDeclaration */:
90731
- ts.Debug.type(node);
90732
- return factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90733
- case 171 /* Constructor */:
90734
- ts.Debug.type(node);
90735
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90736
- case 172 /* GetAccessor */:
90737
- ts.Debug.type(node);
90738
- return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90739
- case 173 /* SetAccessor */:
90740
- ts.Debug.type(node);
90741
- return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90742
- case 170 /* ClassStaticBlockDeclaration */:
90743
- ts.Debug.type(node);
90744
- context.startLexicalEnvironment();
90745
- context.suspendLexicalEnvironment();
90746
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90747
- case 174 /* CallSignature */:
90748
- ts.Debug.type(node);
90749
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90750
- case 175 /* ConstructSignature */:
90751
- ts.Debug.type(node);
90752
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90753
- case 176 /* IndexSignature */:
90754
- ts.Debug.type(node);
90755
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90756
- // Types
90757
- case 177 /* TypePredicate */:
90758
- ts.Debug.type(node);
90759
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90760
- case 178 /* TypeReference */:
90761
- ts.Debug.type(node);
90762
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90763
- case 179 /* FunctionType */:
90764
- ts.Debug.type(node);
90765
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90766
- case 180 /* ConstructorType */:
90767
- ts.Debug.type(node);
90768
- return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90769
- case 181 /* TypeQuery */:
90770
- ts.Debug.type(node);
90771
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90772
- case 182 /* TypeLiteral */:
90773
- ts.Debug.type(node);
90774
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90775
- case 183 /* ArrayType */:
90776
- ts.Debug.type(node);
90777
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90778
- case 184 /* TupleType */:
90779
- ts.Debug.type(node);
90780
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90781
- case 185 /* OptionalType */:
90782
- ts.Debug.type(node);
90783
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90784
- case 186 /* RestType */:
90785
- ts.Debug.type(node);
90786
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90787
- case 187 /* UnionType */:
90788
- ts.Debug.type(node);
90789
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90790
- case 188 /* IntersectionType */:
90791
- ts.Debug.type(node);
90792
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90793
- case 189 /* ConditionalType */:
90794
- ts.Debug.type(node);
90795
- return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90796
- case 190 /* InferType */:
90797
- ts.Debug.type(node);
90798
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90799
- case 200 /* ImportType */:
90800
- ts.Debug.type(node);
90801
- return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90802
- case 295 /* ImportTypeAssertionContainer */:
90803
- ts.Debug.type(node);
90804
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90805
- case 197 /* NamedTupleMember */:
90806
- ts.Debug.type(node);
90807
- return factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90808
- case 191 /* ParenthesizedType */:
90809
- ts.Debug.type(node);
90810
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90811
- case 193 /* TypeOperator */:
90812
- ts.Debug.type(node);
90813
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90814
- case 194 /* IndexedAccessType */:
90815
- ts.Debug.type(node);
90816
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90817
- case 195 /* MappedType */:
90818
- ts.Debug.type(node);
90819
- return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90820
- case 196 /* LiteralType */:
90821
- ts.Debug.type(node);
90822
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90823
- case 198 /* TemplateLiteralType */:
90824
- ts.Debug.type(node);
90825
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90826
- case 199 /* TemplateLiteralTypeSpan */:
90827
- ts.Debug.type(node);
90828
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90829
- // Binding patterns
90830
- case 201 /* ObjectBindingPattern */:
90831
- ts.Debug.type(node);
90832
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90833
- case 202 /* ArrayBindingPattern */:
90834
- ts.Debug.type(node);
90835
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90836
- case 203 /* BindingElement */:
90837
- ts.Debug.type(node);
90838
- return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
90839
- // Expression
90840
- case 204 /* ArrayLiteralExpression */:
90841
- ts.Debug.type(node);
90842
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90843
- case 205 /* ObjectLiteralExpression */:
90844
- ts.Debug.type(node);
90845
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90846
- case 206 /* PropertyAccessExpression */:
90847
- if (node.flags & 32 /* OptionalChain */) {
90848
- ts.Debug.type(node);
90849
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90850
- }
90851
- ts.Debug.type(node);
90852
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90853
- case 207 /* ElementAccessExpression */:
90854
- if (node.flags & 32 /* OptionalChain */) {
90855
- ts.Debug.type(node);
90856
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90857
- }
90858
- ts.Debug.type(node);
90859
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90860
- case 208 /* CallExpression */:
90861
- if (node.flags & 32 /* OptionalChain */) {
90862
- ts.Debug.type(node);
90863
- return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90864
- }
90865
- ts.Debug.type(node);
90866
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90867
- case 209 /* NewExpression */:
90868
- ts.Debug.type(node);
90869
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90870
- case 210 /* TaggedTemplateExpression */:
90871
- ts.Debug.type(node);
90872
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90873
- case 211 /* TypeAssertionExpression */:
90874
- ts.Debug.type(node);
90875
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90876
- case 212 /* ParenthesizedExpression */:
90877
- ts.Debug.type(node);
90878
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90879
- case 213 /* FunctionExpression */:
90880
- ts.Debug.type(node);
90881
- return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90882
- case 214 /* ArrowFunction */:
90883
- ts.Debug.type(node);
90884
- return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90885
- case 215 /* DeleteExpression */:
90886
- ts.Debug.type(node);
90887
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90888
- case 216 /* TypeOfExpression */:
90889
- ts.Debug.type(node);
90890
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90891
- case 217 /* VoidExpression */:
90892
- ts.Debug.type(node);
90893
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90894
- case 218 /* AwaitExpression */:
90895
- ts.Debug.type(node);
90896
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90897
- case 219 /* PrefixUnaryExpression */:
90898
- ts.Debug.type(node);
90899
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90900
- case 220 /* PostfixUnaryExpression */:
90901
- ts.Debug.type(node);
90902
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90903
- case 221 /* BinaryExpression */:
90904
- ts.Debug.type(node);
90905
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90906
- case 222 /* ConditionalExpression */:
90907
- ts.Debug.type(node);
90908
- return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
90909
- case 223 /* TemplateExpression */:
90910
- ts.Debug.type(node);
90911
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90912
- case 224 /* YieldExpression */:
90913
- ts.Debug.type(node);
90914
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90915
- case 225 /* SpreadElement */:
90916
- ts.Debug.type(node);
90917
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90918
- case 226 /* ClassExpression */:
90919
- ts.Debug.type(node);
90920
- return factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90921
- case 228 /* ExpressionWithTypeArguments */:
90922
- ts.Debug.type(node);
90923
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90924
- case 229 /* AsExpression */:
90925
- ts.Debug.type(node);
90926
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90927
- case 230 /* NonNullExpression */:
90928
- if (node.flags & 32 /* OptionalChain */) {
90929
- ts.Debug.type(node);
90930
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90931
- }
90932
- ts.Debug.type(node);
90933
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90934
- case 231 /* MetaProperty */:
90935
- ts.Debug.type(node);
90936
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90937
- // Misc
90938
- case 233 /* TemplateSpan */:
90939
- ts.Debug.type(node);
90940
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90941
- // Element
90942
- case 235 /* Block */:
90943
- ts.Debug.type(node);
90944
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90945
- case 237 /* VariableStatement */:
90946
- ts.Debug.type(node);
90947
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90948
- case 238 /* ExpressionStatement */:
90949
- ts.Debug.type(node);
90950
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90951
- case 239 /* IfStatement */:
90952
- ts.Debug.type(node);
90953
- return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock));
90954
- case 240 /* DoStatement */:
90955
- ts.Debug.type(node);
90956
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90957
- case 241 /* WhileStatement */:
90958
- ts.Debug.type(node);
90959
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90960
- case 242 /* ForStatement */:
90961
- ts.Debug.type(node);
90962
- return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90963
- case 243 /* ForInStatement */:
90964
- ts.Debug.type(node);
90965
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90966
- case 244 /* ForOfStatement */:
90967
- ts.Debug.type(node);
90968
- return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90969
- case 245 /* ContinueStatement */:
90970
- ts.Debug.type(node);
90971
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90972
- case 246 /* BreakStatement */:
90973
- ts.Debug.type(node);
90974
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90975
- case 247 /* ReturnStatement */:
90976
- ts.Debug.type(node);
90977
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90978
- case 248 /* WithStatement */:
90979
- ts.Debug.type(node);
90980
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90981
- case 249 /* SwitchStatement */:
90982
- ts.Debug.type(node);
90983
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90984
- case 250 /* LabeledStatement */:
90985
- ts.Debug.type(node);
90986
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90987
- case 251 /* ThrowStatement */:
90988
- ts.Debug.type(node);
90989
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90990
- case 252 /* TryStatement */:
90991
- ts.Debug.type(node);
90992
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90993
- case 254 /* VariableDeclaration */:
90994
- ts.Debug.type(node);
90995
- return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90996
- case 255 /* VariableDeclarationList */:
90997
- ts.Debug.type(node);
90998
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90999
- case 256 /* FunctionDeclaration */:
91000
- ts.Debug.type(node);
91001
- return factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91002
- case 257 /* ClassDeclaration */:
91003
- ts.Debug.type(node);
91004
- return factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
91005
- case 258 /* InterfaceDeclaration */:
91006
- ts.Debug.type(node);
91007
- return factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
91008
- case 259 /* TypeAliasDeclaration */:
91009
- ts.Debug.type(node);
91010
- return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
91011
- case 260 /* EnumDeclaration */:
91012
- ts.Debug.type(node);
91013
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91014
- case 261 /* ModuleDeclaration */:
91015
- ts.Debug.type(node);
91016
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91017
- case 262 /* ModuleBlock */:
91018
- ts.Debug.type(node);
91019
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91020
- case 263 /* CaseBlock */:
91021
- ts.Debug.type(node);
91022
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91023
- case 264 /* NamespaceExportDeclaration */:
91024
- ts.Debug.type(node);
91025
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91026
- case 265 /* ImportEqualsDeclaration */:
91027
- ts.Debug.type(node);
91028
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91029
- case 266 /* ImportDeclaration */:
91030
- ts.Debug.type(node);
91031
- return factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91032
- case 293 /* AssertClause */:
91033
- ts.Debug.type(node);
91034
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91035
- case 294 /* AssertEntry */:
91036
- ts.Debug.type(node);
91037
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
91038
- case 267 /* ImportClause */:
91039
- ts.Debug.type(node);
91040
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91041
- case 268 /* NamespaceImport */:
91042
- ts.Debug.type(node);
91043
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91044
- case 274 /* NamespaceExport */:
91045
- ts.Debug.type(node);
91046
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91047
- case 269 /* NamedImports */:
91048
- ts.Debug.type(node);
91049
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91050
- case 270 /* ImportSpecifier */:
91051
- ts.Debug.type(node);
91052
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91053
- case 271 /* ExportAssignment */:
91054
- ts.Debug.type(node);
91055
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91056
- case 272 /* ExportDeclaration */:
91057
- ts.Debug.type(node);
91058
- return factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91059
- case 273 /* NamedExports */:
91060
- ts.Debug.type(node);
91061
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91062
- case 275 /* ExportSpecifier */:
91063
- ts.Debug.type(node);
91064
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91065
- // Module references
91066
- case 277 /* ExternalModuleReference */:
91067
- ts.Debug.type(node);
91068
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91069
- // JSX
91070
- case 278 /* JsxElement */:
91071
- ts.Debug.type(node);
91072
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91073
- case 279 /* JsxSelfClosingElement */:
91074
- ts.Debug.type(node);
91075
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91076
- case 280 /* JsxOpeningElement */:
91077
- ts.Debug.type(node);
91078
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91079
- case 281 /* JsxClosingElement */:
91080
- ts.Debug.type(node);
91081
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91082
- case 282 /* JsxFragment */:
91083
- ts.Debug.type(node);
91084
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91085
- case 285 /* JsxAttribute */:
91086
- ts.Debug.type(node);
91087
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91088
- case 286 /* JsxAttributes */:
91089
- ts.Debug.type(node);
91090
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91091
- case 287 /* JsxSpreadAttribute */:
91092
- ts.Debug.type(node);
91093
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91094
- case 288 /* JsxExpression */:
91095
- ts.Debug.type(node);
91096
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91097
- // Clauses
91098
- case 289 /* CaseClause */:
91099
- ts.Debug.type(node);
91100
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91101
- case 290 /* DefaultClause */:
91102
- ts.Debug.type(node);
91103
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91104
- case 291 /* HeritageClause */:
91105
- ts.Debug.type(node);
91106
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91107
- case 292 /* CatchClause */:
91108
- ts.Debug.type(node);
91109
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91110
- // Property assignments
91111
- case 296 /* PropertyAssignment */:
91112
- ts.Debug.type(node);
91113
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91114
- case 297 /* ShorthandPropertyAssignment */:
91115
- ts.Debug.type(node);
91116
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91117
- case 298 /* SpreadAssignment */:
91118
- ts.Debug.type(node);
91119
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91120
- // Enum
91121
- case 299 /* EnumMember */:
91122
- ts.Debug.type(node);
91123
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91124
- // Top-level nodes
91125
- case 305 /* SourceFile */:
91126
- ts.Debug.type(node);
91127
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91128
- // Transformation nodes
91129
- case 350 /* PartiallyEmittedExpression */:
91130
- ts.Debug.type(node);
91131
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91132
- case 351 /* CommaListExpression */:
91133
- ts.Debug.type(node);
91134
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91135
- default:
91136
- // No need to visit nodes with no children.
91137
- return node;
91138
- }
90866
+ var fn = visitEachChildTable[node.kind];
90867
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91139
90868
  }
91140
90869
  ts.visitEachChild = visitEachChild;
90870
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90871
+ // wish to add is defined in the `HasChildren` union in types.ts.
90872
+ var visitEachChildTable = (_a = {},
90873
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90874
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90875
+ },
90876
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90877
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90878
+ },
90879
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90880
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90881
+ },
90882
+ // Signature elements
90883
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90884
+ return context.factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90885
+ },
90886
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90887
+ return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90888
+ },
90889
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90890
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90891
+ },
90892
+ // Type elements
90893
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90894
+ return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90895
+ },
90896
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90897
+ var _a;
90898
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90899
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90900
+ nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90901
+ },
90902
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90903
+ return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90904
+ },
90905
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90906
+ return context.factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90907
+ },
90908
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90909
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90910
+ },
90911
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90912
+ return context.factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90913
+ },
90914
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90915
+ return context.factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90916
+ },
90917
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90918
+ context.startLexicalEnvironment();
90919
+ context.suspendLexicalEnvironment();
90920
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90921
+ },
90922
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90923
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90924
+ },
90925
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90926
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90927
+ },
90928
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90929
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90930
+ },
90931
+ // Types
90932
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90933
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90934
+ },
90935
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90936
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90937
+ },
90938
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90939
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90940
+ },
90941
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90942
+ return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90943
+ },
90944
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90945
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90946
+ },
90947
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90948
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90949
+ },
90950
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90951
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90952
+ },
90953
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90954
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90955
+ },
90956
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90957
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90958
+ },
90959
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90960
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90961
+ },
90962
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90963
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90964
+ },
90965
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90966
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90967
+ },
90968
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90969
+ return context.factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90970
+ },
90971
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90972
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90973
+ },
90974
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90975
+ return context.factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isImportTypeAssertionContainer), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90976
+ },
90977
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90978
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90979
+ },
90980
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90981
+ return context.factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90982
+ },
90983
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90984
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90985
+ },
90986
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90987
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90988
+ },
90989
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90990
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90991
+ },
90992
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90993
+ return context.factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90994
+ },
90995
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90996
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90997
+ },
90998
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90999
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
91000
+ },
91001
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91002
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
91003
+ },
91004
+ // Binding patterns
91005
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91006
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
91007
+ },
91008
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91009
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
91010
+ },
91011
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91012
+ return context.factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91013
+ },
91014
+ // Expression
91015
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91016
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91017
+ },
91018
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91019
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
91020
+ },
91021
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91022
+ return ts.isPropertyAccessChain(node) ?
91023
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
91024
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
91025
+ },
91026
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91027
+ return ts.isElementAccessChain(node) ?
91028
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
91029
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
91030
+ },
91031
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91032
+ return ts.isCallChain(node) ?
91033
+ context.factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)) :
91034
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
91035
+ },
91036
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91037
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
91038
+ },
91039
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91040
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
91041
+ },
91042
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91043
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
91044
+ },
91045
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91046
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91047
+ },
91048
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91049
+ return context.factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91050
+ },
91051
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91052
+ return context.factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91053
+ },
91054
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91055
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91056
+ },
91057
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91058
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91059
+ },
91060
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91061
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91062
+ },
91063
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91064
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91065
+ },
91066
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91067
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
91068
+ },
91069
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91070
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
91071
+ },
91072
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91073
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
91074
+ },
91075
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91076
+ return context.factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
91077
+ },
91078
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91079
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
91080
+ },
91081
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91082
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
91083
+ },
91084
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91085
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91086
+ },
91087
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91088
+ return context.factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
91089
+ },
91090
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91091
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
91092
+ },
91093
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91094
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
91095
+ },
91096
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91097
+ return ts.isOptionalChain(node) ?
91098
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
91099
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91100
+ },
91101
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91102
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91103
+ },
91104
+ // Misc
91105
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91106
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
91107
+ },
91108
+ // Element
91109
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91110
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91111
+ },
91112
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91113
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
91114
+ },
91115
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91116
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91117
+ },
91118
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91119
+ return context.factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, context.factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, context.factory.liftToBlock));
91120
+ },
91121
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91122
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
91123
+ },
91124
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91125
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91126
+ },
91127
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91128
+ return context.factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91129
+ },
91130
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91131
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91132
+ },
91133
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91134
+ return context.factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91135
+ },
91136
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91137
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
91138
+ },
91139
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91140
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
91141
+ },
91142
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91143
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91144
+ },
91145
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91146
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
91147
+ },
91148
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91149
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
91150
+ },
91151
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91152
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
91153
+ },
91154
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91155
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91156
+ },
91157
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91158
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
91159
+ },
91160
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91161
+ return context.factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
91162
+ },
91163
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91164
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
91165
+ },
91166
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91167
+ return context.factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91168
+ },
91169
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91170
+ return context.factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
91171
+ },
91172
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91173
+ return context.factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
91174
+ },
91175
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91176
+ return context.factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
91177
+ },
91178
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91179
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91180
+ },
91181
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91182
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91183
+ },
91184
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91185
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91186
+ },
91187
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91188
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91189
+ },
91190
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91191
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91192
+ },
91193
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91194
+ return context.factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91195
+ },
91196
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91197
+ return context.factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91198
+ },
91199
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91200
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91201
+ },
91202
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91203
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
91204
+ },
91205
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91206
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91207
+ },
91208
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91209
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91210
+ },
91211
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91212
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91213
+ },
91214
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91215
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91216
+ },
91217
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91218
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91219
+ },
91220
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91221
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91222
+ },
91223
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91224
+ return context.factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91225
+ },
91226
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91227
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91228
+ },
91229
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91230
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91231
+ },
91232
+ // Module references
91233
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91234
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91235
+ },
91236
+ // JSX
91237
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91238
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91239
+ },
91240
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91241
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91242
+ },
91243
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91244
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91245
+ },
91246
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91247
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91248
+ },
91249
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91250
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91251
+ },
91252
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91253
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91254
+ },
91255
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91256
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91257
+ },
91258
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91259
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91260
+ },
91261
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91262
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91263
+ },
91264
+ // Clauses
91265
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91266
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91267
+ },
91268
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91269
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91270
+ },
91271
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91272
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91273
+ },
91274
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91275
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91276
+ },
91277
+ // Property assignments
91278
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91279
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91280
+ },
91281
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91282
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91283
+ },
91284
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91285
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91286
+ },
91287
+ // Enum
91288
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91289
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91290
+ },
91291
+ // Top-level nodes
91292
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91293
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91294
+ },
91295
+ // Transformation nodes
91296
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91297
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91298
+ },
91299
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91300
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91301
+ },
91302
+ _a);
91141
91303
  /**
91142
91304
  * Extracts the single node from a NodeArray.
91143
91305
  *
@@ -91205,7 +91367,7 @@ var ts;
91205
91367
  exit();
91206
91368
  return sourceIndex;
91207
91369
  }
91208
- /* eslint-disable boolean-trivia, no-null/no-null */
91370
+ /* eslint-disable local/boolean-trivia, no-null/no-null */
91209
91371
  function setSourceContent(sourceIndex, content) {
91210
91372
  enter();
91211
91373
  if (content !== null) {
@@ -91218,7 +91380,7 @@ var ts;
91218
91380
  }
91219
91381
  exit();
91220
91382
  }
91221
- /* eslint-enable boolean-trivia, no-null/no-null */
91383
+ /* eslint-enable local/boolean-trivia, no-null/no-null */
91222
91384
  function addName(name) {
91223
91385
  enter();
91224
91386
  if (!nameToNameIndexMap)
@@ -99302,8 +99464,8 @@ var ts;
99302
99464
  function convertJsxChildrenToChildrenPropAssignment(children) {
99303
99465
  var nonWhitespaceChildren = ts.getSemanticJsxChildren(children);
99304
99466
  if (ts.length(nonWhitespaceChildren) === 1 && !nonWhitespaceChildren[0].dotDotDotToken) {
99305
- var result_14 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99306
- return result_14 && factory.createPropertyAssignment("children", result_14);
99467
+ var result_13 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99468
+ return result_13 && factory.createPropertyAssignment("children", result_13);
99307
99469
  }
99308
99470
  var result = ts.mapDefined(children, transformJsxChildToExpression);
99309
99471
  return ts.length(result) ? factory.createPropertyAssignment("children", factory.createArrayLiteralExpression(result)) : undefined;
@@ -118558,15 +118720,15 @@ var ts;
118558
118720
  // which per above occurred during the current program creation.
118559
118721
  // Since we assume the filesystem does not change during program creation,
118560
118722
  // it is safe to reuse resolutions from the earlier call.
118561
- var result_15 = [];
118723
+ var result_14 = [];
118562
118724
  var i = 0;
118563
118725
  for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) {
118564
118726
  var moduleName = moduleNames_1[_i];
118565
118727
  var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
118566
118728
  i++;
118567
- result_15.push(resolvedModule);
118729
+ result_14.push(resolvedModule);
118568
118730
  }
118569
- return result_15;
118731
+ return result_14;
118570
118732
  }
118571
118733
  // At this point, we know at least one of the following hold:
118572
118734
  // - file has local declarations for ambient modules
@@ -122026,14 +122188,14 @@ var ts;
122026
122188
  fileNames_1.push(relativeToBuildInfo(sourceFile.resolvedPath));
122027
122189
  fileInfos_1.push(sourceFile.version);
122028
122190
  });
122029
- var result_16 = {
122191
+ var result_15 = {
122030
122192
  fileNames: fileNames_1,
122031
122193
  fileInfos: fileInfos_1,
122032
122194
  options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsBundleEmitBuildInfo"),
122033
122195
  outSignature: state.outSignature,
122034
122196
  latestChangedDtsFile: latestChangedDtsFile,
122035
122197
  };
122036
- return result_16;
122198
+ return result_15;
122037
122199
  }
122038
122200
  var fileNames = [];
122039
122201
  var fileNameToFileId = new ts.Map();
@@ -123971,9 +124133,9 @@ var ts;
123971
124133
  if (!preferSymlinks) {
123972
124134
  // Symlinks inside ignored paths are already filtered out of the symlink cache,
123973
124135
  // so we only need to remove them from the realpath filenames.
123974
- var result_17 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123975
- if (result_17)
123976
- return result_17;
124136
+ var result_16 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
124137
+ if (result_16)
124138
+ return result_16;
123977
124139
  }
123978
124140
  var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath();
123979
124141
  var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd);
@@ -123993,10 +124155,10 @@ var ts;
123993
124155
  for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) {
123994
124156
  var symlinkDirectory = symlinkDirectories_1[_i];
123995
124157
  var option = ts.resolvePath(symlinkDirectory, relative);
123996
- var result_18 = cb(option, target === referenceRedirect);
124158
+ var result_17 = cb(option, target === referenceRedirect);
123997
124159
  shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths
123998
- if (result_18)
123999
- return result_18;
124160
+ if (result_17)
124161
+ return result_17;
124000
124162
  }
124001
124163
  });
124002
124164
  });
@@ -132893,7 +133055,7 @@ var ts;
132893
133055
  // defined in `ts.commentPragmas` would be excessive, but we can avoid
132894
133056
  // some obvious false positives (e.g. in XML-like doc comments) by
132895
133057
  // checking the element name.
132896
- // eslint-disable-next-line no-in-operator
133058
+ // eslint-disable-next-line local/no-in-operator
132897
133059
  if (!match[3] || !(match[3] in ts.commentPragmas)) {
132898
133060
  return false;
132899
133061
  }
@@ -133595,7 +133757,7 @@ var ts;
133595
133757
  // Get string literal completions from specialized signatures of the target
133596
133758
  // i.e. declare function f(a: 'A');
133597
133759
  // f("/*completion position*/")
133598
- return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) : fromContextualType();
133760
+ return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType();
133599
133761
  }
133600
133762
  // falls through (is `require("")` or `require(""` or `import("")`)
133601
133763
  case 266 /* ImportDeclaration */:
@@ -133651,7 +133813,7 @@ var ts;
133651
133813
  isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */);
133652
133814
  return getStringLiteralTypes(type, uniques);
133653
133815
  });
133654
- return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier };
133816
+ return ts.length(types) ? { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier } : undefined;
133655
133817
  }
133656
133818
  function stringLiteralCompletionsFromProperties(type) {
133657
133819
  return type && {
@@ -140590,7 +140752,7 @@ var ts;
140590
140752
  }
140591
140753
  }
140592
140754
  function addReference(referenceLocation, relatedSymbol, state) {
140593
- var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line no-in-operator
140755
+ var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line local/no-in-operator
140594
140756
  // if rename symbol from default export anonymous function, for example `export default function() {}`, we do not need to add reference
140595
140757
  if (state.options.use === 2 /* Rename */ && referenceLocation.kind === 88 /* DefaultKeyword */) {
140596
140758
  return;
@@ -146376,11 +146538,11 @@ var ts;
146376
146538
  // not enough to put us in the substitution expression; we should consider ourselves part of
146377
146539
  // the *next* span's expression by offsetting the index (argIndex = (spanIndex + 1) + 1).
146378
146540
  //
146379
- /* eslint-disable no-double-space */
146541
+ /* eslint-disable local/no-double-space */
146380
146542
  // Example: f `# abcd $#{# 1 + 1# }# efghi ${ #"#hello"# } # `
146381
146543
  // ^ ^ ^ ^ ^ ^ ^ ^ ^
146382
146544
  // Case: 1 1 3 2 1 3 2 2 1
146383
- /* eslint-enable no-double-space */
146545
+ /* eslint-enable local/no-double-space */
146384
146546
  ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node.");
146385
146547
  if (ts.isTemplateLiteralToken(node)) {
146386
146548
  if (ts.isInsideTemplateLiteral(node, position, sourceFile)) {
@@ -154401,7 +154563,7 @@ var ts;
154401
154563
  name = getMapEntryOrDefault(funcNode.name);
154402
154564
  }
154403
154565
  // return undefined argName when arg is null or undefined
154404
- // eslint-disable-next-line no-in-operator
154566
+ // eslint-disable-next-line local/no-in-operator
154405
154567
  if (!name || "identifier" in name && name.identifier.text === "undefined") {
154406
154568
  return undefined;
154407
154569
  }
@@ -166587,7 +166749,7 @@ var ts;
166587
166749
  this.kind = kind;
166588
166750
  }
166589
166751
  NodeObject.prototype.assertHasRealPosition = function (message) {
166590
- // eslint-disable-next-line debug-assert
166752
+ // eslint-disable-next-line local/debug-assert
166591
166753
  ts.Debug.assert(!ts.positionIsSynthesized(this.pos) && !ts.positionIsSynthesized(this.end), message || "Node must have a real position for this operation");
166592
166754
  };
166593
166755
  NodeObject.prototype.getSourceFile = function () {
@@ -169631,7 +169793,7 @@ var debugObjectHost = (function () {
169631
169793
  return this;
169632
169794
  })();
169633
169795
  // We need to use 'null' to interface with the managed side.
169634
- /* eslint-disable no-in-operator */
169796
+ /* eslint-disable local/no-in-operator */
169635
169797
  /* @internal */
169636
169798
  var ts;
169637
169799
  (function (ts) {
@@ -170431,7 +170593,7 @@ var ts;
170431
170593
  }());
170432
170594
  ts.TypeScriptServicesFactory = TypeScriptServicesFactory;
170433
170595
  })(ts || (ts = {}));
170434
- /* eslint-enable no-in-operator */
170596
+ /* eslint-enable local/no-in-operator */
170435
170597
  // We polyfill `globalThis` here so re can reliably patch the global scope
170436
170598
  // in the contexts we want to in the same way across script and module formats
170437
170599
  /* eslint-enable no-var */
@@ -173072,7 +173234,7 @@ var ts;
173072
173234
  var newLS = pluginModule.create(info);
173073
173235
  for (var _i = 0, _a = Object.keys(this.languageService); _i < _a.length; _i++) {
173074
173236
  var k = _a[_i];
173075
- // eslint-disable-next-line no-in-operator
173237
+ // eslint-disable-next-line local/no-in-operator
173076
173238
  if (!(k in newLS)) {
173077
173239
  this.projectService.logger.info("Plugin activation warning: Missing proxied method " + k + " in created LS. Patching.");
173078
173240
  newLS[k] = this.languageService[k];
@@ -182017,7 +182179,7 @@ var ts;
182017
182179
  if (typeof value === "number") {
182018
182180
  return ts.factory.createNumericLiteral(value);
182019
182181
  }
182020
- // eslint-disable-next-line no-in-operator
182182
+ // eslint-disable-next-line local/no-in-operator
182021
182183
  if (typeof value === "object" && "base10Value" in value) { // PseudoBigInt
182022
182184
  return ts.factory.createBigIntLiteral(value);
182023
182185
  }
@@ -182489,9 +182651,9 @@ var ts;
182489
182651
  // - error: 5.0
182490
182652
  var ts;
182491
182653
  (function (ts) {
182492
- var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload without a 'decorators' parameter." };
182493
- var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload without a 'decorators' parameter." };
182494
- var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload without the 'decorators' or 'modifiers' parameters." };
182654
+ var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload that does not accept a 'decorators' parameter." };
182655
+ var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload that does not accept a 'decorators' parameter." };
182656
+ var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload that does not accept the 'decorators' and 'modifiers' parameters." };
182495
182657
  function patchNodeFactory(factory) {
182496
182658
  var createParameterDeclaration = factory.createParameterDeclaration, updateParameterDeclaration = factory.updateParameterDeclaration, createPropertyDeclaration = factory.createPropertyDeclaration, updatePropertyDeclaration = factory.updatePropertyDeclaration, createMethodDeclaration = factory.createMethodDeclaration, updateMethodDeclaration = factory.updateMethodDeclaration, createConstructorDeclaration = factory.createConstructorDeclaration, updateConstructorDeclaration = factory.updateConstructorDeclaration, createGetAccessorDeclaration = factory.createGetAccessorDeclaration, updateGetAccessorDeclaration = factory.updateGetAccessorDeclaration, createSetAccessorDeclaration = factory.createSetAccessorDeclaration, updateSetAccessorDeclaration = factory.updateSetAccessorDeclaration, createIndexSignature = factory.createIndexSignature, updateIndexSignature = factory.updateIndexSignature, createClassStaticBlockDeclaration = factory.createClassStaticBlockDeclaration, updateClassStaticBlockDeclaration = factory.updateClassStaticBlockDeclaration, createClassExpression = factory.createClassExpression, updateClassExpression = factory.updateClassExpression, createFunctionDeclaration = factory.createFunctionDeclaration, updateFunctionDeclaration = factory.updateFunctionDeclaration, createClassDeclaration = factory.createClassDeclaration, updateClassDeclaration = factory.updateClassDeclaration, createInterfaceDeclaration = factory.createInterfaceDeclaration, updateInterfaceDeclaration = factory.updateInterfaceDeclaration, createTypeAliasDeclaration = factory.createTypeAliasDeclaration, updateTypeAliasDeclaration = factory.updateTypeAliasDeclaration, createEnumDeclaration = factory.createEnumDeclaration, updateEnumDeclaration = factory.updateEnumDeclaration, createModuleDeclaration = factory.createModuleDeclaration, updateModuleDeclaration = factory.updateModuleDeclaration, createImportEqualsDeclaration = factory.createImportEqualsDeclaration, updateImportEqualsDeclaration = factory.updateImportEqualsDeclaration, createImportDeclaration = factory.createImportDeclaration, updateImportDeclaration = factory.updateImportDeclaration, createExportAssignment = factory.createExportAssignment, updateExportAssignment = factory.updateExportAssignment, createExportDeclaration = factory.createExportDeclaration, updateExportDeclaration = factory.updateExportDeclaration;
182497
182659
  factory.createParameterDeclaration = ts.buildOverload("createParameterDeclaration")
@@ -182718,7 +182880,7 @@ var ts;
182718
182880
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
182719
182881
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
182720
182882
  (parameters === undefined || ts.isArray(parameters)) &&
182721
- (body === undefined || !ts.isBlock(body));
182883
+ (body === undefined || ts.isBlock(body));
182722
182884
  },
182723
182885
  })
182724
182886
  .deprecate({
@@ -182747,7 +182909,7 @@ var ts;
182747
182909
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
182748
182910
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
182749
182911
  (parameters === undefined || ts.isArray(parameters)) &&
182750
- (body === undefined || !ts.isBlock(body));
182912
+ (body === undefined || ts.isBlock(body));
182751
182913
  },
182752
182914
  })
182753
182915
  .deprecate({