@typescript-deploys/pr-build 4.9.0-pr-50329-13 → 4.9.0-pr-50366-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = ts.versionMajorMinor + ".0-insiders.20220817";
92
+ ts.version = ts.versionMajorMinor + ".0-insiders.20220819";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -6121,7 +6121,6 @@ var ts;
6121
6121
  var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
6122
6122
  /* @internal */
6123
6123
  ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
6124
- /* @internal */
6125
6124
  function setCustomPollingValues(system) {
6126
6125
  if (!system.getEnvironmentVariable) {
6127
6126
  return;
@@ -6164,7 +6163,6 @@ var ts;
6164
6163
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
6165
6164
  }
6166
6165
  }
6167
- ts.setCustomPollingValues = setCustomPollingValues;
6168
6166
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
6169
6167
  var definedValueCopyToIndex = pollIndex;
6170
6168
  // Max visit would be all elements of the queue
@@ -6210,7 +6208,6 @@ var ts;
6210
6208
  }
6211
6209
  }
6212
6210
  }
6213
- /* @internal */
6214
6211
  function createDynamicPriorityPollingWatchFile(host) {
6215
6212
  var watchedFiles = [];
6216
6213
  var changedFilesInLastPoll = [];
@@ -6319,7 +6316,6 @@ var ts;
6319
6316
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
6320
6317
  }
6321
6318
  }
6322
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
6323
6319
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
6324
6320
  // One file can have multiple watchers
6325
6321
  var fileWatcherCallbacks = ts.createMultiMap();
@@ -6398,42 +6394,36 @@ var ts;
6398
6394
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
6399
6395
  }
6400
6396
  }
6401
- /* @internal */
6402
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
6403
- var cache = new ts.Map();
6404
- var callbacksCache = ts.createMultiMap();
6397
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
6405
6398
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
6406
- return function (fileName, callback, pollingInterval, options) {
6407
- var path = toCanonicalFileName(fileName);
6408
- var existing = cache.get(path);
6409
- if (existing) {
6410
- existing.refCount++;
6411
- }
6412
- else {
6413
- cache.set(path, {
6414
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
6415
- refCount: 1
6416
- });
6399
+ var path = toCanonicalFileName(name);
6400
+ var existing = cache.get(path);
6401
+ if (existing) {
6402
+ existing.callbacks.push(callback);
6403
+ }
6404
+ else {
6405
+ cache.set(path, {
6406
+ watcher: createWatcher((
6407
+ // Cant infer types correctly so lets satisfy checker
6408
+ function (param1, param2, param3) { var _a; return (_a = cache.get(path)) === null || _a === void 0 ? void 0 : _a.callbacks.slice().forEach(function (cb) { return cb(param1, param2, param3); }); })),
6409
+ callbacks: [callback]
6410
+ });
6411
+ }
6412
+ return {
6413
+ close: function () {
6414
+ var watcher = cache.get(path);
6415
+ if (!watcher)
6416
+ return;
6417
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
6418
+ return;
6419
+ cache.delete(path);
6420
+ ts.closeFileWatcherOf(watcher);
6417
6421
  }
6418
- callbacksCache.add(path, callback);
6419
- return {
6420
- close: function () {
6421
- var watcher = ts.Debug.checkDefined(cache.get(path));
6422
- callbacksCache.remove(path, callback);
6423
- watcher.refCount--;
6424
- if (watcher.refCount)
6425
- return;
6426
- cache.delete(path);
6427
- ts.closeFileWatcherOf(watcher);
6428
- }
6429
- };
6430
6422
  };
6431
6423
  }
6432
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
6433
6424
  /**
6434
6425
  * Returns true if file status changed
6435
6426
  */
6436
- /*@internal*/
6437
6427
  function onWatchedFileStat(watchedFile, modifiedTime) {
6438
6428
  var oldTime = watchedFile.mtime.getTime();
6439
6429
  var newTime = modifiedTime.getTime();
@@ -6445,7 +6435,6 @@ var ts;
6445
6435
  }
6446
6436
  return false;
6447
6437
  }
6448
- ts.onWatchedFileStat = onWatchedFileStat;
6449
6438
  /*@internal*/
6450
6439
  function getFileWatcherEventKind(oldTime, newTime) {
6451
6440
  return oldTime === 0
@@ -6473,7 +6462,6 @@ var ts;
6473
6462
  * that means if this is recursive watcher, watch the children directories as well
6474
6463
  * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile)
6475
6464
  */
6476
- /*@internal*/
6477
6465
  function createDirectoryWatcherSupportingRecursive(_a) {
6478
6466
  var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, fileSystemEntryExists = _a.fileSystemEntryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout;
6479
6467
  var cache = new ts.Map();
@@ -6682,18 +6670,15 @@ var ts;
6682
6670
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
6683
6671
  }
6684
6672
  }
6685
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
6686
6673
  /*@internal*/
6687
6674
  var FileSystemEntryKind;
6688
6675
  (function (FileSystemEntryKind) {
6689
6676
  FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File";
6690
6677
  FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory";
6691
6678
  })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {}));
6692
- /*@internal*/
6693
6679
  function createFileWatcherCallback(callback) {
6694
6680
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
6695
6681
  }
