@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.
package/lib/tsserver.js CHANGED
@@ -109,7 +109,7 @@ var ts;
109
109
  // The following is baselined as a literal template type without intervention
110
110
  /** The version of the TypeScript compiler release */
111
111
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
112
- ts.version = ts.versionMajorMinor + ".0-insiders.20220817";
112
+ ts.version = ts.versionMajorMinor + ".0-insiders.20220819";
113
113
  /* @internal */
114
114
  var Comparison;
115
115
  (function (Comparison) {
@@ -6141,7 +6141,6 @@ var ts;
6141
6141
  var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
6142
6142
  /* @internal */
6143
6143
  ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
6144
- /* @internal */
6145
6144
  function setCustomPollingValues(system) {
6146
6145
  if (!system.getEnvironmentVariable) {
6147
6146
  return;
@@ -6184,7 +6183,6 @@ var ts;
6184
6183
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
6185
6184
  }
6186
6185
  }
6187
- ts.setCustomPollingValues = setCustomPollingValues;
6188
6186
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
6189
6187
  var definedValueCopyToIndex = pollIndex;
6190
6188
  // Max visit would be all elements of the queue
@@ -6230,7 +6228,6 @@ var ts;
6230
6228
  }
6231
6229
  }
6232
6230
  }
6233
- /* @internal */
6234
6231
  function createDynamicPriorityPollingWatchFile(host) {
6235
6232
  var watchedFiles = [];
6236
6233
  var changedFilesInLastPoll = [];
@@ -6339,7 +6336,6 @@ var ts;
6339
6336
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
6340
6337
  }
6341
6338
  }
6342
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
6343
6339
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
6344
6340
  // One file can have multiple watchers
6345
6341
  var fileWatcherCallbacks = ts.createMultiMap();
@@ -6418,42 +6414,36 @@ var ts;
6418
6414
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
6419
6415
  }
6420
6416
  }
6421
- /* @internal */
6422
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
6423
- var cache = new ts.Map();
6424
- var callbacksCache = ts.createMultiMap();
6417
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
6425
6418
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
6426
- return function (fileName, callback, pollingInterval, options) {
6427
- var path = toCanonicalFileName(fileName);
6428
- var existing = cache.get(path);
6429
- if (existing) {
6430
- existing.refCount++;
6431
- }
6432
- else {
6433
- cache.set(path, {
6434
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
6435
- refCount: 1
6436
- });
6419
+ var path = toCanonicalFileName(name);
6420
+ var existing = cache.get(path);
6421
+ if (existing) {
6422
+ existing.callbacks.push(callback);
6423
+ }
6424
+ else {
6425
+ cache.set(path, {
6426
+ watcher: createWatcher((
6427
+ // Cant infer types correctly so lets satisfy checker
6428
+ 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); }); })),
6429
+ callbacks: [callback]
6430
+ });
6431
+ }
6432
+ return {
6433
+ close: function () {
6434
+ var watcher = cache.get(path);
6435
+ if (!watcher)
6436
+ return;
6437
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
6438
+ return;
6439
+ cache.delete(path);
6440
+ ts.closeFileWatcherOf(watcher);
6437
6441
  }
6438
- callbacksCache.add(path, callback);
6439
- return {
6440
- close: function () {
6441
- var watcher = ts.Debug.checkDefined(cache.get(path));
6442
- callbacksCache.remove(path, callback);
6443
- watcher.refCount--;
6444
- if (watcher.refCount)
6445
- return;
6446
- cache.delete(path);
6447
- ts.closeFileWatcherOf(watcher);
6448
- }
6449
- };
6450
6442
  };
6451
6443
  }
6452
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
6453
6444
  /**
6454
6445
  * Returns true if file status changed
6455
6446
  */
6456
- /*@internal*/
6457
6447
  function onWatchedFileStat(watchedFile, modifiedTime) {
6458
6448
  var oldTime = watchedFile.mtime.getTime();
6459
6449
  var newTime = modifiedTime.getTime();
@@ -6465,7 +6455,6 @@ var ts;
6465
6455
  }
6466
6456
  return false;
6467
6457
  }
6468
- ts.onWatchedFileStat = onWatchedFileStat;
6469
6458
  /*@internal*/
6470
6459
  function getFileWatcherEventKind(oldTime, newTime) {
6471
6460
  return oldTime === 0
@@ -6493,7 +6482,6 @@ var ts;
6493
6482
  * that means if this is recursive watcher, watch the children directories as well
6494
6483
  * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile)
6495
6484
  */
6496
- /*@internal*/
6497
6485
  function createDirectoryWatcherSupportingRecursive(_a) {
6498
6486
  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;
6499
6487
  var cache = new ts.Map();
@@ -6702,18 +6690,15 @@ var ts;
6702
6690
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
6703
6691
  }
6704
6692
  }
6705
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
6706
6693
  /*@internal*/
6707
6694
  var FileSystemEntryKind;
6708
6695
  (function (FileSystemEntryKind) {
6709
6696
  FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File";
6710
6697
  FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory";
6711
6698
  })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {}));
6712
- /*@internal*/
6713
6699
  function createFileWatcherCallback(callback) {
6714
6700
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
6715
6701
  }