6696
- ts.createFileWatcherCallback = createFileWatcherCallback;
6697
6682
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
6698
6683
  return function (eventName, _relativeFileName, modifiedTime) {
6699
6684
  if (eventName === "rename") {
@@ -6727,7 +6712,10 @@ var ts;
6727
6712
  }
6728
6713
  /*@internal*/
6729
6714
  function createSystemWatchFunctions(_a) {
6730
- var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
6715
+ var pollingWatchFileWorker = _a.pollingWatchFileWorker, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
6716
+ var pollingWatches = new ts.Map();
6717
+ var fsWatches = new ts.Map();
6718
+ var fsWatchesRecursive = new ts.Map();
6731
6719
  var dynamicPollingWatchFile;
6732
6720
  var fixedChunkSizePollingWatchFile;
6733
6721
  var nonPollingWatchFile;
@@ -6791,7 +6779,7 @@ var ts;
6791
6779
  // Use notifications from FS to watch with falling back to fs.watchFile
6792
6780
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
6793
6781
  // Default to do not use fixed polling interval
6794
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
6782
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
6795
6783
  }
6796
6784
  }
6797
6785
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -6862,7 +6850,13 @@ var ts;
6862
6850
  };
6863
6851
  }
6864
6852
  }
6853
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
6854
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
6855
+ }
6865
6856
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6857
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingPresence(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
6858
+ }
6859
+ function fsWatchHandlingPresence(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6866
6860
  var lastDirectoryPartWithDirectorySeparator;
6867
6861
  var lastDirectoryPart;
6868
6862
  if (inodeWatching) {
@@ -7041,7 +7035,7 @@ var ts;
7041
7035
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
7042
7036
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
7043
7037
  var _b = createSystemWatchFunctions({
7044
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
7038
+ pollingWatchFileWorker: fsWatchFileWorker,
7045
7039
  getModifiedTime: getModifiedTime,
7046
7040
  setTimeout: setTimeout,
7047
7041
  clearTimeout: clearTimeout,
@@ -43092,10 +43086,12 @@ var ts;
43092
43086
  if (resolved) {
43093
43087
  var fileName = resolved.fileName, packageId = resolved.packageId;
43094
43088
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43089
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43095
43090
  resolvedTypeReferenceDirective = {
43096
43091
  primary: primary,
43097
- resolvedFileName: resolvedFileName,
43098
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43092
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43093
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43094
+ originalPath: pathsAreEqual ? undefined : fileName,
43099
43095
  packageId: packageId,
43100
43096
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43101
43097
  };
@@ -43880,8 +43876,10 @@ var ts;
43880
43876
  var resolvedValue = resolved_1.value;
43881
43877
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43882
43878
  var path = realPath(resolvedValue.path, host, traceEnabled);
43883
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43884
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
43879
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
43880
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
43881
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43882
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43885
43883
  }
43886
43884
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43887
43885
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -65665,38 +65663,6 @@ var ts;
65665
65663
  }
65666
65664
  return 0 /* False */;
65667
65665
  }
65668
- // Before normalization: Intersections applied to unions create an explosion of types when normalized -
65669
- // handling those inner intersections can be very costly, so it can be beneficial to factor them out early.
65670
- // If both the source and target are intersections, we can remove the common types from them before formal normalization,
65671
- // and run a simplified comparison without those common members.
65672
- if (originalSource.flags & originalTarget.flags & 2097152 /* Intersection */) {
65673
- var combinedTypeSet_1 = new ts.Map();
65674
- ts.forEach(originalSource.types, function (t) { return combinedTypeSet_1.set(getTypeId(t), 1); });
65675
- var hasOverlap_1 = false;
65676
- ts.forEach(originalTarget.types, function (t) {
65677
- var id = getTypeId(t);
65678
- if (combinedTypeSet_1.has(id)) {
65679
- combinedTypeSet_1.set(getTypeId(t), 2);
65680
- hasOverlap_1 = true;
65681
- }
65682
- });
65683
- if (hasOverlap_1) {
65684
- var filteredSource = ts.filter(originalSource.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65685
- var filteredTarget = ts.filter(originalTarget.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65686
- if (!ts.length(filteredTarget)) {
65687
- return -1 /* True */; // Source has all parts of target
65688
- }
65689
- if (ts.length(filteredSource)) {
65690
- var result_7;
65691
- if (result_7 = isRelatedTo(getIntersectionType(filteredSource), getIntersectionType(filteredTarget), recursionFlags, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
65692
- return result_7;
65693
- }
65694
- // In the false case, we may still be assignable at the structural level, rather than the algebraic level
65695
- }
65696
- // Even if every member of the source is in the target but the target still has members left, the source may still be assignable
65697
- // 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
65698
- }
65699
- }
65700
65666
  // Normalize the source and target types: Turn fresh literal types into regular literal types,
65701
65667
  // turn deferred type references into regular type references, simplify indexed access and
65702
65668
  // conditional types, and resolve substitution types to either the substitution (on the source
@@ -65772,7 +65738,7 @@ var ts;
65772
65738
  traceUnionsOrIntersectionsTooLarge(source, target);
65773
65739
  var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) ||
65774
65740
  target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */);
65775
- var result_8 = skipCaching ?
65741
+ var result_7 = skipCaching ?
65776
65742
  unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) :
65777
65743
  recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags);
65778
65744
  // For certain combinations involving intersections and optional, excess, or mismatched properties we need
@@ -65790,14 +65756,14 @@ var ts;
65790
65756
  //
65791
65757
  // We suppress recursive intersection property checks because they can generate lots of work when relating
65792
65758
  // recursive intersections that are structurally similar but not exactly identical. See #37854.
65793
- if (result_8 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65759
+ if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65794
65760
  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 */); }))) {
65795
65761
  inPropertyCheck = true;
65796
- result_8 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65762
+ result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65797
65763
  inPropertyCheck = false;
65798
65764
  }
65799
- if (result_8) {
65800
- return result_8;
65765
+ if (result_7) {
65766
+ return result_7;
65801
65767
  }
65802
65768
  }
65803
65769
  if (reportErrors) {
@@ -66186,9 +66152,6 @@ var ts;
66186
66152
  // equal and infinitely expanding. Fourth, if we have reached a depth of 100 nested comparisons, assume we have runaway recursion
66187
66153
  // and issue an error. Otherwise, actually compare the structure of the two types.
66188
66154
  function recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags) {
66189
- if (relation.size > Math.pow(2, 20)) {
66190
- debugger;
66191
- }
66192
66155
  if (overflow) {
66193
66156
  return 0 /* False */;
66194
66157
  }
@@ -66347,11 +66310,11 @@ var ts;
66347
66310
  if (relation === identityRelation) {
66348
66311
  // We've already checked that source.flags and target.flags are identical
66349
66312
  if (sourceFlags & 3145728 /* UnionOrIntersection */) {
66350
- var result_9 = eachTypeRelatedToSomeType(source, target);
66351
- if (result_9) {
66352
- result_9 &= eachTypeRelatedToSomeType(target, source);
66313
+ var result_8 = eachTypeRelatedToSomeType(source, target);
66314
+ if (result_8) {
66315
+ result_8 &= eachTypeRelatedToSomeType(target, source);
66353
66316
  }
66354
- return result_9;
66317
+ return result_8;
66355
66318
  }
66356
66319
  if (sourceFlags & 4194304 /* Index */) {
66357
66320
  return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false);
@@ -66840,9 +66803,9 @@ var ts;
66840
66803
  if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) {
66841
66804
  var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */);
66842
66805
  if (objectOnlyTarget.flags & 1048576 /* Union */) {
66843
- var result_10 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66844
- if (result_10) {
66845
- return result_10;
66806
+ var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66807
+ if (result_9) {
66808
+ return result_9;
66846
66809
  }
66847
66810
  }
66848
66811
  }
@@ -66902,13 +66865,13 @@ var ts;
66902
66865
  var modifiersRelated = relation === comparableRelation || (relation === identityRelation ? getMappedTypeModifiers(source) === getMappedTypeModifiers(target) :
66903
66866
  getCombinedMappedTypeOptionality(source) <= getCombinedMappedTypeOptionality(target));
66904
66867
  if (modifiersRelated) {
66905
- var result_11;
66868
+ var result_10;
66906
66869
  var targetConstraint = getConstraintTypeFromMappedType(target);
66907
66870
  var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
66908
- if (result_11 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66871
+ if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66909
66872
  var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]);
66910
66873
  if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) {
66911
- return result_11 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66874
+ return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66912
66875
  }
66913
66876
  }
66914
66877
  }
@@ -78259,10 +78222,10 @@ var ts;
78259
78222
  hasSignatures || (hasSignatures = resolved.callSignatures.length !== 0 || resolved.constructSignatures.length !== 0);
78260
78223
  hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0);
78261
78224
  if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) {
78262
- var result_12 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78263
- result_12.objectFlags |= 8388608 /* InstantiationExpressionType */;
78264
- result_12.node = node;
78265
- return result_12;
78225
+ var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78226
+ result_11.objectFlags |= 8388608 /* InstantiationExpressionType */;
78227
+ result_11.node = node;
78228
+ return result_11;
78266
78229
  }
78267
78230
  }
78268
78231
  else if (type.flags & 58982400 /* InstantiableNonPrimitive */) {
@@ -82097,12 +82060,12 @@ var ts;
82097
82060
  case 265 /* ImportEqualsDeclaration */:
82098
82061
  case 268 /* NamespaceImport */:
82099
82062
  case 267 /* ImportClause */:
82100
- var result_13 = 0 /* None */;
82063
+ var result_12 = 0 /* None */;
82101
82064
  var target = resolveAlias(getSymbolOfNode(d));
82102
82065
  ts.forEach(target.declarations, function (d) {
82103
- result_13 |= getDeclarationSpaces(d);
82066
+ result_12 |= getDeclarationSpaces(d);
82104
82067
  });
82105
- return result_13;
82068
+ return result_12;
82106
82069
  case 254 /* VariableDeclaration */:
82107
82070
  case 203 /* BindingElement */:
82108
82071
  case 256 /* FunctionDeclaration */:
@@ -90431,6 +90394,7 @@ var ts;
90431
90394
  })(ts || (ts = {}));
90432
90395
  var ts;