6716
- ts.createFileWatcherCallback = createFileWatcherCallback;
6717
6702
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
6718
6703
  return function (eventName, _relativeFileName, modifiedTime) {
6719
6704
  if (eventName === "rename") {
@@ -6747,7 +6732,10 @@ var ts;
6747
6732
  }
6748
6733
  /*@internal*/
6749
6734
  function createSystemWatchFunctions(_a) {
6750
- 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;
6735
+ 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;
6736
+ var pollingWatches = new ts.Map();
6737
+ var fsWatches = new ts.Map();
6738
+ var fsWatchesRecursive = new ts.Map();
6751
6739
  var dynamicPollingWatchFile;
6752
6740
  var fixedChunkSizePollingWatchFile;
6753
6741
  var nonPollingWatchFile;
@@ -6811,7 +6799,7 @@ var ts;
6811
6799
  // Use notifications from FS to watch with falling back to fs.watchFile
6812
6800
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
6813
6801
  // Default to do not use fixed polling interval
6814
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
6802
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
6815
6803
  }
6816
6804
  }
6817
6805
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -6882,7 +6870,13 @@ var ts;
6882
6870
  };
6883
6871
  }
6884
6872
  }
6873
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
6874
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
6875
+ }
6885
6876
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6877
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingPresence(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
6878
+ }
6879
+ function fsWatchHandlingPresence(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6886
6880
  var lastDirectoryPartWithDirectorySeparator;
6887
6881
  var lastDirectoryPart;
6888
6882
  if (inodeWatching) {
@@ -7061,7 +7055,7 @@ var ts;
7061
7055
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
7062
7056
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
7063
7057
  var _b = createSystemWatchFunctions({
7064
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
7058
+ pollingWatchFileWorker: fsWatchFileWorker,
7065
7059
  getModifiedTime: getModifiedTime,
7066
7060
  setTimeout: setTimeout,
7067
7061
  clearTimeout: clearTimeout,
@@ -43112,10 +43106,12 @@ var ts;
43112
43106
  if (resolved) {
43113
43107
  var fileName = resolved.fileName, packageId = resolved.packageId;
43114
43108
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43109
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43115
43110
  resolvedTypeReferenceDirective = {
43116
43111
  primary: primary,
43117
- resolvedFileName: resolvedFileName,
43118
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43112
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43113
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43114
+ originalPath: pathsAreEqual ? undefined : fileName,
43119
43115
  packageId: packageId,
43120
43116
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43121
43117
  };
@@ -43900,8 +43896,10 @@ var ts;
43900
43896
  var resolvedValue = resolved_1.value;
43901
43897
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43902
43898
  var path = realPath(resolvedValue.path, host, traceEnabled);
43903
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43904
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
43899
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
43900
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
43901
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43902
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43905
43903
  }
43906
43904
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43907
43905
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -65685,38 +65683,6 @@ var ts;
65685
65683
  }
65686
65684
  return 0 /* False */;
65687
65685
  }
65688
- // Before normalization: Intersections applied to unions create an explosion of types when normalized -
65689
- // handling those inner intersections can be very costly, so it can be beneficial to factor them out early.
65690
- // If both the source and target are intersections, we can remove the common types from them before formal normalization,
65691
- // and run a simplified comparison without those common members.
65692
- if (originalSource.flags & originalTarget.flags & 2097152 /* Intersection */) {
65693
- var combinedTypeSet_1 = new ts.Map();
65694
- ts.forEach(originalSource.types, function (t) { return combinedTypeSet_1.set(getTypeId(t), 1); });
65695
- var hasOverlap_1 = false;
65696
- ts.forEach(originalTarget.types, function (t) {
65697
- var id = getTypeId(t);
65698
- if (combinedTypeSet_1.has(id)) {
65699
- combinedTypeSet_1.set(getTypeId(t), 2);
65700
- hasOverlap_1 = true;
65701
- }
65702
- });
65703
- if (hasOverlap_1) {
65704
- var filteredSource = ts.filter(originalSource.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65705
- var filteredTarget = ts.filter(originalTarget.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65706
- if (!ts.length(filteredTarget)) {
65707
- return -1 /* True */; // Source has all parts of target
65708
- }
65709
- if (ts.length(filteredSource)) {
65710
- var result_7;
65711
- if (result_7 = isRelatedTo(getIntersectionType(filteredSource), getIntersectionType(filteredTarget), recursionFlags, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
65712
- return result_7;
65713
- }
65714
- // In the false case, we may still be assignable at the structural level, rather than the algebraic level
65715
- }
65716
- // Even if every member of the source is in the target but the target still has members left, the source may still be assignable
65717
- // 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
65718
- }
65719
- }
65720
65686
  // Normalize the source and target types: Turn fresh literal types into regular literal types,
65721
65687
  // turn deferred type references into regular type references, simplify indexed access and
65722
65688
  // conditional types, and resolve substitution types to either the substitution (on the source
@@ -65792,7 +65758,7 @@ var ts;
65792
65758
  traceUnionsOrIntersectionsTooLarge(source, target);
65793
65759
  var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) ||
65794
65760
  target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */);
65795
- var result_8 = skipCaching ?
65761
+ var result_7 = skipCaching ?
65796
65762
  unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) :
65797
65763
  recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags);
65798
65764
  // For certain combinations involving intersections and optional, excess, or mismatched properties we need
@@ -65810,14 +65776,14 @@ var ts;
65810
65776
  //
65811
65777
  // We suppress recursive intersection property checks because they can generate lots of work when relating
65812
65778
  // recursive intersections that are structurally similar but not exactly identical. See #37854.
65813
- if (result_8 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65779
+ if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65814
65780
  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 */); }))) {
65815
65781
  inPropertyCheck = true;
65816
- result_8 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65782
+ result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65817
65783
  inPropertyCheck = false;
65818
65784
  }