90433
90396
  (function (ts) {
90397
+ var _a;
90434
90398
  function visitNode(node, visitor, test, lift) {
90435
90399
  if (node === undefined || visitor === undefined) {
90436
90400
  return node;
@@ -90645,12 +90609,10 @@ var ts;
90645
90609
  return updated;
90646
90610
  }
90647
90611
  ts.visitFunctionBody = visitFunctionBody;
90648
- /**
90649
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90650
- */
90651
- function visitIterationBody(body, visitor, context) {
90612
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90613
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90652
90614
  context.startBlockScope();
90653
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90615
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90654
90616
  var declarations = context.endBlockScope();
90655
90617
  if (ts.some(declarations)) {
90656
90618
  if (ts.isBlock(updated)) {
@@ -90669,456 +90631,443 @@ var ts;
90669
90631
  if (node === undefined) {
90670
90632
  return undefined;
90671
90633
  }
90672
- var kind = node.kind;
90673
- // No need to visit nodes with no children.
90674
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90675
- return node;
90676
- }
90677
- var factory = context.factory;
90678
- switch (kind) {
90679
- // Names
90680
- case 79 /* Identifier */:
90681
- ts.Debug.type(node);
90682
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90683
- case 161 /* QualifiedName */:
90684
- ts.Debug.type(node);
90685
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90686
- case 162 /* ComputedPropertyName */:
90687
- ts.Debug.type(node);
90688
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90689
- // Signature elements
90690
- case 163 /* TypeParameter */:
90691
- ts.Debug.type(node);
90692
- 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));
90693
- case 164 /* Parameter */:
90694
- ts.Debug.type(node);
90695
- 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));
90696
- case 165 /* Decorator */:
90697
- ts.Debug.type(node);
90698
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90699
- // Type elements
90700
- case 166 /* PropertySignature */:
90701
- ts.Debug.type(node);
90702
- 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));
90703
- case 167 /* PropertyDeclaration */:
90704
- ts.Debug.type(node);
90705
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90706
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90707
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90708
- case 168 /* MethodSignature */:
90709
- ts.Debug.type(node);
90710
- 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));
90711
- case 169 /* MethodDeclaration */:
90712
- ts.Debug.type(node);
90713
- 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));
90714
- case 171 /* Constructor */:
90715
- ts.Debug.type(node);
90716
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90717
- case 172 /* GetAccessor */:
90718
- ts.Debug.type(node);
90719
- 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));
90720
- case 173 /* SetAccessor */:
90721
- ts.Debug.type(node);
90722
- 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));
90723
- case 170 /* ClassStaticBlockDeclaration */:
90724
- ts.Debug.type(node);
90725
- context.startLexicalEnvironment();
90726
- context.suspendLexicalEnvironment();
90727
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90728
- case 174 /* CallSignature */:
90729
- ts.Debug.type(node);
90730
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90731
- case 175 /* ConstructSignature */:
90732
- ts.Debug.type(node);
90733
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90734
- case 176 /* IndexSignature */:
90735
- ts.Debug.type(node);
90736
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90737
- // Types
90738
- case 177 /* TypePredicate */:
90739
- ts.Debug.type(node);
90740
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90741
- case 178 /* TypeReference */:
90742
- ts.Debug.type(node);
90743
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90744
- case 179 /* FunctionType */:
90745
- ts.Debug.type(node);
90746
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90747
- case 180 /* ConstructorType */:
90748
- ts.Debug.type(node);
90749
- 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));
90750
- case 181 /* TypeQuery */:
90751
- ts.Debug.type(node);
90752
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90753
- case 182 /* TypeLiteral */:
90754
- ts.Debug.type(node);
90755
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90756
- case 183 /* ArrayType */:
90757
- ts.Debug.type(node);
90758
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90759
- case 184 /* TupleType */:
90760
- ts.Debug.type(node);
90761
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90762
- case 185 /* OptionalType */:
90763
- ts.Debug.type(node);
90764
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90765
- case 186 /* RestType */:
90766
- ts.Debug.type(node);
90767
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90768
- case 187 /* UnionType */:
90769
- ts.Debug.type(node);
90770
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90771
- case 188 /* IntersectionType */:
90772
- ts.Debug.type(node);
90773
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90774
- case 189 /* ConditionalType */:
90775
- ts.Debug.type(node);
90776
- 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));
90777
- case 190 /* InferType */:
90778
- ts.Debug.type(node);
90779
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90780
- case 200 /* ImportType */:
90781
- ts.Debug.type(node);
90782
- 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);
90783
- case 295 /* ImportTypeAssertionContainer */:
90784
- ts.Debug.type(node);
90785
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90786
- case 197 /* NamedTupleMember */:
90787
- ts.Debug.type(node);
90788
- 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));
90789
- case 191 /* ParenthesizedType */:
90790
- ts.Debug.type(node);
90791
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90792
- case 193 /* TypeOperator */:
90793
- ts.Debug.type(node);
90794
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90795
- case 194 /* IndexedAccessType */:
90796
- ts.Debug.type(node);
90797
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90798
- case 195 /* MappedType */:
90799
- ts.Debug.type(node);
90800
- 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));
90801
- case 196 /* LiteralType */:
90802
- ts.Debug.type(node);
90803
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90804
- case 198 /* TemplateLiteralType */:
90805
- ts.Debug.type(node);
90806
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90807
- case 199 /* TemplateLiteralTypeSpan */:
90808
- ts.Debug.type(node);
90809
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90810
- // Binding patterns
90811
- case 201 /* ObjectBindingPattern */:
90812
- ts.Debug.type(node);
90813
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90814
- case 202 /* ArrayBindingPattern */:
90815
- ts.Debug.type(node);
90816
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90817
- case 203 /* BindingElement */:
90818
- ts.Debug.type(node);
90819
- 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));
90820
- // Expression
90821
- case 204 /* ArrayLiteralExpression */:
90822
- ts.Debug.type(node);
90823
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90824
- case 205 /* ObjectLiteralExpression */:
90825
- ts.Debug.type(node);
90826
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90827
- case 206 /* PropertyAccessExpression */:
90828
- if (node.flags & 32 /* OptionalChain */) {
90829
- ts.Debug.type(node);
90830
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90831
- }
90832
- ts.Debug.type(node);
90833
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90834
- case 207 /* ElementAccessExpression */:
90835
- if (node.flags & 32 /* OptionalChain */) {
90836
- ts.Debug.type(node);
90837
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90838
- }
90839
- ts.Debug.type(node);
90840
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90841
- case 208 /* CallExpression */:
90842
- if (node.flags & 32 /* OptionalChain */) {
90843
- ts.Debug.type(node);
90844
- 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));
90845
- }
90846
- ts.Debug.type(node);
90847
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90848
- case 209 /* NewExpression */:
90849
- ts.Debug.type(node);
90850
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90851
- case 210 /* TaggedTemplateExpression */:
90852
- ts.Debug.type(node);
90853
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90854
- case 211 /* TypeAssertionExpression */:
90855
- ts.Debug.type(node);
90856
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90857
- case 212 /* ParenthesizedExpression */:
90858
- ts.Debug.type(node);
90859
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90860
- case 213 /* FunctionExpression */:
90861
- ts.Debug.type(node);
90862
- 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));
90863
- case 214 /* ArrowFunction */:
90864
- ts.Debug.type(node);
90865
- 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));
90866
- case 215 /* DeleteExpression */:
90867
- ts.Debug.type(node);
90868
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90869
- case 216 /* TypeOfExpression */:
90870
- ts.Debug.type(node);
90871
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90872
- case 217 /* VoidExpression */:
90873
- ts.Debug.type(node);
90874
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90875
- case 218 /* AwaitExpression */:
90876
- ts.Debug.type(node);
90877
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90878
- case 219 /* PrefixUnaryExpression */:
90879
- ts.Debug.type(node);
90880
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90881
- case 220 /* PostfixUnaryExpression */:
90882
- ts.Debug.type(node);
90883
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90884
- case 221 /* BinaryExpression */:
90885
- ts.Debug.type(node);
90886
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90887
- case 222 /* ConditionalExpression */:
90888
- ts.Debug.type(node);
90889
- 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));
90890
- case 223 /* TemplateExpression */:
90891
- ts.Debug.type(node);
90892
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90893
- case 224 /* YieldExpression */:
90894
- ts.Debug.type(node);
90895
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90896
- case 225 /* SpreadElement */:
90897
- ts.Debug.type(node);
90898
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90899
- case 226 /* ClassExpression */:
90900
- ts.Debug.type(node);
90901
- 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));
90902
- case 228 /* ExpressionWithTypeArguments */:
90903
- ts.Debug.type(node);
90904
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90905
- case 229 /* AsExpression */:
90906
- ts.Debug.type(node);
90907
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90908
- case 230 /* NonNullExpression */:
90909
- if (node.flags & 32 /* OptionalChain */) {
90910
- ts.Debug.type(node);
90911
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90912
- }
90913
- ts.Debug.type(node);
90914
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90915
- case 231 /* MetaProperty */:
90916
- ts.Debug.type(node);
90917
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90918
- // Misc
90919
- case 233 /* TemplateSpan */:
90920
- ts.Debug.type(node);
90921
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90922
- // Element
90923
- case 235 /* Block */:
90924
- ts.Debug.type(node);
90925
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90926
- case 237 /* VariableStatement */:
90927
- ts.Debug.type(node);
90928
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90929
- case 238 /* ExpressionStatement */:
90930
- ts.Debug.type(node);
90931
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90932
- case 239 /* IfStatement */:
90933
- ts.Debug.type(node);
90934
- 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));
90935
- case 240 /* DoStatement */:
90936
- ts.Debug.type(node);
90937
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90938
- case 241 /* WhileStatement */:
90939
- ts.Debug.type(node);
90940
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90941
- case 242 /* ForStatement */:
90942
- ts.Debug.type(node);
90943
- 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));
90944
- case 243 /* ForInStatement */:
90945
- ts.Debug.type(node);
90946
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90947
- case 244 /* ForOfStatement */:
90948
- ts.Debug.type(node);
90949
- 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));
90950
- case 245 /* ContinueStatement */:
90951
- ts.Debug.type(node);
90952
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90953
- case 246 /* BreakStatement */:
90954
- ts.Debug.type(node);
90955
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90956
- case 247 /* ReturnStatement */:
90957
- ts.Debug.type(node);
90958
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90959
- case 248 /* WithStatement */:
90960
- ts.Debug.type(node);
90961
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90962
- case 249 /* SwitchStatement */:
90963
- ts.Debug.type(node);
90964
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90965
- case 250 /* LabeledStatement */:
90966
- ts.Debug.type(node);
90967
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90968
- case 251 /* ThrowStatement */:
90969
- ts.Debug.type(node);
90970
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90971
- case 252 /* TryStatement */:
90972
- ts.Debug.type(node);
90973
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90974
- case 254 /* VariableDeclaration */:
90975
- ts.Debug.type(node);
90976
- 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));
90977
- case 255 /* VariableDeclarationList */:
90978
- ts.Debug.type(node);
90979
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90980
- case 256 /* FunctionDeclaration */:
90981
- ts.Debug.type(node);
90982
- 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));
90983
- case 257 /* ClassDeclaration */:
90984
- ts.Debug.type(node);
90985
- 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));
90986
- case 258 /* InterfaceDeclaration */:
90987
- ts.Debug.type(node);
90988
- 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));
90989
- case 259 /* TypeAliasDeclaration */:
90990
- ts.Debug.type(node);
90991
- 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));
90992
- case 260 /* EnumDeclaration */:
90993
- ts.Debug.type(node);
90994
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90995
- case 261 /* ModuleDeclaration */:
90996
- ts.Debug.type(node);
90997
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90998
- case 262 /* ModuleBlock */:
90999
- ts.Debug.type(node);
91000
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91001
- case 263 /* CaseBlock */:
91002
- ts.Debug.type(node);
91003
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91004
- case 264 /* NamespaceExportDeclaration */:
91005
- ts.Debug.type(node);
91006
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91007
- case 265 /* ImportEqualsDeclaration */:
91008
- ts.Debug.type(node);
91009
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91010
- case 266 /* ImportDeclaration */:
91011
- ts.Debug.type(node);
91012
- 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));
91013
- case 293 /* AssertClause */:
91014
- ts.Debug.type(node);
91015
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91016
- case 294 /* AssertEntry */:
91017
- ts.Debug.type(node);
91018
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
91019
- case 267 /* ImportClause */:
91020
- ts.Debug.type(node);
91021
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91022
- case 268 /* NamespaceImport */:
91023
- ts.Debug.type(node);
91024
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91025
- case 274 /* NamespaceExport */:
91026
- ts.Debug.type(node);
91027
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91028
- case 269 /* NamedImports */:
91029
- ts.Debug.type(node);
91030
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91031
- case 270 /* ImportSpecifier */:
91032
- ts.Debug.type(node);
91033
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91034
- case 271 /* ExportAssignment */:
91035
- ts.Debug.type(node);
91036
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91037
- case 272 /* ExportDeclaration */:
91038
- ts.Debug.type(node);
91039
- 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));
91040
- case 273 /* NamedExports */:
91041
- ts.Debug.type(node);
91042
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91043
- case 275 /* ExportSpecifier */:
91044
- ts.Debug.type(node);
91045
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91046
- // Module references
91047
- case 277 /* ExternalModuleReference */:
91048
- ts.Debug.type(node);
91049
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91050
- // JSX
91051
- case 278 /* JsxElement */:
91052
- ts.Debug.type(node);
91053
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91054
- case 279 /* JsxSelfClosingElement */:
91055
- ts.Debug.type(node);
91056
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91057
- case 280 /* JsxOpeningElement */:
91058
- ts.Debug.type(node);
91059
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91060
- case 281 /* JsxClosingElement */:
91061
- ts.Debug.type(node);
91062
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91063
- case 282 /* JsxFragment */:
91064
- ts.Debug.type(node);
91065
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91066
- case 285 /* JsxAttribute */:
91067
- ts.Debug.type(node);
91068
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91069
- case 286 /* JsxAttributes */:
91070
- ts.Debug.type(node);
91071
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91072
- case 287 /* JsxSpreadAttribute */:
91073
- ts.Debug.type(node);
91074
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91075
- case 288 /* JsxExpression */:
91076
- ts.Debug.type(node);
91077
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91078
- // Clauses
91079
- case 289 /* CaseClause */:
91080
- ts.Debug.type(node);
91081
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91082
- case 290 /* DefaultClause */:
91083
- ts.Debug.type(node);
91084
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91085
- case 291 /* HeritageClause */:
91086
- ts.Debug.type(node);
91087
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91088
- case 292 /* CatchClause */:
91089
- ts.Debug.type(node);
91090
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91091
- // Property assignments
91092
- case 296 /* PropertyAssignment */:
91093
- ts.Debug.type(node);
91094
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91095
- case 297 /* ShorthandPropertyAssignment */:
91096
- ts.Debug.type(node);
91097
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91098
- case 298 /* SpreadAssignment */:
91099
- ts.Debug.type(node);
91100
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91101
- // Enum
91102
- case 299 /* EnumMember */:
91103
- ts.Debug.type(node);
91104
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91105
- // Top-level nodes
91106
- case 305 /* SourceFile */:
91107
- ts.Debug.type(node);
91108
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91109
- // Transformation nodes
91110
- case 350 /* PartiallyEmittedExpression */:
91111
- ts.Debug.type(node);
91112
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91113
- case 351 /* CommaListExpression */:
91114
- ts.Debug.type(node);
91115
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91116
- default:
91117
- // No need to visit nodes with no children.
91118
- return node;
91119
- }
90634
+ var fn = visitEachChildTable[node.kind];
90635
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91120
90636
  }