65819
- if (result_8) {
65820
- return result_8;
65785
+ if (result_7) {
65786
+ return result_7;
65821
65787
  }
65822
65788
  }
65823
65789
  if (reportErrors) {
@@ -66206,9 +66172,6 @@ var ts;
66206
66172
  // equal and infinitely expanding. Fourth, if we have reached a depth of 100 nested comparisons, assume we have runaway recursion
66207
66173
  // and issue an error. Otherwise, actually compare the structure of the two types.
66208
66174
  function recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags) {
66209
- if (relation.size > Math.pow(2, 20)) {
66210
- debugger;
66211
- }
66212
66175
  if (overflow) {
66213
66176
  return 0 /* False */;
66214
66177
  }
@@ -66367,11 +66330,11 @@ var ts;
66367
66330
  if (relation === identityRelation) {
66368
66331
  // We've already checked that source.flags and target.flags are identical
66369
66332
  if (sourceFlags & 3145728 /* UnionOrIntersection */) {
66370
- var result_9 = eachTypeRelatedToSomeType(source, target);
66371
- if (result_9) {
66372
- result_9 &= eachTypeRelatedToSomeType(target, source);
66333
+ var result_8 = eachTypeRelatedToSomeType(source, target);
66334
+ if (result_8) {
66335
+ result_8 &= eachTypeRelatedToSomeType(target, source);
66373
66336
  }
66374
- return result_9;
66337
+ return result_8;
66375
66338
  }
66376
66339
  if (sourceFlags & 4194304 /* Index */) {
66377
66340
  return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false);
@@ -66860,9 +66823,9 @@ var ts;
66860
66823
  if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) {
66861
66824
  var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */);
66862
66825
  if (objectOnlyTarget.flags & 1048576 /* Union */) {
66863
- var result_10 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66864
- if (result_10) {
66865
- return result_10;
66826
+ var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66827
+ if (result_9) {
66828
+ return result_9;
66866
66829
  }
66867
66830
  }
66868
66831
  }
@@ -66922,13 +66885,13 @@ var ts;
66922
66885
  var modifiersRelated = relation === comparableRelation || (relation === identityRelation ? getMappedTypeModifiers(source) === getMappedTypeModifiers(target) :
66923
66886
  getCombinedMappedTypeOptionality(source) <= getCombinedMappedTypeOptionality(target));
66924
66887
  if (modifiersRelated) {
66925
- var result_11;
66888
+ var result_10;
66926
66889
  var targetConstraint = getConstraintTypeFromMappedType(target);
66927
66890
  var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
66928
- if (result_11 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66891
+ if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66929
66892
  var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]);
66930
66893
  if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) {
66931
- return result_11 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66894
+ return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66932
66895
  }
66933
66896
  }
66934
66897
  }
@@ -78279,10 +78242,10 @@ var ts;
78279
78242
  hasSignatures || (hasSignatures = resolved.callSignatures.length !== 0 || resolved.constructSignatures.length !== 0);
78280
78243
  hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0);
78281
78244
  if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) {
78282
- var result_12 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78283
- result_12.objectFlags |= 8388608 /* InstantiationExpressionType */;
78284
- result_12.node = node;
78285
- return result_12;
78245
+ var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78246
+ result_11.objectFlags |= 8388608 /* InstantiationExpressionType */;
78247
+ result_11.node = node;
78248
+ return result_11;
78286
78249
  }
78287
78250
  }
78288
78251
  else if (type.flags & 58982400 /* InstantiableNonPrimitive */) {
@@ -82117,12 +82080,12 @@ var ts;
82117
82080
  case 265 /* ImportEqualsDeclaration */:
82118
82081
  case 268 /* NamespaceImport */:
82119
82082
  case 267 /* ImportClause */:
82120
- var result_13 = 0 /* None */;
82083
+ var result_12 = 0 /* None */;
82121
82084
  var target = resolveAlias(getSymbolOfNode(d));
82122
82085
  ts.forEach(target.declarations, function (d) {
82123
- result_13 |= getDeclarationSpaces(d);
82086
+ result_12 |= getDeclarationSpaces(d);
82124
82087
  });
82125
- return result_13;
82088
+ return result_12;
82126
82089
  case 254 /* VariableDeclaration */:
82127
82090
  case 203 /* BindingElement */:
82128
82091
  case 256 /* FunctionDeclaration */:
@@ -90451,6 +90414,7 @@ var ts;
90451
90414
  })(ts || (ts = {}));
90452
90415
  var ts;
90453
90416
  (function (ts) {
90417
+ var _a;
90454
90418
  function visitNode(node, visitor, test, lift) {
90455
90419
  if (node === undefined || visitor === undefined) {
90456
90420
  return node;
@@ -90665,12 +90629,10 @@ var ts;
90665
90629
  return updated;
90666
90630
  }
90667
90631
  ts.visitFunctionBody = visitFunctionBody;
90668
- /**
90669
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90670
- */
90671
- function visitIterationBody(body, visitor, context) {
90632
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90633
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90672
90634
  context.startBlockScope();
90673
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90635
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90674
90636
  var declarations = context.endBlockScope();
90675
90637
  if (ts.some(declarations)) {
90676
90638
  if (ts.isBlock(updated)) {
@@ -90689,456 +90651,443 @@ var ts;
90689
90651
  if (node === undefined) {
90690
90652
  return undefined;
90691
90653
  }
90692
- var kind = node.kind;
90693
- // No need to visit nodes with no children.
90694
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90695
- return node;
90696
- }
90697
- var factory = context.factory;
90698
- switch (kind) {
90699
- // Names
90700
- case 79 /* Identifier */:
90701
- ts.Debug.type(node);
90702
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90703
- case 161 /* QualifiedName */:
90704
- ts.Debug.type(node);
90705
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90706
- case 162 /* ComputedPropertyName */:
90707
- ts.Debug.type(node);
90708
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90709
- // Signature elements
90710
- case 163 /* TypeParameter */:
90711
- ts.Debug.type(node);
90712
- 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));
90713
- case 164 /* Parameter */:
90714
- ts.Debug.type(node);
90715
- 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));
90716
- case 165 /* Decorator */:
90717
- ts.Debug.type(node);
90718
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90719
- // Type elements
90720
- case 166 /* PropertySignature */:
90721
- ts.Debug.type(node);
90722
- 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));
90723
- case 167 /* PropertyDeclaration */:
90724
- ts.Debug.type(node);
90725
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90726
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90727
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90728
- case 168 /* MethodSignature */:
90729
- ts.Debug.type(node);
90730
- 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));
90731
- case 169 /* MethodDeclaration */:
90732
- ts.Debug.type(node);
90733
- 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));
90734
- case 171 /* Constructor */:
90735
- ts.Debug.type(node);
90736
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90737
- case 172 /* GetAccessor */:
90738
- ts.Debug.type(node);
90739
- 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));
90740
- case 173 /* SetAccessor */:
90741
- ts.Debug.type(node);
90742
- 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));
90743
- case 170 /* ClassStaticBlockDeclaration */:
90744
- ts.Debug.type(node);
90745
- context.startLexicalEnvironment();
90746
- context.suspendLexicalEnvironment();
90747
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90748
- case 174 /* CallSignature */:
90749
- ts.Debug.type(node);
90750
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90751
- case 175 /* ConstructSignature */:
90752
- ts.Debug.type(node);
90753
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90754
- case 176 /* IndexSignature */:
90755
- ts.Debug.type(node);
90756
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90757
- // Types
90758
- case 177 /* TypePredicate */:
90759
- ts.Debug.type(node);
90760
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90761
- case 178 /* TypeReference */:
90762
- ts.Debug.type(node);
90763
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90764
- case 179 /* FunctionType */:
90765
- ts.Debug.type(node);
90766
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90767
- case 180 /* ConstructorType */:
90768
- ts.Debug.type(node);
90769
- 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));
90770
- case 181 /* TypeQuery */:
90771
- ts.Debug.type(node);
90772
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90773
- case 182 /* TypeLiteral */:
90774
- ts.Debug.type(node);
90775
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90776
- case 183 /* ArrayType */:
90777
- ts.Debug.type(node);
90778
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90779
- case 184 /* TupleType */:
90780
- ts.Debug.type(node);
90781
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90782
- case 185 /* OptionalType */:
90783
- ts.Debug.type(node);
90784
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90785
- case 186 /* RestType */:
90786
- ts.Debug.type(node);
90787
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90788
- case 187 /* UnionType */:
90789
- ts.Debug.type(node);
90790
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90791
- case 188 /* IntersectionType */:
90792
- ts.Debug.type(node);
90793
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90794
- case 189 /* ConditionalType */:
90795
- ts.Debug.type(node);
90796
- 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));
90797
- case 190 /* InferType */:
90798
- ts.Debug.type(node);
90799
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90800
- case 200 /* ImportType */:
90801
- ts.Debug.type(node);
90802
- 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);
90803
- case 295 /* ImportTypeAssertionContainer */:
90804
- ts.Debug.type(node);
90805
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90806
- case 197 /* NamedTupleMember */:
90807
- ts.Debug.type(node);
90808
- 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));
90809
- case 191 /* ParenthesizedType */:
90810
- ts.Debug.type(node);
90811
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90812
- case 193 /* TypeOperator */:
90813
- ts.Debug.type(node);
90814
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90815
- case 194 /* IndexedAccessType */:
90816
- ts.Debug.type(node);
90817
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90818
- case 195 /* MappedType */:
90819
- ts.Debug.type(node);
90820
- 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));
90821
- case 196 /* LiteralType */:
90822
- ts.Debug.type(node);
90823
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90824
- case 198 /* TemplateLiteralType */:
90825
- ts.Debug.type(node);
90826
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90827
- case 199 /* TemplateLiteralTypeSpan */:
90828
- ts.Debug.type(node);
90829
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90830
- // Binding patterns
90831
- case 201 /* ObjectBindingPattern */:
90832
- ts.Debug.type(node);
90833
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90834
- case 202 /* ArrayBindingPattern */:
90835
- ts.Debug.type(node);
90836
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90837
- case 203 /* BindingElement */:
90838
- ts.Debug.type(node);
90839
- 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));
90840
- // Expression
90841
- case 204 /* ArrayLiteralExpression */:
90842
- ts.Debug.type(node);
90843
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90844
- case 205 /* ObjectLiteralExpression */:
90845
- ts.Debug.type(node);
90846
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90847
- case 206 /* PropertyAccessExpression */:
90848
- if (node.flags & 32 /* OptionalChain */) {
90849
- ts.Debug.type(node);
90850
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90851
- }
90852
- ts.Debug.type(node);
90853
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90854
- case 207 /* ElementAccessExpression */:
90855
- if (node.flags & 32 /* OptionalChain */) {
90856
- ts.Debug.type(node);
90857
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90858
- }
90859
- ts.Debug.type(node);
90860
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90861
- case 208 /* CallExpression */:
90862
- if (node.flags & 32 /* OptionalChain */) {
90863
- ts.Debug.type(node);
90864
- 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));
90865
- }
90866
- ts.Debug.type(node);
90867
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90868
- case 209 /* NewExpression */:
90869
- ts.Debug.type(node);
90870
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90871
- case 210 /* TaggedTemplateExpression */:
90872
- ts.Debug.type(node);
90873
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90874
- case 211 /* TypeAssertionExpression */:
90875
- ts.Debug.type(node);
90876
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90877
- case 212 /* ParenthesizedExpression */:
90878
- ts.Debug.type(node);
90879
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90880
- case 213 /* FunctionExpression */:
90881
- ts.Debug.type(node);
90882
- 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));
90883
- case 214 /* ArrowFunction */:
90884
- ts.Debug.type(node);
90885
- 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));
90886
- case 215 /* DeleteExpression */:
90887
- ts.Debug.type(node);
90888
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90889
- case 216 /* TypeOfExpression */:
90890
- ts.Debug.type(node);
90891
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90892
- case 217 /* VoidExpression */:
90893
- ts.Debug.type(node);
90894
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90895
- case 218 /* AwaitExpression */:
90896
- ts.Debug.type(node);
90897
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90898
- case 219 /* PrefixUnaryExpression */:
90899
- ts.Debug.type(node);
90900
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90901
- case 220 /* PostfixUnaryExpression */:
90902
- ts.Debug.type(node);
90903
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90904
- case 221 /* BinaryExpression */:
90905
- ts.Debug.type(node);
90906
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90907
- case 222 /* ConditionalExpression */:
90908
- ts.Debug.type(node);
90909
- 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));
90910
- case 223 /* TemplateExpression */:
90911
- ts.Debug.type(node);
90912
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90913
- case 224 /* YieldExpression */:
90914
- ts.Debug.type(node);
90915
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90916
- case 225 /* SpreadElement */:
90917
- ts.Debug.type(node);
90918
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90919
- case 226 /* ClassExpression */:
90920
- ts.Debug.type(node);
90921
- 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));
90922
- case 228 /* ExpressionWithTypeArguments */:
90923
- ts.Debug.type(node);
90924
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90925
- case 229 /* AsExpression */:
90926
- ts.Debug.type(node);
90927
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90928
- case 230 /* NonNullExpression */:
90929
- if (node.flags & 32 /* OptionalChain */) {
90930
- ts.Debug.type(node);
90931
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90932
- }
90933
- ts.Debug.type(node);
90934
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90935
- case 231 /* MetaProperty */:
90936
- ts.Debug.type(node);
90937
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90938
- // Misc
90939
- case 233 /* TemplateSpan */:
90940
- ts.Debug.type(node);
90941
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90942
- // Element
90943
- case 235 /* Block */:
90944
- ts.Debug.type(node);
90945
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90946
- case 237 /* VariableStatement */:
90947
- ts.Debug.type(node);
90948
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90949
- case 238 /* ExpressionStatement */:
90950
- ts.Debug.type(node);
90951
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90952
- case 239 /* IfStatement */:
90953
- ts.Debug.type(node);
90954
- 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));
90955
- case 240 /* DoStatement */:
90956
- ts.Debug.type(node);
90957
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90958
- case 241 /* WhileStatement */:
90959
- ts.Debug.type(node);
90960
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90961
- case 242 /* ForStatement */:
90962
- ts.Debug.type(node);
90963
- 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));
90964
- case 243 /* ForInStatement */:
90965
- ts.Debug.type(node);
90966
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90967
- case 244 /* ForOfStatement */:
90968
- ts.Debug.type(node);
90969
- 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));
90970
- case 245 /* ContinueStatement */:
90971
- ts.Debug.type(node);
90972
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90973
- case 246 /* BreakStatement */:
90974
- ts.Debug.type(node);
90975
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90976
- case 247 /* ReturnStatement */:
90977
- ts.Debug.type(node);
90978
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90979
- case 248 /* WithStatement */:
90980
- ts.Debug.type(node);
90981
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90982
- case 249 /* SwitchStatement */:
90983
- ts.Debug.type(node);
90984
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90985
- case 250 /* LabeledStatement */:
90986
- ts.Debug.type(node);
90987
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90988
- case 251 /* ThrowStatement */:
90989
- ts.Debug.type(node);
90990
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90991
- case 252 /* TryStatement */:
90992
- ts.Debug.type(node);
90993
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90994
- case 254 /* VariableDeclaration */:
90995
- ts.Debug.type(node);
90996
- 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));
90997
- case 255 /* VariableDeclarationList */:
90998
- ts.Debug.type(node);
90999
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
91000
- case 256 /* FunctionDeclaration */:
91001
- ts.Debug.type(node);
91002
- 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));
91003
- case 257 /* ClassDeclaration */:
91004
- ts.Debug.type(node);
91005
- 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));
91006
- case 258 /* InterfaceDeclaration */:
91007
- ts.Debug.type(node);
91008
- 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));
91009
- case 259 /* TypeAliasDeclaration */:
91010
- ts.Debug.type(node);
91011
- 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));
91012
- case 260 /* EnumDeclaration */:
91013
- ts.Debug.type(node);
91014
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91015
- case 261 /* ModuleDeclaration */:
91016
- ts.Debug.type(node);
91017
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91018
- case 262 /* ModuleBlock */:
91019
- ts.Debug.type(node);
91020
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91021
- case 263 /* CaseBlock */:
91022
- ts.Debug.type(node);
91023
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91024
- case 264 /* NamespaceExportDeclaration */:
91025
- ts.Debug.type(node);
91026
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91027
- case 265 /* ImportEqualsDeclaration */:
91028
- ts.Debug.type(node);
91029
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91030
- case 266 /* ImportDeclaration */:
91031
- ts.Debug.type(node);
91032
- 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));
91033
- case 293 /* AssertClause */:
91034
- ts.Debug.type(node);
91035
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91036
- case 294 /* AssertEntry */:
91037
- ts.Debug.type(node);
91038
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
91039
- case 267 /* ImportClause */:
91040
- ts.Debug.type(node);
91041
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91042
- case 268 /* NamespaceImport */:
91043
- ts.Debug.type(node);
91044
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91045
- case 274 /* NamespaceExport */:
91046
- ts.Debug.type(node);
91047
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91048
- case 269 /* NamedImports */:
91049
- ts.Debug.type(node);
91050
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91051
- case 270 /* ImportSpecifier */:
91052
- ts.Debug.type(node);
91053
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91054
- case 271 /* ExportAssignment */:
91055
- ts.Debug.type(node);
91056
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91057
- case 272 /* ExportDeclaration */:
91058
- ts.Debug.type(node);
91059
- 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));
91060
- case 273 /* NamedExports */:
91061
- ts.Debug.type(node);
91062
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91063
- case 275 /* ExportSpecifier */:
91064
- ts.Debug.type(node);
91065
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91066
- // Module references
91067
- case 277 /* ExternalModuleReference */:
91068
- ts.Debug.type(node);
91069
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91070
- // JSX
91071
- case 278 /* JsxElement */:
91072
- ts.Debug.type(node);
91073
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91074
- case 279 /* JsxSelfClosingElement */:
91075
- ts.Debug.type(node);
91076
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91077
- case 280 /* JsxOpeningElement */:
91078
- ts.Debug.type(node);
91079
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91080
- case 281 /* JsxClosingElement */:
91081
- ts.Debug.type(node);
91082
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91083
- case 282 /* JsxFragment */:
91084
- ts.Debug.type(node);
91085
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91086
- case 285 /* JsxAttribute */:
91087
- ts.Debug.type(node);
91088
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91089
- case 286 /* JsxAttributes */:
91090
- ts.Debug.type(node);
91091
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91092
- case 287 /* JsxSpreadAttribute */:
91093
- ts.Debug.type(node);
91094
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91095
- case 288 /* JsxExpression */:
91096
- ts.Debug.type(node);
91097
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91098
- // Clauses
91099
- case 289 /* CaseClause */:
91100
- ts.Debug.type(node);
91101
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91102
- case 290 /* DefaultClause */:
91103
- ts.Debug.type(node);
91104
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91105
- case 291 /* HeritageClause */:
91106
- ts.Debug.type(node);
91107
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91108
- case 292 /* CatchClause */:
91109
- ts.Debug.type(node);
91110
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91111
- // Property assignments
91112
- case 296 /* PropertyAssignment */:
91113
- ts.Debug.type(node);
91114
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91115
- case 297 /* ShorthandPropertyAssignment */:
91116
- ts.Debug.type(node);
91117
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91118
- case 298 /* SpreadAssignment */:
91119
- ts.Debug.type(node);
91120
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91121
- // Enum
91122
- case 299 /* EnumMember */:
91123
- ts.Debug.type(node);
91124
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91125
- // Top-level nodes
91126
- case 305 /* SourceFile */:
91127
- ts.Debug.type(node);
91128
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91129
- // Transformation nodes
91130
- case 350 /* PartiallyEmittedExpression */:
91131
- ts.Debug.type(node);
91132
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91133
- case 351 /* CommaListExpression */:
91134
- ts.Debug.type(node);
91135
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91136
- default:
91137
- // No need to visit nodes with no children.
91138
- return node;
91139
- }
90654
+ var fn = visitEachChildTable[node.kind];
90655
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91140
90656
  }