91121
90637
  ts.visitEachChild = visitEachChild;
90638
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90639
+ // wish to add is defined in the `HasChildren` union in types.ts.
90640
+ var visitEachChildTable = (_a = {},
90641
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90642
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90643
+ },
90644
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90645
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90646
+ },
90647
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90648
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90649
+ },
90650
+ // Signature elements
90651
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90652
+ 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));
90653
+ },
90654
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90655
+ 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));
90656
+ },
90657
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90658
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90659
+ },
90660
+ // Type elements
90661
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90662
+ 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));
90663
+ },
90664
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90665
+ var _a;
90666
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90667
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90668
+ 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));
90669
+ },
90670
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90671
+ 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));
90672
+ },
90673
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90674
+ 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));
90675
+ },
90676
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90677
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90678
+ },
90679
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90680
+ 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));
90681
+ },
90682
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90683
+ 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));
90684
+ },
90685
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90686
+ context.startLexicalEnvironment();
90687
+ context.suspendLexicalEnvironment();
90688
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90689
+ },
90690
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90691
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90692
+ },
90693
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90694
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90695
+ },
90696
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90697
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90698
+ },
90699
+ // Types
90700
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90701
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90702
+ },
90703
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90704
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90705
+ },
90706
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90707
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90708
+ },
90709
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90710
+ 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));
90711
+ },
90712
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90713
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90714
+ },
90715
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90716
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90717
+ },
90718
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90719
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90720
+ },
90721
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90722
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90723
+ },
90724
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90725
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90726
+ },
90727
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90728
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90729
+ },
90730
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90731
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90732
+ },
90733
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90734
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90735
+ },
90736
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90737
+ 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));
90738
+ },
90739
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90740
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90741
+ },
90742
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90743
+ 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);
90744
+ },
90745
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90746
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90747
+ },
90748
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90749
+ 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));
90750
+ },
90751
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90752
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90753
+ },
90754
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90755
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90756
+ },
90757
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90758
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90759
+ },
90760
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90761
+ 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));
90762
+ },
90763
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90764
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90765
+ },
90766
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90767
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90768
+ },
90769
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90770
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90771
+ },
90772
+ // Binding patterns
90773
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90774
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90775
+ },
90776
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90777
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90778
+ },
90779
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90780
+ 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));
90781
+ },
90782
+ // Expression
90783
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90784
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90785
+ },
90786
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90787
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90788
+ },
90789
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90790
+ return ts.isPropertyAccessChain(node) ?
90791
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
90792
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90793
+ },
90794
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90795
+ return ts.isElementAccessChain(node) ?
90796
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
90797
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90798
+ },
90799
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90800
+ return ts.isCallChain(node) ?
90801
+ 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)) :
90802
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90803
+ },
90804
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90805
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90806
+ },
90807
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90808
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90809
+ },
90810
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90811
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90812
+ },
90813
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90814
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90815
+ },
90816
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90817
+ 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));
90818
+ },
90819
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90820
+ 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));
90821
+ },
90822
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90823
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90824
+ },
90825
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90826
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90827
+ },
90828
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90829
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90830
+ },
90831
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90832
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90833
+ },
90834
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90835
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90836
+ },
90837
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90838
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90839
+ },
90840
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90841
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90842
+ },
90843
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90844
+ 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));
90845
+ },
90846
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90847
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90848
+ },
90849
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90850
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90851
+ },
90852
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90853
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90854
+ },
90855
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90856
+ 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));
90857
+ },
90858
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90859
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90860
+ },
90861
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90862
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90863
+ },
90864
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90865
+ return ts.isOptionalChain(node) ?
90866
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
90867
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90868
+ },
90869
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90870
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90871
+ },
90872
+ // Misc
90873
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90874
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90875
+ },
90876
+ // Element
90877
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90878
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90879
+ },
90880
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90881
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90882
+ },
90883
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90884
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90885
+ },
90886
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90887
+ 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));
90888
+ },
90889
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90890
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
90891
+ },
90892
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90893
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90894
+ },
90895
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90896
+ 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));
90897
+ },
90898
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90899
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90900
+ },
90901
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90902
+ 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));
90903
+ },
90904
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90905
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90906
+ },
90907
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90908
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90909
+ },
90910
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90911
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90912
+ },
90913
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90914
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90915
+ },
90916
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90917
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90918
+ },
90919
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90920
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90921
+ },
90922
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90923
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90924
+ },
90925
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90926
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90927
+ },
90928
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90929
+ 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));
90930
+ },
90931
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90932
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90933
+ },
90934
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90935
+ 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));
90936
+ },
90937
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90938
+ 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));
90939
+ },
90940
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90941
+ 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));
90942
+ },
90943
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90944
+ 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));
90945
+ },
90946
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90947
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90948
+ },
90949
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90950
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90951
+ },
90952
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90953
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90954
+ },
90955
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90956
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
90957
+ },
90958
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90959
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90960
+ },
90961
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90962
+ 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));
90963
+ },
90964
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90965
+ 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));
90966
+ },
90967
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90968
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
90969
+ },
90970
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90971
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
90972
+ },
90973
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90974
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
90975
+ },
90976
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90977
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90978
+ },
90979
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90980
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90981
+ },
90982
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90983
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
90984
+ },
90985
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90986
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
90987
+ },
90988
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90989
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
90990
+ },
90991
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90992
+ 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));
90993
+ },
90994
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90995
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
90996
+ },
90997
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90998
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
90999
+ },
91000
+ // Module references
91001
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91002
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91003
+ },
91004
+ // JSX
91005
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91006
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91007
+ },
91008
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91009
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91010
+ },
91011
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91012
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91013
+ },
91014
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91015
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91016
+ },
91017
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91018
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91019
+ },
91020
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91021
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91022
+ },
91023
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91024
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91025
+ },
91026
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91027
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91028
+ },
91029
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91030
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91031
+ },
91032
+ // Clauses
91033
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91034
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91035
+ },
91036
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91037
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91038
+ },
91039
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91040
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91041
+ },
91042
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91043
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91044
+ },
91045
+ // Property assignments
91046
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91047
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91048
+ },
91049
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91050
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91051
+ },
91052
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91053
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91054
+ },
91055
+ // Enum
91056
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91057
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91058
+ },
91059
+ // Top-level nodes
91060
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91061
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91062
+ },
91063
+ // Transformation nodes
91064
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91065
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91066
+ },
91067
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91068
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91069
+ },
91070
+ _a);
91122
91071
  /**
91123
91072
  * Extracts the single node from a NodeArray.
91124
91073
  *
@@ -99283,8 +99232,8 @@ var ts;
99283
99232
  function convertJsxChildrenToChildrenPropAssignment(children) {
99284
99233
  var nonWhitespaceChildren = ts.getSemanticJsxChildren(children);
99285
99234
  if (ts.length(nonWhitespaceChildren) === 1 && !nonWhitespaceChildren[0].dotDotDotToken) {
99286
- var result_14 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99287
- return result_14 && factory.createPropertyAssignment("children", result_14);
99235
+ var result_13 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99236
+ return result_13 && factory.createPropertyAssignment("children", result_13);
99288
99237
  }
99289
99238
  var result = ts.mapDefined(children, transformJsxChildToExpression);
99290
99239
  return ts.length(result) ? factory.createPropertyAssignment("children", factory.createArrayLiteralExpression(result)) : undefined;
@@ -118539,15 +118488,15 @@ var ts;
118539
118488
  // which per above occurred during the current program creation.
118540
118489
  // Since we assume the filesystem does not change during program creation,
118541
118490
  // it is safe to reuse resolutions from the earlier call.
118542
- var result_15 = [];
118491
+ var result_14 = [];
118543
118492
  var i = 0;
118544
118493
  for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) {
118545
118494
  var moduleName = moduleNames_1[_i];
118546
118495
  var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
118547
118496
  i++;
118548
- result_15.push(resolvedModule);
118497
+ result_14.push(resolvedModule);
118549
118498
  }
118550
- return result_15;
118499
+ return result_14;
118551
118500
  }
118552
118501
  // At this point, we know at least one of the following hold:
118553
118502
  // - file has local declarations for ambient modules
@@ -122007,14 +121956,14 @@ var ts;
122007
121956
  fileNames_1.push(relativeToBuildInfo(sourceFile.resolvedPath));
122008
121957
  fileInfos_1.push(sourceFile.version);
122009
121958
  });
122010
- var result_16 = {
121959
+ var result_15 = {
122011
121960
  fileNames: fileNames_1,
122012
121961
  fileInfos: fileInfos_1,
122013
121962
  options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsBundleEmitBuildInfo"),
122014
121963
  outSignature: state.outSignature,
122015
121964
  latestChangedDtsFile: latestChangedDtsFile,
122016
121965
  };
122017
- return result_16;
121966
+ return result_15;
122018
121967
  }
122019
121968
  var fileNames = [];
122020
121969
  var fileNameToFileId = new ts.Map();
@@ -123952,9 +123901,9 @@ var ts;
123952
123901
  if (!preferSymlinks) {
123953
123902
  // Symlinks inside ignored paths are already filtered out of the symlink cache,
123954
123903
  // so we only need to remove them from the realpath filenames.
123955
- var result_17 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123956
- if (result_17)
123957
- return result_17;
123904
+ var result_16 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123905
+ if (result_16)
123906
+ return result_16;
123958
123907
  }
123959
123908
  var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath();
123960
123909
  var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd);
@@ -123974,10 +123923,10 @@ var ts;
123974
123923
  for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) {
123975
123924
  var symlinkDirectory = symlinkDirectories_1[_i];
123976
123925
  var option = ts.resolvePath(symlinkDirectory, relative);
123977
- var result_18 = cb(option, target === referenceRedirect);
123926
+ var result_17 = cb(option, target === referenceRedirect);
123978
123927
  shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths
123979
- if (result_18)
123980
- return result_18;
123928
+ if (result_17)
123929
+ return result_17;
123981
123930
  }
123982
123931
  });
123983
123932
  });