91141
90657
  ts.visitEachChild = visitEachChild;
90658
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90659
+ // wish to add is defined in the `HasChildren` union in types.ts.
90660
+ var visitEachChildTable = (_a = {},
90661
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90662
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90663
+ },
90664
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90665
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90666
+ },
90667
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90668
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90669
+ },
90670
+ // Signature elements
90671
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90672
+ 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));
90673
+ },
90674
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90675
+ 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));
90676
+ },
90677
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90678
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90679
+ },
90680
+ // Type elements
90681
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90682
+ 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));
90683
+ },
90684
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90685
+ var _a;
90686
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90687
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90688
+ 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));
90689
+ },
90690
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90691
+ 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));
90692
+ },
90693
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90694
+ 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));
90695
+ },
90696
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90697
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90698
+ },
90699
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90700
+ 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));
90701
+ },
90702
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90703
+ 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));
90704
+ },
90705
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90706
+ context.startLexicalEnvironment();
90707
+ context.suspendLexicalEnvironment();
90708
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90709
+ },
90710
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90711
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90712
+ },
90713
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90714
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90715
+ },
90716
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90717
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90718
+ },
90719
+ // Types
90720
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90721
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90722
+ },
90723
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90724
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90725
+ },
90726
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90727
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90728
+ },
90729
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90730
+ 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));
90731
+ },
90732
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90733
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90734
+ },
90735
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90736
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90737
+ },
90738
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90739
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90740
+ },
90741
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90742
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90743
+ },
90744
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90745
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90746
+ },
90747
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90748
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90749
+ },
90750
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90751
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90752
+ },
90753
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90754
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90755
+ },
90756
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90757
+ 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));
90758
+ },
90759
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90760
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90761
+ },
90762
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90763
+ 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);
90764
+ },
90765
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90766
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90767
+ },
90768
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90769
+ 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));
90770
+ },
90771
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90772
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90773
+ },
90774
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90775
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90776
+ },
90777
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90778
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90779
+ },
90780
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90781
+ 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));
90782
+ },
90783
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90784
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90785
+ },
90786
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90787
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90788
+ },
90789
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90790
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90791
+ },
90792
+ // Binding patterns
90793
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90794
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90795
+ },
90796
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90797
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90798
+ },
90799
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90800
+ 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));
90801
+ },
90802
+ // Expression
90803
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90804
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90805
+ },
90806
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90807
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90808
+ },
90809
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90810
+ return ts.isPropertyAccessChain(node) ?
90811
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
90812
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90813
+ },
90814
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90815
+ return ts.isElementAccessChain(node) ?
90816
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
90817
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90818
+ },
90819
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90820
+ return ts.isCallChain(node) ?
90821
+ 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)) :
90822
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90823
+ },
90824
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90825
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90826
+ },
90827
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90828
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90829
+ },
90830
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90831
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90832
+ },
90833
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90834
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90835
+ },
90836
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90837
+ 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));
90838
+ },
90839
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90840
+ 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));
90841
+ },
90842
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90843
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90844
+ },
90845
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90846
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90847
+ },
90848
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90849
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90850
+ },
90851
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90852
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90853
+ },
90854
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90855
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90856
+ },
90857
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90858
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90859
+ },
90860
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90861
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90862
+ },
90863
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90864
+ 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));
90865
+ },
90866
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90867
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90868
+ },
90869
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90870
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90871
+ },
90872
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90873
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90874
+ },
90875
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90876
+ 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));
90877
+ },
90878
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90879
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90880
+ },
90881
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90882
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90883
+ },
90884
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90885
+ return ts.isOptionalChain(node) ?
90886
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
90887
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90888
+ },
90889
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90890
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90891
+ },
90892
+ // Misc
90893
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90894
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90895
+ },
90896
+ // Element
90897
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90898
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90899
+ },
90900
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90901
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90902
+ },
90903
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90904
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90905
+ },
90906
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90907
+ 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));
90908
+ },
90909
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90910
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
90911
+ },
90912
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90913
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90914
+ },
90915
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90916
+ 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));
90917
+ },
90918
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90919
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90920
+ },
90921
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90922
+ 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));
90923
+ },
90924
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90925
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90926
+ },
90927
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90928
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90929
+ },
90930
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90931
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90932
+ },
90933
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90934
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90935
+ },
90936
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90937
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90938
+ },
90939
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90940
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90941
+ },
90942
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90943
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90944
+ },
90945
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90946
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90947
+ },
90948
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90949
+ 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));
90950
+ },
90951
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90952
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90953
+ },
90954
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90955
+ 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));
90956
+ },
90957
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90958
+ 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));
90959
+ },
90960
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90961
+ 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));
90962
+ },
90963
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90964
+ 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));
90965
+ },
90966
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90967
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90968
+ },
90969
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90970
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90971
+ },
90972
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90973
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90974
+ },
90975
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90976
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
90977
+ },
90978
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90979
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90980
+ },
90981
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90982
+ 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));
90983
+ },
90984
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90985
+ 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));
90986
+ },
90987
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90988
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
90989
+ },
90990
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90991
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
90992
+ },
90993
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90994
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
90995
+ },
90996
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90997
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90998
+ },
90999
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91000
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91001
+ },
91002
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91003
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91004
+ },
91005
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91006
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91007
+ },
91008
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91009
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91010
+ },
91011
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91012
+ 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));
91013
+ },
91014
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91015
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91016
+ },
91017
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91018
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91019
+ },
91020
+ // Module references
91021
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91022
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91023
+ },
91024
+ // JSX
91025
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91026
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91027
+ },
91028
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91029
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91030
+ },
91031
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91032
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91033
+ },
91034
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91035
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91036
+ },
91037
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91038
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91039
+ },
91040
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91041
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91042
+ },
91043
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91044
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91045
+ },
91046
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91047
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91048
+ },
91049
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91050
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91051
+ },
91052
+ // Clauses
91053
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91054
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91055
+ },
91056
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91057
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91058
+ },
91059
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91060
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91061
+ },
91062
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91063
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91064
+ },
91065
+ // Property assignments
91066
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91067
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91068
+ },
91069
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91070
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91071
+ },
91072
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91073
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91074
+ },
91075
+ // Enum
91076
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91077
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91078
+ },
91079
+ // Top-level nodes
91080
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91081
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91082
+ },
91083
+ // Transformation nodes
91084
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91085
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91086
+ },
91087
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91088
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91089
+ },
91090
+ _a);
91142
91091
  /**
91143
91092
  * Extracts the single node from a NodeArray.
91144
91093
  *
@@ -99303,8 +99252,8 @@ var ts;
99303
99252
  function convertJsxChildrenToChildrenPropAssignment(children) {
99304
99253
  var nonWhitespaceChildren = ts.getSemanticJsxChildren(children);
99305
99254
  if (ts.length(nonWhitespaceChildren) === 1 && !nonWhitespaceChildren[0].dotDotDotToken) {
99306
- var result_14 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99307
- return result_14 && factory.createPropertyAssignment("children", result_14);
99255
+ var result_13 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99256
+ return result_13 && factory.createPropertyAssignment("children", result_13);
99308
99257
  }
99309
99258
  var result = ts.mapDefined(children, transformJsxChildToExpression);
99310
99259
  return ts.length(result) ? factory.createPropertyAssignment("children", factory.createArrayLiteralExpression(result)) : undefined;
@@ -118559,15 +118508,15 @@ var ts;
118559
118508
  // which per above occurred during the current program creation.
118560
118509
  // Since we assume the filesystem does not change during program creation,
118561
118510
  // it is safe to reuse resolutions from the earlier call.
118562
- var result_15 = [];
118511
+ var result_14 = [];
118563
118512
  var i = 0;
118564
118513
  for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) {
118565
118514
  var moduleName = moduleNames_1[_i];
118566
118515
  var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
118567
118516
  i++;
118568
- result_15.push(resolvedModule);
118517
+ result_14.push(resolvedModule);
118569
118518
  }
118570
- return result_15;
118519
+ return result_14;
118571
118520
  }
118572
118521
  // At this point, we know at least one of the following hold:
118573
118522
  // - file has local declarations for ambient modules
@@ -122027,14 +121976,14 @@ var ts;
122027
121976
  fileNames_1.push(relativeToBuildInfo(sourceFile.resolvedPath));
122028
121977
  fileInfos_1.push(sourceFile.version);
122029
121978
  });
122030
- var result_16 = {
121979
+ var result_15 = {
122031
121980
  fileNames: fileNames_1,
122032
121981
  fileInfos: fileInfos_1,
122033
121982
  options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsBundleEmitBuildInfo"),
122034
121983
  outSignature: state.outSignature,
122035
121984
  latestChangedDtsFile: latestChangedDtsFile,
122036
121985
  };
122037
- return result_16;
121986
+ return result_15;
122038
121987
  }
122039
121988
  var fileNames = [];
122040
121989
  var fileNameToFileId = new ts.Map();
@@ -123972,9 +123921,9 @@ var ts;
123972
123921
  if (!preferSymlinks) {
123973
123922
  // Symlinks inside ignored paths are already filtered out of the symlink cache,
123974
123923
  // so we only need to remove them from the realpath filenames.
123975
- var result_17 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123976
- if (result_17)
123977
- return result_17;
123924
+ var result_16 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123925
+ if (result_16)
123926
+ return result_16;
123978
123927
  }
123979
123928
  var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath();
123980
123929
  var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd);
@@ -123994,10 +123943,10 @@ var ts;
123994
123943
  for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) {
123995
123944
  var symlinkDirectory = symlinkDirectories_1[_i];
123996
123945
  var option = ts.resolvePath(symlinkDirectory, relative);
123997
- var result_18 = cb(option, target === referenceRedirect);
123946
+ var result_17 = cb(option, target === referenceRedirect);
123998
123947
  shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths
123999
- if (result_18)
124000
- return result_18;
123948
+ if (result_17)
123949
+ return result_17;
124001
123950
  }
124002
123951
  });
124003
123952
  });
@@ -184115,20 +184064,6 @@ var ts;
184115
184064
  }
184116
184065
  // Override sys.write because fs.writeSync is not reliable on Node 4
184117
184066
  sys.write = function (s) { return writeMessage(sys.bufferFrom(s, "utf8")); };
184118
- // REVIEW: for now this implementation uses polling.
184119
- // The advantage of polling is that it works reliably
184120
- // on all os and with network mounted files.
184121
- // For 90 referenced files, the average time to detect
184122
- // changes is 2*msInterval (by default 5 seconds).
184123
- // The overhead of this is .04 percent (1/2500) with
184124
- // average pause of < 1 millisecond (and max
184125
- // pause less than 1.5 milliseconds); question is
184126
- // do we anticipate reference sets in the 100s and
184127
- // do we care about waiting 10-20 seconds to detect
184128
- // changes for large reference sets? If so, do we want
184129
- // to increase the chunk size or decrease the interval
184130
- // time dynamically to match the large reference set?
184131
- sys.defaultWatchFileKind = function () { return ts.WatchFileKind.FixedChunkSizePolling; };
184132
184067
  /* eslint-disable no-restricted-globals */
184133
184068
  sys.setTimeout = setTimeout;
184134
184069
  sys.clearTimeout = clearTimeout;