typescript 5.0.0-dev.20230106 → 5.0.0-dev.20230108

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
@@ -211,7 +211,6 @@ __export(server_exports, {
211
211
  arrayIsEqualTo: () => arrayIsEqualTo,
212
212
  arrayIsHomogeneous: () => arrayIsHomogeneous,
213
213
  arrayIsSorted: () => arrayIsSorted,
214
- arrayIterator: () => arrayIterator,
215
214
  arrayOf: () => arrayOf,
216
215
  arrayReverseIterator: () => arrayReverseIterator,
217
216
  arrayToMap: () => arrayToMap,
@@ -313,7 +312,6 @@ __export(server_exports, {
313
312
  compilerOptionsAffectSemanticDiagnostics: () => compilerOptionsAffectSemanticDiagnostics,
314
313
  compilerOptionsDidYouMeanDiagnostics: () => compilerOptionsDidYouMeanDiagnostics,
315
314
  compilerOptionsIndicateEsModules: () => compilerOptionsIndicateEsModules,
316
- compose: () => compose,
317
315
  computeCommonSourceDirectoryOfFilenames: () => computeCommonSourceDirectoryOfFilenames,
318
316
  computeLineAndCharacterOfPosition: () => computeLineAndCharacterOfPosition,
319
317
  computeLineOfPosition: () => computeLineOfPosition,
@@ -714,7 +712,6 @@ __export(server_exports, {
714
712
  emitUsingBuildInfo: () => emitUsingBuildInfo,
715
713
  emptyArray: () => emptyArray,
716
714
  emptyFileSystemEntries: () => emptyFileSystemEntries,
717
- emptyIterator: () => emptyIterator,
718
715
  emptyMap: () => emptyMap,
719
716
  emptyOptions: () => emptyOptions,
720
717
  emptySet: () => emptySet,
@@ -749,7 +746,6 @@ __export(server_exports, {
749
746
  fileExtensionIs: () => fileExtensionIs,
750
747
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
751
748
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
752
- fill: () => fill,
753
749
  filter: () => filter,
754
750
  filterMutate: () => filterMutate,
755
751
  filterSemanticDiagnostics: () => filterSemanticDiagnostics,
@@ -778,8 +774,10 @@ __export(server_exports, {
778
774
  first: () => first,
779
775
  firstDefined: () => firstDefined,
780
776
  firstDefinedIterator: () => firstDefinedIterator,
777
+ firstIterator: () => firstIterator,
781
778
  firstOrOnly: () => firstOrOnly,
782
779
  firstOrUndefined: () => firstOrUndefined,
780
+ firstOrUndefinedIterator: () => firstOrUndefinedIterator,
783
781
  fixupCompilerOptions: () => fixupCompilerOptions,
784
782
  flatMap: () => flatMap,
785
783
  flatMapIterator: () => flatMapIterator,
@@ -929,7 +927,6 @@ __export(server_exports, {
929
927
  getEncodedSyntacticClassifications: () => getEncodedSyntacticClassifications,
930
928
  getEndLinePosition: () => getEndLinePosition,
931
929
  getEntityNameFromTypeNode: () => getEntityNameFromTypeNode,
932
- getEntries: () => getEntries,
933
930
  getEntrypointsFromPackageJsonInfo: () => getEntrypointsFromPackageJsonInfo,
934
931
  getErrorCountForSummary: () => getErrorCountForSummary,
935
932
  getErrorSpanForNode: () => getErrorSpanForNode,
@@ -977,7 +974,6 @@ __export(server_exports, {
977
974
  getInitializerOfBindingOrAssignmentElement: () => getInitializerOfBindingOrAssignmentElement,
978
975
  getInterfaceBaseTypeNodes: () => getInterfaceBaseTypeNodes,
979
976
  getInvokedExpression: () => getInvokedExpression,
980
- getIterator: () => getIterator,
981
977
  getJSDocAugmentsTag: () => getJSDocAugmentsTag,
982
978
  getJSDocClassTag: () => getJSDocClassTag,
983
979
  getJSDocCommentRanges: () => getJSDocCommentRanges,
@@ -1990,7 +1986,6 @@ __export(server_exports, {
1990
1986
  mapDefined: () => mapDefined,
1991
1987
  mapDefinedEntries: () => mapDefinedEntries,
1992
1988
  mapDefinedIterator: () => mapDefinedIterator,
1993
- mapDefinedValues: () => mapDefinedValues,
1994
1989
  mapEntries: () => mapEntries,
1995
1990
  mapIterator: () => mapIterator,
1996
1991
  mapOneOrMany: () => mapOneOrMany,
@@ -2273,7 +2268,6 @@ __export(server_exports, {
2273
2268
  stringContainsAt: () => stringContainsAt,
2274
2269
  stringToToken: () => stringToToken,
2275
2270
  stripQuotes: () => stripQuotes,
2276
- sum: () => sum,
2277
2271
  supportedDeclarationExtensions: () => supportedDeclarationExtensions,
2278
2272
  supportedJSExtensions: () => supportedJSExtensions,
2279
2273
  supportedJSExtensionsFlat: () => supportedJSExtensionsFlat,
@@ -2568,8 +2562,6 @@ __export(server_exports, {
2568
2562
  writeCommentRange: () => writeCommentRange,
2569
2563
  writeFile: () => writeFile,
2570
2564
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
2571
- zipToIterator: () => zipToIterator,
2572
- zipToMap: () => zipToMap,
2573
2565
  zipToModeAwareCache: () => zipToModeAwareCache,
2574
2566
  zipWith: () => zipWith
2575
2567
  });
@@ -2670,7 +2662,7 @@ __export(ts_server_exports3, {
2670
2662
 
2671
2663
  // src/compiler/corePublic.ts
2672
2664
  var versionMajorMinor = "5.0";
2673
- var version = `${versionMajorMinor}.0-dev.20230106`;
2665
+ var version = `${versionMajorMinor}.0-dev.20230108`;
2674
2666
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2675
2667
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2676
2668
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -2679,17 +2671,6 @@ var Comparison = /* @__PURE__ */ ((Comparison3) => {
2679
2671
  })(Comparison || {});
2680
2672
 
2681
2673
  // src/compiler/core.ts
2682
- function getIterator(iterable) {
2683
- if (iterable) {
2684
- if (isArray(iterable))
2685
- return arrayIterator(iterable);
2686
- if (iterable instanceof Map)
2687
- return iterable.entries();
2688
- if (iterable instanceof Set)
2689
- return iterable.values();
2690
- throw new Error("Iteration not supported.");
2691
- }
2692
- }
2693
2674
  var emptyArray = [];
2694
2675
  var emptyMap = /* @__PURE__ */ new Map();
2695
2676
  var emptySet = /* @__PURE__ */ new Set();
@@ -2731,22 +2712,21 @@ function firstDefined(array, callback) {
2731
2712
  return void 0;
2732
2713
  }
2733
2714
  function firstDefinedIterator(iter, callback) {
2734
- while (true) {
2735
- const iterResult = iter.next();
2736
- if (iterResult.done) {
2737
- return void 0;
2738
- }
2739
- const result = callback(iterResult.value);
2715
+ for (const value of iter) {
2716
+ const result = callback(value);
2740
2717
  if (result !== void 0) {
2741
2718
  return result;
2742
2719
  }
2743
2720
  }
2721
+ return void 0;
2744
2722
  }
2745
2723
  function reduceLeftIterator(iterator, f, initial) {
2746
2724
  let result = initial;
2747
2725
  if (iterator) {
2748
- for (let step = iterator.next(), pos = 0; !step.done; step = iterator.next(), pos++) {
2749
- result = f(result, step.value, pos);
2726
+ let pos = 0;
2727
+ for (const value of iterator) {
2728
+ result = f(result, value, pos);
2729
+ pos++;
2750
2730
  }
2751
2731
  }
2752
2732
  return result;
@@ -2759,27 +2739,6 @@ function zipWith(arrayA, arrayB, callback) {
2759
2739
  }
2760
2740
  return result;
2761
2741
  }
2762
- function zipToIterator(arrayA, arrayB) {
2763
- Debug.assertEqual(arrayA.length, arrayB.length);
2764
- let i = 0;
2765
- return {
2766
- next() {
2767
- if (i === arrayA.length) {
2768
- return { value: void 0, done: true };
2769
- }
2770
- i++;
2771
- return { value: [arrayA[i - 1], arrayB[i - 1]], done: false };
2772
- }
2773
- };
2774
- }
2775
- function zipToMap(keys, values) {
2776
- Debug.assert(keys.length === values.length);
2777
- const map2 = /* @__PURE__ */ new Map();
2778
- for (let i = 0; i < keys.length; ++i) {
2779
- map2.set(keys[i], values[i]);
2780
- }
2781
- return map2;
2782
- }
2783
2742
  function intersperse(input, element) {
2784
2743
  if (input.length <= 1) {
2785
2744
  return input;
@@ -2930,13 +2889,10 @@ function map(array, f) {
2930
2889
  }
2931
2890
  return result;
2932
2891
  }
2933
- function mapIterator(iter, mapFn) {
2934
- return {
2935
- next() {
2936
- const iterRes = iter.next();
2937
- return iterRes.done ? iterRes : { value: mapFn(iterRes.value), done: false };
2938
- }
2939
- };
2892
+ function* mapIterator(iter, mapFn) {
2893
+ for (const x of iter) {
2894
+ yield mapFn(x);
2895
+ }
2940
2896
  }
2941
2897
  function sameMap(array, f) {
2942
2898
  if (array) {
@@ -3000,30 +2956,12 @@ function flatMapToMutable(array, mapfn) {
3000
2956
  }
3001
2957
  return result;
3002
2958
  }
3003
- function flatMapIterator(iter, mapfn) {
3004
- const first2 = iter.next();
3005
- if (first2.done) {
3006
- return emptyIterator;
3007
- }
3008
- let currentIter = getIterator2(first2.value);
3009
- return {
3010
- next() {
3011
- while (true) {
3012
- const currentRes = currentIter.next();
3013
- if (!currentRes.done) {
3014
- return currentRes;
3015
- }
3016
- const iterRes = iter.next();
3017
- if (iterRes.done) {
3018
- return iterRes;
3019
- }
3020
- currentIter = getIterator2(iterRes.value);
3021
- }
3022
- }
3023
- };
3024
- function getIterator2(x) {
3025
- const res = mapfn(x);
3026
- return res === void 0 ? emptyIterator : isArray(res) ? arrayIterator(res) : res;
2959
+ function* flatMapIterator(iter, mapfn) {
2960
+ for (const x of iter) {
2961
+ const iter2 = mapfn(x);
2962
+ if (!iter2)
2963
+ continue;
2964
+ yield* iter2;
3027
2965
  }
3028
2966
  }
3029
2967
  function sameFlatMap(array, mapfn) {
@@ -3069,21 +3007,13 @@ function mapDefined(array, mapFn) {
3069
3007
  }
3070
3008
  return result;
3071
3009
  }
3072
- function mapDefinedIterator(iter, mapFn) {
3073
- return {
3074
- next() {
3075
- while (true) {
3076
- const res = iter.next();
3077
- if (res.done) {
3078
- return res;
3079
- }
3080
- const value = mapFn(res.value);
3081
- if (value !== void 0) {
3082
- return { value, done: false };
3083
- }
3084
- }
3010
+ function* mapDefinedIterator(iter, mapFn) {
3011
+ for (const x of iter) {
3012
+ const value = mapFn(x);
3013
+ if (value !== void 0) {
3014
+ yield value;
3085
3015
  }
3086
- };
3016
+ }
3087
3017
  }
3088
3018
  function mapDefinedEntries(map2, f) {
3089
3019
  if (!map2) {
@@ -3101,18 +3031,6 @@ function mapDefinedEntries(map2, f) {
3101
3031
  });
3102
3032
  return result;
3103
3033
  }
3104
- function mapDefinedValues(set, f) {
3105
- if (set) {
3106
- const result = /* @__PURE__ */ new Set();
3107
- set.forEach((value) => {
3108
- const newValue = f(value);
3109
- if (newValue !== void 0) {
3110
- result.add(newValue);
3111
- }
3112
- });
3113
- return result;
3114
- }
3115
- }
3116
3034
  function getOrUpdate(map2, key, callback) {
3117
3035
  if (map2.has(key)) {
3118
3036
  return map2.get(key);
@@ -3128,16 +3046,8 @@ function tryAddToSet(set, value) {
3128
3046
  }
3129
3047
  return false;
3130
3048
  }
3131
- var emptyIterator = { next: () => ({ value: void 0, done: true }) };
3132
- function singleIterator(value) {
3133
- let done = false;
3134
- return {
3135
- next() {
3136
- const wasDone = done;
3137
- done = true;
3138
- return wasDone ? { value: void 0, done: true } : { value, done: false };
3139
- }
3140
- };
3049
+ function* singleIterator(value) {
3050
+ yield value;
3141
3051
  }
3142
3052
  function spanMap(array, keyfn, mapfn) {
3143
3053
  let result;
@@ -3388,13 +3298,6 @@ function relativeComplement(arrayA, arrayB, comparer) {
3388
3298
  }
3389
3299
  return result;
3390
3300
  }
3391
- function sum(array, prop) {
3392
- let result = 0;
3393
- for (const v of array) {
3394
- result += v[prop];
3395
- }
3396
- return result;
3397
- }
3398
3301
  function append(to, value) {
3399
3302
  if (value === void 0)
3400
3303
  return to;
@@ -3453,29 +3356,10 @@ function stableSortIndices(array, indices, comparer) {
3453
3356
  function sort(array, comparer) {
3454
3357
  return array.length === 0 ? array : array.slice().sort(comparer);
3455
3358
  }
3456
- function arrayIterator(array) {
3457
- let i = 0;
3458
- return { next: () => {
3459
- if (i === array.length) {
3460
- return { value: void 0, done: true };
3461
- } else {
3462
- i++;
3463
- return { value: array[i - 1], done: false };
3464
- }
3465
- } };
3466
- }
3467
- function arrayReverseIterator(array) {
3468
- let i = array.length;
3469
- return {
3470
- next: () => {
3471
- if (i === 0) {
3472
- return { value: void 0, done: true };
3473
- } else {
3474
- i--;
3475
- return { value: array[i], done: false };
3476
- }
3477
- }
3478
- };
3359
+ function* arrayReverseIterator(array) {
3360
+ for (let i = array.length - 1; i >= 0; i--) {
3361
+ yield array[i];
3362
+ }
3479
3363
  }
3480
3364
  function stableSort(array, comparer) {
3481
3365
  const indices = indicesOf(array);
@@ -3491,7 +3375,7 @@ function rangeEquals(array1, array2, pos, end) {
3491
3375
  }
3492
3376
  return true;
3493
3377
  }
3494
- function elementAt(array, offset) {
3378
+ var elementAt = !!Array.prototype.at ? (array, offset) => array == null ? void 0 : array.at(offset) : (array, offset) => {
3495
3379
  if (array) {
3496
3380
  offset = toOffset(array, offset);
3497
3381
  if (offset < array.length) {
@@ -3499,14 +3383,28 @@ function elementAt(array, offset) {
3499
3383
  }
3500
3384
  }
3501
3385
  return void 0;
3502
- }
3386
+ };
3503
3387
  function firstOrUndefined(array) {
3504
3388
  return array === void 0 || array.length === 0 ? void 0 : array[0];
3505
3389
  }
3390
+ function firstOrUndefinedIterator(iter) {
3391
+ if (iter) {
3392
+ for (const value of iter) {
3393
+ return value;
3394
+ }
3395
+ }
3396
+ return void 0;
3397
+ }
3506
3398
  function first(array) {
3507
3399
  Debug.assert(array.length !== 0);
3508
3400
  return array[0];
3509
3401
  }
3402
+ function firstIterator(iter) {
3403
+ for (const value of iter) {
3404
+ return value;
3405
+ }
3406
+ Debug.fail("iterator is empty");
3407
+ }
3510
3408
  function lastOrUndefined(array) {
3511
3409
  return array === void 0 || array.length === 0 ? void 0 : array[array.length - 1];
3512
3410
  }
@@ -3610,17 +3508,6 @@ function getOwnValues(collection) {
3610
3508
  }
3611
3509
  return values;
3612
3510
  }
3613
- var _entries = Object.entries || ((obj) => {
3614
- const keys = getOwnKeys(obj);
3615
- const result = Array(keys.length);
3616
- for (let i = 0; i < keys.length; i++) {
3617
- result[i] = [keys[i], obj[keys[i]]];
3618
- }
3619
- return result;
3620
- });
3621
- function getEntries(obj) {
3622
- return obj ? _entries(obj) : [];
3623
- }
3624
3511
  function arrayOf(count, f) {
3625
3512
  const result = new Array(count);
3626
3513
  for (let i = 0; i < count; i++) {
@@ -3630,8 +3517,8 @@ function arrayOf(count, f) {
3630
3517
  }
3631
3518
  function arrayFrom(iterator, map2) {
3632
3519
  const result = [];
3633
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
3634
- result.push(map2 ? map2(iterResult.value) : iterResult.value);
3520
+ for (const value of iterator) {
3521
+ result.push(map2 ? map2(value) : value);
3635
3522
  }
3636
3523
  return result;
3637
3524
  }
@@ -3792,35 +3679,14 @@ function createQueue(items) {
3792
3679
  function createSet(getHashCode, equals) {
3793
3680
  const multiMap = /* @__PURE__ */ new Map();
3794
3681
  let size = 0;
3795
- function getElementIterator() {
3796
- const valueIt = multiMap.values();
3797
- let arrayIt;
3798
- const it = {
3799
- next: () => {
3800
- while (true) {
3801
- if (arrayIt) {
3802
- const n = arrayIt.next();
3803
- if (!n.done) {
3804
- return { value: n.value };
3805
- }
3806
- arrayIt = void 0;
3807
- } else {
3808
- const n = valueIt.next();
3809
- if (n.done) {
3810
- return { value: void 0, done: true };
3811
- }
3812
- if (!isArray(n.value)) {
3813
- return { value: n.value };
3814
- }
3815
- arrayIt = arrayIterator(n.value);
3816
- }
3817
- }
3818
- },
3819
- [Symbol.iterator]: () => {
3820
- return it;
3682
+ function* getElementIterator() {
3683
+ for (const value of multiMap.values()) {
3684
+ if (isArray(value)) {
3685
+ yield* value;
3686
+ } else {
3687
+ yield value;
3821
3688
  }
3822
- };
3823
- return it;
3689
+ }
3824
3690
  }
3825
3691
  const set = {
3826
3692
  has(element) {
@@ -3913,16 +3779,10 @@ function createSet(getHashCode, equals) {
3913
3779
  values() {
3914
3780
  return getElementIterator();
3915
3781
  },
3916
- entries() {
3917
- const it = getElementIterator();
3918
- const it2 = {
3919
- next: () => {
3920
- const n = it.next();
3921
- return n.done ? n : { value: [n.value, n.value] };
3922
- },
3923
- [Symbol.iterator]: () => it2
3924
- };
3925
- return it2;
3782
+ *entries() {
3783
+ for (const value of getElementIterator()) {
3784
+ yield [value, value];
3785
+ }
3926
3786
  },
3927
3787
  [Symbol.iterator]: () => {
3928
3788
  return getElementIterator();
@@ -3932,7 +3792,7 @@ function createSet(getHashCode, equals) {
3932
3792
  return set;
3933
3793
  }
3934
3794
  function isArray(value) {
3935
- return Array.isArray ? Array.isArray(value) : value instanceof Array;
3795
+ return Array.isArray(value);
3936
3796
  }
3937
3797
  function toArray(value) {
3938
3798
  return isArray(value) ? value : [value];
@@ -4012,25 +3872,6 @@ function memoizeWeak(callback) {
4012
3872
  return value;
4013
3873
  };
4014
3874
  }
4015
- function compose(a, b, c, d, e) {
4016
- if (!!e) {
4017
- const args = [];
4018
- for (let i = 0; i < arguments.length; i++) {
4019
- args[i] = arguments[i];
4020
- }
4021
- return (t) => reduceLeft(args, (u, f) => f(u), t);
4022
- } else if (d) {
4023
- return (t) => d(c(b(a(t))));
4024
- } else if (c) {
4025
- return (t) => c(b(a(t)));
4026
- } else if (b) {
4027
- return (t) => b(a(t));
4028
- } else if (a) {
4029
- return (t) => a(t);
4030
- } else {
4031
- return (t) => t;
4032
- }
4033
- }
4034
3875
  var AssertionLevel = /* @__PURE__ */ ((AssertionLevel2) => {
4035
3876
  AssertionLevel2[AssertionLevel2["None"] = 0] = "None";
4036
3877
  AssertionLevel2[AssertionLevel2["Normal"] = 1] = "Normal";
@@ -4397,13 +4238,6 @@ function enumerateInsertsAndDeletes(newItems, oldItems, comparer, inserted, dele
4397
4238
  }
4398
4239
  return hasChanges;
4399
4240
  }
4400
- function fill(length2, cb) {
4401
- const result = Array(length2);
4402
- for (let i = 0; i < length2; i++) {
4403
- result[i] = cb(i);
4404
- }
4405
- return result;
4406
- }
4407
4241
  function cartesianProduct(arrays) {
4408
4242
  const result = [];
4409
4243
  cartesianProductWorker(
@@ -5259,7 +5093,7 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
5259
5093
  return height2 + 1;
5260
5094
  }
5261
5095
  function computeColumnWidths(height2) {
5262
- const columns = fill2(Array(height2), 0);
5096
+ const columns = fill(Array(height2), 0);
5263
5097
  for (const node of nodes) {
5264
5098
  columns[node.level] = Math.max(columns[node.level], node.text.length);
5265
5099
  }
@@ -5342,9 +5176,9 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
5342
5176
  function renderGraph() {
5343
5177
  const columnCount = columnWidths.length;
5344
5178
  const laneCount = nodes.reduce((x, n) => Math.max(x, n.lane), 0) + 1;
5345
- const lanes = fill2(Array(laneCount), "");
5179
+ const lanes = fill(Array(laneCount), "");
5346
5180
  const grid = columnWidths.map(() => Array(laneCount));
5347
- const connectors = columnWidths.map(() => fill2(Array(laneCount), 0));
5181
+ const connectors = columnWidths.map(() => fill(Array(laneCount), 0));
5348
5182
  for (const node of nodes) {
5349
5183
  grid[node.level][node.lane] = node;
5350
5184
  const children = getChildren(node);
@@ -5390,17 +5224,17 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
5390
5224
  for (let column = 0; column < columnCount; column++) {
5391
5225
  for (let lane = 0; lane < lanes.length; lane++) {
5392
5226
  const connector = connectors[column][lane];
5393
- const fill3 = connector & 4 /* Left */ ? "\u2500" /* lr */ : " ";
5227
+ const fill2 = connector & 4 /* Left */ ? "\u2500" /* lr */ : " ";
5394
5228
  const node = grid[column][lane];
5395
5229
  if (!node) {
5396
5230
  if (column < columnCount - 1) {
5397
- writeLane(lane, repeat(fill3, columnWidths[column] + 1));
5231
+ writeLane(lane, repeat(fill2, columnWidths[column] + 1));
5398
5232
  }
5399
5233
  } else {
5400
5234
  writeLane(lane, node.text);
5401
5235
  if (column < columnCount - 1) {
5402
5236
  writeLane(lane, " ");
5403
- writeLane(lane, repeat(fill3, columnWidths[column] - node.text.length));
5237
+ writeLane(lane, repeat(fill2, columnWidths[column] - node.text.length));
5404
5238
  }
5405
5239
  }
5406
5240
  writeLane(lane, getBoxCharacter(connector));
@@ -5441,7 +5275,7 @@ ${lanes.join("\n")}
5441
5275
  }
5442
5276
  return " ";
5443
5277
  }
5444
- function fill2(array, value) {
5278
+ function fill(array, value) {
5445
5279
  if (array.fill) {
5446
5280
  array.fill(value);
5447
5281
  } else {
@@ -11836,8 +11670,8 @@ var textToKeywordObj = {
11836
11670
  await: 133 /* AwaitKeyword */,
11837
11671
  of: 162 /* OfKeyword */
11838
11672
  };
11839
- var textToKeyword = new Map(getEntries(textToKeywordObj));
11840
- var textToToken = new Map(getEntries({
11673
+ var textToKeyword = new Map(Object.entries(textToKeywordObj));
11674
+ var textToToken = new Map(Object.entries({
11841
11675
  ...textToKeywordObj,
11842
11676
  "{": 18 /* OpenBraceToken */,
11843
11677
  "}": 19 /* CloseBraceToken */,
@@ -15427,8 +15261,7 @@ function forEachAncestor(node, callback) {
15427
15261
  }
15428
15262
  function forEachEntry(map2, callback) {
15429
15263
  const iterator = map2.entries();
15430
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
15431
- const [key, value] = iterResult.value;
15264
+ for (const [key, value] of iterator) {
15432
15265
  const result = callback(value, key);
15433
15266
  if (result) {
15434
15267
  return result;
@@ -15438,8 +15271,8 @@ function forEachEntry(map2, callback) {
15438
15271
  }
15439
15272
  function forEachKey(map2, callback) {
15440
15273
  const iterator = map2.keys();
15441
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
15442
- const result = callback(iterResult.value);
15274
+ for (const key of iterator) {
15275
+ const result = callback(key);
15443
15276
  if (result) {
15444
15277
  return result;
15445
15278
  }
@@ -18331,7 +18164,7 @@ function hasInvalidEscape(template) {
18331
18164
  var doubleQuoteEscapedCharsRegExp = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
18332
18165
  var singleQuoteEscapedCharsRegExp = /[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
18333
18166
  var backtickQuoteEscapedCharsRegExp = /\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g;
18334
- var escapedCharsMap = new Map(getEntries({
18167
+ var escapedCharsMap = new Map(Object.entries({
18335
18168
  " ": "\\t",
18336
18169
  "\v": "\\v",
18337
18170
  "\f": "\\f",
@@ -18377,7 +18210,7 @@ function escapeNonAsciiString(s, quoteChar) {
18377
18210
  }
18378
18211
  var jsxDoubleQuoteEscapedCharsRegExp = /[\"\u0000-\u001f\u2028\u2029\u0085]/g;
18379
18212
  var jsxSingleQuoteEscapedCharsRegExp = /[\'\u0000-\u001f\u2028\u2029\u0085]/g;
18380
- var jsxEscapedCharsMap = new Map(getEntries({
18213
+ var jsxEscapedCharsMap = new Map(Object.entries({
18381
18214
  '"': "&quot;",
18382
18215
  "'": "&apos;"
18383
18216
  }));
@@ -30062,7 +29895,6 @@ var Parser;
30062
29895
  let currentToken;
30063
29896
  let nodeCount;
30064
29897
  let identifiers;
30065
- let privateIdentifiers;
30066
29898
  let identifierCount;
30067
29899
  let parsingContext;
30068
29900
  let notParenthesizedArrow;
@@ -30215,7 +30047,6 @@ var Parser;
30215
30047
  parseDiagnostics = [];
30216
30048
  parsingContext = 0;
30217
30049
  identifiers = /* @__PURE__ */ new Map();
30218
- privateIdentifiers = /* @__PURE__ */ new Map();
30219
30050
  identifierCount = 0;
30220
30051
  nodeCount = 0;
30221
30052
  sourceFlags = 0;
@@ -30956,16 +30787,9 @@ var Parser;
30956
30787
  parseExpected(23 /* CloseBracketToken */);
30957
30788
  return finishNode(factory2.createComputedPropertyName(expression), pos);
30958
30789
  }
30959
- function internPrivateIdentifier(text) {
30960
- let privateIdentifier = privateIdentifiers.get(text);
30961
- if (privateIdentifier === void 0) {
30962
- privateIdentifiers.set(text, privateIdentifier = text);
30963
- }
30964
- return privateIdentifier;
30965
- }
30966
30790
  function parsePrivateIdentifier() {
30967
30791
  const pos = getNodePos();
30968
- const node = factory2.createPrivateIdentifier(internPrivateIdentifier(scanner2.getTokenValue()));
30792
+ const node = factory2.createPrivateIdentifier(internIdentifier(scanner2.getTokenValue()));
30969
30793
  nextToken();
30970
30794
  return finishNode(node, pos);
30971
30795
  }
@@ -37128,14 +36952,14 @@ var compileOnSaveCommandLineOption = {
37128
36952
  type: "boolean",
37129
36953
  defaultValueDescription: false
37130
36954
  };
37131
- var jsxOptionMap = new Map(getEntries({
36955
+ var jsxOptionMap = new Map(Object.entries({
37132
36956
  "preserve": 1 /* Preserve */,
37133
36957
  "react-native": 3 /* ReactNative */,
37134
36958
  "react": 2 /* React */,
37135
36959
  "react-jsx": 4 /* ReactJSX */,
37136
36960
  "react-jsxdev": 5 /* ReactJSXDev */
37137
36961
  }));
37138
- var inverseJsxOptionMap = new Map(arrayFrom(mapIterator(jsxOptionMap.entries(), ([key, value]) => ["" + value, key])));
36962
+ var inverseJsxOptionMap = new Map(mapIterator(jsxOptionMap.entries(), ([key, value]) => ["" + value, key]));
37139
36963
  var libEntries = [
37140
36964
  // JavaScript only
37141
36965
  ["es5", "lib.es5.d.ts"],
@@ -37216,7 +37040,7 @@ var libMap = new Map(libEntries);
37216
37040
  var optionsForWatch = [
37217
37041
  {
37218
37042
  name: "watchFile",
37219
- type: new Map(getEntries({
37043
+ type: new Map(Object.entries({
37220
37044
  fixedpollinginterval: 0 /* FixedPollingInterval */,
37221
37045
  prioritypollinginterval: 1 /* PriorityPollingInterval */,
37222
37046
  dynamicprioritypolling: 2 /* DynamicPriorityPolling */,
@@ -37230,7 +37054,7 @@ var optionsForWatch = [
37230
37054
  },
37231
37055
  {
37232
37056
  name: "watchDirectory",
37233
- type: new Map(getEntries({
37057
+ type: new Map(Object.entries({
37234
37058
  usefsevents: 0 /* UseFsEvents */,
37235
37059
  fixedpollinginterval: 1 /* FixedPollingInterval */,
37236
37060
  dynamicprioritypolling: 2 /* DynamicPriorityPolling */,
@@ -37242,7 +37066,7 @@ var optionsForWatch = [
37242
37066
  },
37243
37067
  {
37244
37068
  name: "fallbackPolling",
37245
- type: new Map(getEntries({
37069
+ type: new Map(Object.entries({
37246
37070
  fixedinterval: 0 /* FixedInterval */,
37247
37071
  priorityinterval: 1 /* PriorityInterval */,
37248
37072
  dynamicpriority: 2 /* DynamicPriority */,
@@ -37473,7 +37297,7 @@ var commonOptionsWithBuild = [
37473
37297
  var targetOptionDeclaration = {
37474
37298
  name: "target",
37475
37299
  shortName: "t",
37476
- type: new Map(getEntries({
37300
+ type: new Map(Object.entries({
37477
37301
  es3: 0 /* ES3 */,
37478
37302
  es5: 1 /* ES5 */,
37479
37303
  es6: 2 /* ES2015 */,
@@ -37500,7 +37324,7 @@ var targetOptionDeclaration = {
37500
37324
  var moduleOptionDeclaration = {
37501
37325
  name: "module",
37502
37326
  shortName: "m",
37503
- type: new Map(getEntries({
37327
+ type: new Map(Object.entries({
37504
37328
  none: 0 /* None */,
37505
37329
  commonjs: 1 /* CommonJS */,
37506
37330
  amd: 2 /* AMD */,
@@ -37723,7 +37547,7 @@ var commandOptionsWithoutBuild = [
37723
37547
  },
37724
37548
  {
37725
37549
  name: "importsNotUsedAsValues",
37726
- type: new Map(getEntries({
37550
+ type: new Map(Object.entries({
37727
37551
  remove: 0 /* Remove */,
37728
37552
  preserve: 1 /* Preserve */,
37729
37553
  error: 2 /* Error */
@@ -37925,7 +37749,7 @@ var commandOptionsWithoutBuild = [
37925
37749
  // Module Resolution
37926
37750
  {
37927
37751
  name: "moduleResolution",
37928
- type: new Map(getEntries({
37752
+ type: new Map(Object.entries({
37929
37753
  // N.B. The first entry specifies the value shown in `tsc --init`
37930
37754
  node10: 2 /* Node10 */,
37931
37755
  node: 2 /* Node10 */,
@@ -38217,7 +38041,7 @@ var commandOptionsWithoutBuild = [
38217
38041
  },
38218
38042
  {
38219
38043
  name: "newLine",
38220
- type: new Map(getEntries({
38044
+ type: new Map(Object.entries({
38221
38045
  crlf: 0 /* CarriageReturnLineFeed */,
38222
38046
  lf: 1 /* LineFeed */
38223
38047
  })),
@@ -38461,7 +38285,7 @@ var commandOptionsWithoutBuild = [
38461
38285
  },
38462
38286
  {
38463
38287
  name: "moduleDetection",
38464
- type: new Map(getEntries({
38288
+ type: new Map(Object.entries({
38465
38289
  auto: 2 /* Auto */,
38466
38290
  legacy: 1 /* Legacy */,
38467
38291
  force: 3 /* Force */
@@ -40386,9 +40210,9 @@ function getDefaultValueForOption(option) {
40386
40210
  case "object":
40387
40211
  return {};
40388
40212
  default:
40389
- const iterResult = option.type.keys().next();
40390
- if (!iterResult.done)
40391
- return iterResult.value;
40213
+ const value = firstOrUndefinedIterator(option.type.keys());
40214
+ if (value !== void 0)
40215
+ return value;
40392
40216
  return Debug.fail("Expected 'option.type' to have entries.");
40393
40217
  }
40394
40218
  }
@@ -46704,7 +46528,7 @@ var TypeFacts = /* @__PURE__ */ ((TypeFacts3) => {
46704
46528
  TypeFacts3[TypeFacts3["AndFactsMask"] = 134209471] = "AndFactsMask";
46705
46529
  return TypeFacts3;
46706
46530
  })(TypeFacts || {});
46707
- var typeofNEFacts = new Map(getEntries({
46531
+ var typeofNEFacts = new Map(Object.entries({
46708
46532
  string: 256 /* TypeofNEString */,
46709
46533
  number: 512 /* TypeofNENumber */,
46710
46534
  bigint: 1024 /* TypeofNEBigInt */,
@@ -46735,7 +46559,7 @@ var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
46735
46559
  return SignatureCheckMode3;
46736
46560
  })(SignatureCheckMode || {});
46737
46561
  var isNotOverloadAndNotAccessor = and(isNotOverload, isNotAccessor);
46738
- var intrinsicTypeKinds = new Map(getEntries({
46562
+ var intrinsicTypeKinds = new Map(Object.entries({
46739
46563
  Uppercase: 0 /* Uppercase */,
46740
46564
  Lowercase: 1 /* Lowercase */,
46741
46565
  Capitalize: 2 /* Capitalize */,
@@ -46826,9 +46650,9 @@ function createTypeChecker(host) {
46826
46650
  const requireSymbol = createSymbol(4 /* Property */, "require");
46827
46651
  let apparentArgumentCount;
46828
46652
  const checker = {
46829
- getNodeCount: () => sum(host.getSourceFiles(), "nodeCount"),
46830
- getIdentifierCount: () => sum(host.getSourceFiles(), "identifierCount"),
46831
- getSymbolCount: () => sum(host.getSourceFiles(), "symbolCount") + symbolCount,
46653
+ getNodeCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.nodeCount, 0),
46654
+ getIdentifierCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.identifierCount, 0),
46655
+ getSymbolCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.symbolCount, symbolCount),
46832
46656
  getTypeCount: () => typeCount,
46833
46657
  getInstantiationCount: () => totalInstantiationCount,
46834
46658
  getRelationCacheSizes: () => ({
@@ -57701,7 +57525,7 @@ function createTypeChecker(host) {
57701
57525
  }
57702
57526
  }
57703
57527
  }
57704
- if (!singleProp || isUnion && (propSet || checkFlags & 48 /* Partial */) && checkFlags & (1024 /* ContainsPrivate */ | 512 /* ContainsProtected */) && !(propSet && getCommonDeclarationsOfSymbols(arrayFrom(propSet.values())))) {
57528
+ if (!singleProp || isUnion && (propSet || checkFlags & 48 /* Partial */) && checkFlags & (1024 /* ContainsPrivate */ | 512 /* ContainsProtected */) && !(propSet && getCommonDeclarationsOfSymbols(propSet.values()))) {
57705
57529
  return void 0;
57706
57530
  }
57707
57531
  if (!propSet && !(checkFlags & 16 /* ReadPartial */) && !indexTypes) {
@@ -59792,7 +59616,7 @@ function createTypeChecker(host) {
59792
59616
  if (!aliasSymbol && namedUnions.length === 1 && reducedTypes.length === 0) {
59793
59617
  return namedUnions[0];
59794
59618
  }
59795
- const namedTypesCount = reduceLeft(namedUnions, (sum2, union) => sum2 + union.types.length, 0);
59619
+ const namedTypesCount = reduceLeft(namedUnions, (sum, union) => sum + union.types.length, 0);
59796
59620
  if (namedTypesCount + reducedTypes.length === typeSet.length) {
59797
59621
  for (const t of namedUnions) {
59798
59622
  insertType(reducedTypes, t);
@@ -60835,14 +60659,11 @@ function createTypeChecker(host) {
60835
60659
  const constraint = getConstraintOfTypeParameter(p);
60836
60660
  return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
60837
60661
  }
60838
- function isTypicalNondistributiveConditional(root) {
60839
- return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType);
60662
+ function isSimpleTupleType(node) {
60663
+ return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
60840
60664
  }
60841
- function isSingletonTupleType(node) {
60842
- return isTupleTypeNode(node) && length(node.elements) === 1 && !isOptionalTypeNode(node.elements[0]) && !isRestTypeNode(node.elements[0]) && !(isNamedTupleMember(node.elements[0]) && (node.elements[0].questionToken || node.elements[0].dotDotDotToken));
60843
- }
60844
- function unwrapNondistributiveConditionalTuple(root, type) {
60845
- return isTypicalNondistributiveConditional(root) && isTupleType(type) ? getTypeArguments(type)[0] : type;
60665
+ function isDeferredType(type, checkTuples) {
60666
+ return isGenericType(type) || checkTuples && isTupleType(type) && some(getTypeArguments(type), isGenericType);
60846
60667
  }
60847
60668
  function getConditionalType(root, mapper, aliasSymbol, aliasTypeArguments) {
60848
60669
  let result;
@@ -60854,10 +60675,10 @@ function createTypeChecker(host) {
60854
60675
  result = errorType;
60855
60676
  break;
60856
60677
  }
60857
- const isUnwrapped = isTypicalNondistributiveConditional(root);
60858
- const checkType = instantiateType(unwrapNondistributiveConditionalTuple(root, getActualTypeVariable(root.checkType)), mapper);
60859
- const checkTypeInstantiable = isGenericType(checkType);
60860
- const extendsType = instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), mapper);
60678
+ const checkTuples = isSimpleTupleType(root.node.checkType) && isSimpleTupleType(root.node.extendsType) && length(root.node.checkType.elements) === length(root.node.extendsType.elements);
60679
+ const checkType = instantiateType(getActualTypeVariable(root.checkType), mapper);
60680
+ const checkTypeDeferred = isDeferredType(checkType, checkTuples);
60681
+ const extendsType = instantiateType(root.extendsType, mapper);
60861
60682
  if (checkType === wildcardType || extendsType === wildcardType) {
60862
60683
  return wildcardType;
60863
60684
  }
@@ -60879,16 +60700,16 @@ function createTypeChecker(host) {
60879
60700
  }
60880
60701
  }
60881
60702
  }
60882
- if (!checkTypeInstantiable) {
60703
+ if (!checkTypeDeferred) {
60883
60704
  inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
60884
60705
  }
60885
60706
  const innerMapper = combineTypeMappers(freshMapper, context.mapper);
60886
60707
  combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
60887
60708
  }
60888
- const inferredExtendsType = combinedMapper ? instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), combinedMapper) : extendsType;
60889
- if (!checkTypeInstantiable && !isGenericType(inferredExtendsType)) {
60890
- if (!(inferredExtendsType.flags & 3 /* AnyOrUnknown */) && (checkType.flags & 1 /* Any */ && !isUnwrapped || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) {
60891
- if (checkType.flags & 1 /* Any */ && !isUnwrapped) {
60709
+ const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
60710
+ if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
60711
+ if (!(inferredExtendsType.flags & 3 /* AnyOrUnknown */) && (checkType.flags & 1 /* Any */ || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) {
60712
+ if (checkType.flags & 1 /* Any */) {
60892
60713
  (extraTypes || (extraTypes = [])).push(instantiateType(getTypeFromTypeNode(root.node.trueType), combinedMapper || mapper));
60893
60714
  }
60894
60715
  const falseType2 = getTypeFromTypeNode(root.node.falseType);
@@ -62254,8 +62075,8 @@ function createTypeChecker(host) {
62254
62075
  }
62255
62076
  function elaborateElementwise(iterator, source, target, relation, containingMessageChain, errorOutputContainer) {
62256
62077
  let reportedError = false;
62257
- for (let status = iterator.next(); !status.done; status = iterator.next()) {
62258
- const { errorNode: prop, innerExpression: next, nameType, errorMessage } = status.value;
62078
+ for (const value of iterator) {
62079
+ const { errorNode: prop, innerExpression: next, nameType, errorMessage } = value;
62259
62080
  let targetPropType = getBestMatchIndexedAccessTypeOrUndefined(source, target, nameType);
62260
62081
  if (!targetPropType || targetPropType.flags & 8388608 /* IndexedAccess */)
62261
62082
  continue;
@@ -62331,6 +62152,74 @@ function createTypeChecker(host) {
62331
62152
  }
62332
62153
  return reportedError;
62333
62154
  }
62155
+ function elaborateIterableOrArrayLikeTargetElementwise(iterator, source, target, relation, containingMessageChain, errorOutputContainer) {
62156
+ const tupleOrArrayLikeTargetParts = filterType(target, isArrayOrTupleLikeType);
62157
+ const nonTupleOrArrayLikeTargetParts = filterType(target, (t) => !isArrayOrTupleLikeType(t));
62158
+ const iterationType = nonTupleOrArrayLikeTargetParts !== neverType ? getIterationTypeOfIterable(
62159
+ 13 /* ForOf */,
62160
+ 0 /* Yield */,
62161
+ nonTupleOrArrayLikeTargetParts,
62162
+ /*errorNode*/
62163
+ void 0
62164
+ ) : void 0;
62165
+ let reportedError = false;
62166
+ for (let status = iterator.next(); !status.done; status = iterator.next()) {
62167
+ const { errorNode: prop, innerExpression: next, nameType, errorMessage } = status.value;
62168
+ let targetPropType = iterationType;
62169
+ const targetIndexedPropType = tupleOrArrayLikeTargetParts !== neverType ? getBestMatchIndexedAccessTypeOrUndefined(source, tupleOrArrayLikeTargetParts, nameType) : void 0;
62170
+ if (targetIndexedPropType && !(targetIndexedPropType.flags & 8388608 /* IndexedAccess */)) {
62171
+ targetPropType = iterationType ? getUnionType([iterationType, targetIndexedPropType]) : targetIndexedPropType;
62172
+ }
62173
+ if (!targetPropType)
62174
+ continue;
62175
+ let sourcePropType = getIndexedAccessTypeOrUndefined(source, nameType);
62176
+ if (!sourcePropType)
62177
+ continue;
62178
+ const propName = getPropertyNameFromIndex(
62179
+ nameType,
62180
+ /*accessNode*/
62181
+ void 0
62182
+ );
62183
+ if (!checkTypeRelatedTo(
62184
+ sourcePropType,
62185
+ targetPropType,
62186
+ relation,
62187
+ /*errorNode*/
62188
+ void 0
62189
+ )) {
62190
+ const elaborated = next && elaborateError(
62191
+ next,
62192
+ sourcePropType,
62193
+ targetPropType,
62194
+ relation,
62195
+ /*headMessage*/
62196
+ void 0,
62197
+ containingMessageChain,
62198
+ errorOutputContainer
62199
+ );
62200
+ reportedError = true;
62201
+ if (!elaborated) {
62202
+ const resultObj = errorOutputContainer || {};
62203
+ const specificSource = next ? checkExpressionForMutableLocationWithContextualType(next, sourcePropType) : sourcePropType;
62204
+ if (exactOptionalPropertyTypes && isExactOptionalPropertyMismatch(specificSource, targetPropType)) {
62205
+ const diag2 = createDiagnosticForNode(prop, Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, typeToString(specificSource), typeToString(targetPropType));
62206
+ diagnostics.add(diag2);
62207
+ resultObj.errors = [diag2];
62208
+ } else {
62209
+ const targetIsOptional = !!(propName && (getPropertyOfType(tupleOrArrayLikeTargetParts, propName) || unknownSymbol).flags & 16777216 /* Optional */);
62210
+ const sourceIsOptional = !!(propName && (getPropertyOfType(source, propName) || unknownSymbol).flags & 16777216 /* Optional */);
62211
+ targetPropType = removeMissingType(targetPropType, targetIsOptional);
62212
+ sourcePropType = removeMissingType(sourcePropType, targetIsOptional && sourceIsOptional);
62213
+ const result = checkTypeRelatedTo(specificSource, targetPropType, relation, prop, errorMessage, containingMessageChain, resultObj);
62214
+ if (result && specificSource !== sourcePropType) {
62215
+ checkTypeRelatedTo(sourcePropType, targetPropType, relation, prop, errorMessage, containingMessageChain, resultObj);
62216
+ }
62217
+ }
62218
+ }
62219
+ }
62220
+ }
62221
+ return reportedError;
62222
+ }
62334
62223
  function* generateJsxAttributes(node) {
62335
62224
  if (!length(node.properties))
62336
62225
  return;
@@ -62386,13 +62275,25 @@ function createTypeChecker(host) {
62386
62275
  return result;
62387
62276
  }
62388
62277
  const moreThanOneRealChildren = length(validChildren) > 1;
62389
- const arrayLikeTargetParts = filterType(childrenTargetType, isArrayOrTupleLikeType);
62390
- const nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isArrayOrTupleLikeType(t));
62278
+ let arrayLikeTargetParts;
62279
+ let nonArrayLikeTargetParts;
62280
+ const iterableType = getGlobalIterableType(
62281
+ /*reportErrors*/
62282
+ false
62283
+ );
62284
+ if (iterableType !== emptyGenericType) {
62285
+ const anyIterable = createIterableType(anyType);
62286
+ arrayLikeTargetParts = filterType(childrenTargetType, (t) => isTypeAssignableTo(t, anyIterable));
62287
+ nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isTypeAssignableTo(t, anyIterable));
62288
+ } else {
62289
+ arrayLikeTargetParts = filterType(childrenTargetType, isArrayOrTupleLikeType);
62290
+ nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isArrayOrTupleLikeType(t));
62291
+ }
62391
62292
  if (moreThanOneRealChildren) {
62392
62293
  if (arrayLikeTargetParts !== neverType) {
62393
62294
  const realSource = createTupleType(checkJsxChildren(containingElement, 0 /* Normal */));
62394
62295
  const children = generateJsxChildren(containingElement, getInvalidTextualChildDiagnostic);
62395
- result = elaborateElementwise(children, realSource, arrayLikeTargetParts, relation, containingMessageChain, errorOutputContainer) || result;
62296
+ result = elaborateIterableOrArrayLikeTargetElementwise(children, realSource, arrayLikeTargetParts, relation, containingMessageChain, errorOutputContainer) || result;
62396
62297
  } else if (!isTypeRelatedTo(getIndexedAccessType(source, childrenNameType), childrenTargetType, relation)) {
62397
62298
  result = true;
62398
62299
  const diag2 = error(
@@ -66273,9 +66174,7 @@ function createTypeChecker(host) {
66273
66174
  }
66274
66175
  }
66275
66176
  function getUnmatchedProperty(source, target, requireOptionalProperties, matchDiscriminantProperties) {
66276
- const result = getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties).next();
66277
- if (!result.done)
66278
- return result.value;
66177
+ return firstOrUndefinedIterator(getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties));
66279
66178
  }
66280
66179
  function tupleTypesDefinitelyUnrelated(source, target) {
66281
66180
  return !(target.target.combinedFlags & 8 /* Variadic */) && target.target.minLength > source.target.minLength || !target.target.hasRestElement && (source.target.hasRestElement || target.target.fixedLength < source.target.fixedLength);
@@ -67056,7 +66955,8 @@ function createTypeChecker(host) {
67056
66955
  if (signature) {
67057
66956
  const inferredCovariantType = inference.candidates ? getCovariantInference(inference, signature) : void 0;
67058
66957
  if (inference.contraCandidates) {
67059
- inferredType = inferredCovariantType && !(inferredCovariantType.flags & 131072 /* Never */) && some(inference.contraCandidates, (t) => isTypeSubtypeOf(inferredCovariantType, t)) ? inferredCovariantType : getContravariantInference(inference);
66958
+ const useCovariantType = inferredCovariantType && !(inferredCovariantType.flags & 131072 /* Never */) && some(inference.contraCandidates, (t) => isTypeSubtypeOf(inferredCovariantType, t)) && every(context.inferences, (other) => other === inference || getConstraintOfTypeParameter(other.typeParameter) !== inference.typeParameter || every(other.candidates, (t) => isTypeSubtypeOf(t, inferredCovariantType)));
66959
+ inferredType = useCovariantType ? inferredCovariantType : getContravariantInference(inference);
67060
66960
  } else if (inferredCovariantType) {
67061
66961
  inferredType = inferredCovariantType;
67062
66962
  } else if (context.flags & 1 /* NoDefault */) {
@@ -87314,8 +87214,7 @@ function createSourceMapGenerator(host, file, sourceRoot, sourcesDirectoryPath,
87314
87214
  const sourceIndexToNewSourceIndexMap = [];
87315
87215
  let nameIndexToNewNameIndexMap;
87316
87216
  const mappingIterator = decodeMappings(map2.mappings);
87317
- for (let iterResult = mappingIterator.next(); !iterResult.done; iterResult = mappingIterator.next()) {
87318
- const raw = iterResult.value;
87217
+ for (const raw of mappingIterator) {
87319
87218
  if (end && (raw.generatedLine > end.line || raw.generatedLine === end.line && raw.generatedCharacter > end.character)) {
87320
87219
  break;
87321
87220
  }
@@ -87550,6 +87449,9 @@ function decodeMappings(mappings) {
87550
87449
  return { value: captureMapping(hasSource, hasName), done };
87551
87450
  }
87552
87451
  return stopIterating();
87452
+ },
87453
+ [Symbol.iterator]() {
87454
+ return this;
87553
87455
  }
87554
87456
  };
87555
87457
  function captureMapping(hasSource, hasName) {
@@ -90412,10 +90314,10 @@ function transformClassFields(context) {
90412
90314
  const shouldTransformInitializersUsingDefine = useDefineForClassFields && languageVersion < 9 /* ES2022 */;
90413
90315
  const shouldTransformInitializers = shouldTransformInitializersUsingSet || shouldTransformInitializersUsingDefine;
90414
90316
  const shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ES2022 */;
90415
- const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */;
90317
+ const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */ ? -1 /* True */ : !useDefineForClassFields ? 3 /* Maybe */ : 0 /* False */;
90416
90318
  const shouldTransformThisInStaticInitializers = languageVersion < 9 /* ES2022 */;
90417
90319
  const shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ES2015 */;
90418
- const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors;
90320
+ const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors === -1 /* True */;
90419
90321
  const previousOnSubstituteNode = context.onSubstituteNode;
90420
90322
  context.onSubstituteNode = onSubstituteNode;
90421
90323
  const previousOnEmitNode = context.onEmitNode;
@@ -90445,7 +90347,7 @@ function transformClassFields(context) {
90445
90347
  }
90446
90348
  switch (node.kind) {
90447
90349
  case 127 /* AccessorKeyword */:
90448
- return shouldTransformAutoAccessors ? void 0 : node;
90350
+ return shouldTransformAutoAccessorsInCurrentClass() ? void 0 : node;
90449
90351
  case 260 /* ClassDeclaration */:
90450
90352
  return visitClassDeclaration(node);
90451
90353
  case 228 /* ClassExpression */:
@@ -90720,7 +90622,7 @@ function transformClassFields(context) {
90720
90622
  Debug.assert(info, "Undeclared private name for property declaration.");
90721
90623
  return info.isValid ? void 0 : node;
90722
90624
  }
90723
- if (shouldTransformInitializersUsingSet && !isStatic(node)) {
90625
+ if (shouldTransformInitializersUsingSet && !isStatic(node) && currentClassLexicalEnvironment && currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */) {
90724
90626
  return factory2.updatePropertyDeclaration(
90725
90627
  node,
90726
90628
  visitNodes2(node.modifiers, visitor, isModifierLike),
@@ -90736,7 +90638,7 @@ function transformClassFields(context) {
90736
90638
  return visitEachChild(node, visitor, context);
90737
90639
  }
90738
90640
  function transformPublicFieldInitializer(node) {
90739
- if (shouldTransformInitializers) {
90641
+ if (shouldTransformInitializers && !isAutoAccessorPropertyDeclaration(node)) {
90740
90642
  const expr = getPropertyNameExpressionIfNeeded(
90741
90643
  node.name,
90742
90644
  /*shouldHoist*/
@@ -90767,8 +90669,11 @@ function transformClassFields(context) {
90767
90669
  Debug.assert(!hasDecorators(node), "Decorators should already have been transformed and elided.");
90768
90670
  return isPrivateIdentifierClassElementDeclaration(node) ? transformPrivateFieldInitializer(node) : transformPublicFieldInitializer(node);
90769
90671
  }
90672
+ function shouldTransformAutoAccessorsInCurrentClass() {
90673
+ return shouldTransformAutoAccessors === -1 /* True */ || shouldTransformAutoAccessors === 3 /* Maybe */ && !!currentClassLexicalEnvironment && !!(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */);
90674
+ }
90770
90675
  function visitPropertyDeclaration(node) {
90771
- if (shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(node)) {
90676
+ if (shouldTransformAutoAccessorsInCurrentClass() && isAutoAccessorPropertyDeclaration(node)) {
90772
90677
  return transformAutoAccessor(node);
90773
90678
  }
90774
90679
  return transformFieldInitializer(node);
@@ -91169,26 +91074,44 @@ function transformClassFields(context) {
91169
91074
  if (isClassDeclaration(original) && classOrConstructorParameterIsDecorated(original)) {
91170
91075
  facts |= 1 /* ClassWasDecorated */;
91171
91076
  }
91077
+ let containsPublicInstanceFields = false;
91078
+ let containsInitializedPublicInstanceFields = false;
91079
+ let containsInstancePrivateElements = false;
91080
+ let containsInstanceAutoAccessors = false;
91172
91081
  for (const member of node.members) {
91173
- if (!isStatic(member))
91174
- continue;
91175
- if (member.name && (isPrivateIdentifier(member.name) || isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) {
91176
- facts |= 2 /* NeedsClassConstructorReference */;
91177
- }
91178
- if (isPropertyDeclaration(member) || isClassStaticBlockDeclaration(member)) {
91179
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* ContainsLexicalThis */) {
91180
- facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */;
91181
- if (!(facts & 1 /* ClassWasDecorated */)) {
91182
- facts |= 2 /* NeedsClassConstructorReference */;
91082
+ if (isStatic(member)) {
91083
+ if (member.name && (isPrivateIdentifier(member.name) || isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) {
91084
+ facts |= 2 /* NeedsClassConstructorReference */;
91085
+ }
91086
+ if (isPropertyDeclaration(member) || isClassStaticBlockDeclaration(member)) {
91087
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* ContainsLexicalThis */) {
91088
+ facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */;
91089
+ if (!(facts & 1 /* ClassWasDecorated */)) {
91090
+ facts |= 2 /* NeedsClassConstructorReference */;
91091
+ }
91183
91092
  }
91184
- }
91185
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
91186
- if (!(facts & 1 /* ClassWasDecorated */)) {
91187
- facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
91093
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
91094
+ if (!(facts & 1 /* ClassWasDecorated */)) {
91095
+ facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
91096
+ }
91188
91097
  }
91189
91098
  }
91099
+ } else if (!hasAbstractModifier(getOriginalNode(member))) {
91100
+ if (isAutoAccessorPropertyDeclaration(member)) {
91101
+ containsInstanceAutoAccessors = true;
91102
+ containsInstancePrivateElements || (containsInstancePrivateElements = isPrivateIdentifierClassElementDeclaration(member));
91103
+ } else if (isPrivateIdentifierClassElementDeclaration(member)) {
91104
+ containsInstancePrivateElements = true;
91105
+ } else if (isPropertyDeclaration(member)) {
91106
+ containsPublicInstanceFields = true;
91107
+ containsInitializedPublicInstanceFields || (containsInitializedPublicInstanceFields = !!member.initializer);
91108
+ }
91190
91109
  }
91191
91110
  }
91111
+ const willHoistInitializersToConstructor = shouldTransformInitializersUsingDefine && containsPublicInstanceFields || shouldTransformInitializersUsingSet && containsInitializedPublicInstanceFields || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstancePrivateElements || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstanceAutoAccessors && shouldTransformAutoAccessors === -1 /* True */;
91112
+ if (willHoistInitializersToConstructor) {
91113
+ facts |= 16 /* WillHoistInitializersToConstructor */;
91114
+ }
91192
91115
  return facts;
91193
91116
  }
91194
91117
  function visitExpressionWithTypeArgumentsInHeritageClause(node) {
@@ -91464,15 +91387,9 @@ function transformClassFields(context) {
91464
91387
  )
91465
91388
  );
91466
91389
  }
91467
- function isClassElementThatRequiresConstructorStatement(member) {
91468
- if (isStatic(member) || hasAbstractModifier(getOriginalNode(member))) {
91469
- return false;
91470
- }
91471
- return shouldTransformInitializersUsingDefine && isPropertyDeclaration(member) || shouldTransformInitializersUsingSet && isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && isPrivateIdentifierClassElementDeclaration(member) || shouldTransformPrivateElementsOrClassStaticBlocks && shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(member);
91472
- }
91473
91390
  function transformConstructor(constructor, container) {
91474
91391
  constructor = visitNode(constructor, visitor, isConstructorDeclaration);
91475
- if (!some(container.members, isClassElementThatRequiresConstructorStatement)) {
91392
+ if (!currentClassLexicalEnvironment || !(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */)) {
91476
91393
  return constructor;
91477
91394
  }
91478
91395
  const extendsClauseElement = getEffectiveBaseTypeNode(container);
@@ -95541,7 +95458,7 @@ function transformJsx(context) {
95541
95458
  void 0,
95542
95459
  factory2.createVariableDeclarationList([
95543
95460
  factory2.createVariableDeclaration(
95544
- factory2.createObjectBindingPattern(map(arrayFrom(importSpecifiersMap.values()), (s) => factory2.createBindingElement(
95461
+ factory2.createObjectBindingPattern(arrayFrom(importSpecifiersMap.values(), (s) => factory2.createBindingElement(
95545
95462
  /*dotdotdot*/
95546
95463
  void 0,
95547
95464
  s.propertyName,
@@ -95952,7 +95869,7 @@ function transformJsx(context) {
95952
95869
  return node.dotDotDotToken ? factory2.createSpreadElement(expression) : expression;
95953
95870
  }
95954
95871
  }
95955
- var entities = new Map(getEntries({
95872
+ var entities = new Map(Object.entries({
95956
95873
  quot: 34,
95957
95874
  amp: 38,
95958
95875
  apos: 39,
@@ -105556,7 +105473,7 @@ function transformDeclarations(context) {
105556
105473
  updated.exportedModulesFromDeclarationEmit = exportedModulesFromDeclarationEmit;
105557
105474
  return updated;
105558
105475
  function getLibReferences() {
105559
- return map(arrayFrom(libs2.keys()), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
105476
+ return arrayFrom(libs2.keys(), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
105560
105477
  }
105561
105478
  function getFileReferencesForUsedTypeReferences() {
105562
105479
  return necessaryTypeReferences ? mapDefined(arrayFrom(necessaryTypeReferences.keys()), getFileReferenceForSpecifierModeTuple) : [];
@@ -108125,6 +108042,8 @@ function createPrinter(printerOptions = {}, handlers = {}) {
108125
108042
  let tempFlags;
108126
108043
  let reservedNamesStack;
108127
108044
  let reservedNames;
108045
+ let reservedPrivateNamesStack;
108046
+ let reservedPrivateNames;
108128
108047
  let preserveSourceNewlines = printerOptions.preserveSourceNewlines;
108129
108048
  let nextListElementPos;
108130
108049
  let writer;
@@ -108418,6 +108337,9 @@ function createPrinter(printerOptions = {}, handlers = {}) {
108418
108337
  tempFlagsStack = [];
108419
108338
  tempFlags = TempFlags.Auto;
108420
108339
  reservedNamesStack = [];
108340
+ reservedNames = void 0;
108341
+ reservedPrivateNamesStack = [];
108342
+ reservedPrivateNames = void 0;
108421
108343
  currentSourceFile = void 0;
108422
108344
  currentLineMap = void 0;
108423
108345
  detachedCommentsInfo = void 0;
@@ -109161,9 +109083,13 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109161
109083
  }
109162
109084
  }
109163
109085
  function emitComputedPropertyName(node) {
109086
+ const savedPrivateNameTempFlags = privateNameTempFlags;
109087
+ const savedReservedMemberNames = reservedPrivateNames;
109088
+ popPrivateNameGenerationScope();
109164
109089
  writePunctuation("[");
109165
109090
  emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfComputedPropertyName);
109166
109091
  writePunctuation("]");
109092
+ pushPrivateNameGenerationScope(savedPrivateNameTempFlags, savedReservedMemberNames);
109167
109093
  }
109168
109094
  function emitTypeParameter(node) {
109169
109095
  emitModifiers(node, node.modifiers);
@@ -109343,10 +109269,16 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109343
109269
  emitTypeArguments(node, node.typeArguments);
109344
109270
  }
109345
109271
  function emitTypeLiteral(node) {
109272
+ pushPrivateNameGenerationScope(
109273
+ TempFlags.Auto,
109274
+ /*newReservedMemberNames*/
109275
+ void 0
109276
+ );
109346
109277
  writePunctuation("{");
109347
109278
  const flags = getEmitFlags(node) & 1 /* SingleLine */ ? 768 /* SingleLineTypeLiteralMembers */ : 32897 /* MultiLineTypeLiteralMembers */;
109348
109279
  emitList(node, node.members, flags | 524288 /* NoSpaceIfEmpty */);
109349
109280
  writePunctuation("}");
109281
+ popPrivateNameGenerationScope();
109350
109282
  }
109351
109283
  function emitArrayType(node) {
109352
109284
  emit(node.elementType, parenthesizer.parenthesizeNonArrayTypeOfPostfixType);
@@ -109526,6 +109458,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109526
109458
  emitExpressionList(node, elements, 8914 /* ArrayLiteralExpressionElements */ | preferNewLine, parenthesizer.parenthesizeExpressionForDisallowedComma);
109527
109459
  }
109528
109460
  function emitObjectLiteralExpression(node) {
109461
+ pushPrivateNameGenerationScope(
109462
+ TempFlags.Auto,
109463
+ /*newReservedMemberNames*/
109464
+ void 0
109465
+ );
109529
109466
  forEach(node.properties, generateMemberNames);
109530
109467
  const indentedFlag = getEmitFlags(node) & 131072 /* Indented */;
109531
109468
  if (indentedFlag) {
@@ -109537,6 +109474,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109537
109474
  if (indentedFlag) {
109538
109475
  decreaseIndent();
109539
109476
  }
109477
+ popPrivateNameGenerationScope();
109540
109478
  }
109541
109479
  function emitPropertyAccessExpression(node) {
109542
109480
  emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess);
@@ -110276,6 +110214,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110276
110214
  emitClassDeclarationOrExpression(node);
110277
110215
  }
110278
110216
  function emitClassDeclarationOrExpression(node) {
110217
+ pushPrivateNameGenerationScope(
110218
+ TempFlags.Auto,
110219
+ /*newReservedMemberNames*/
110220
+ void 0
110221
+ );
110279
110222
  forEach(node.members, generateMemberNames);
110280
110223
  emitDecoratorsAndModifiers(node, node.modifiers);
110281
110224
  writeKeyword("class");
@@ -110296,8 +110239,14 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110296
110239
  if (indentedFlag) {
110297
110240
  decreaseIndent();
110298
110241
  }
110242
+ popPrivateNameGenerationScope();
110299
110243
  }
110300
110244
  function emitInterfaceDeclaration(node) {
110245
+ pushPrivateNameGenerationScope(
110246
+ TempFlags.Auto,
110247
+ /*newReservedMemberNames*/
110248
+ void 0
110249
+ );
110301
110250
  emitModifiers(node, node.modifiers);
110302
110251
  writeKeyword("interface");
110303
110252
  writeSpace();
@@ -110308,6 +110257,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110308
110257
  writePunctuation("{");
110309
110258
  emitList(node, node.members, 129 /* InterfaceMembers */);
110310
110259
  writePunctuation("}");
110260
+ popPrivateNameGenerationScope();
110311
110261
  }
110312
110262
  function emitTypeAliasDeclaration(node) {
110313
110263
  emitModifiers(node, node.modifiers);
@@ -111685,8 +111635,6 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111685
111635
  }
111686
111636
  tempFlagsStack.push(tempFlags);
111687
111637
  tempFlags = TempFlags.Auto;
111688
- privateNameTempFlagsStack.push(privateNameTempFlags);
111689
- privateNameTempFlags = TempFlags.Auto;
111690
111638
  formattedNameTempFlagsStack.push(formattedNameTempFlags);
111691
111639
  formattedNameTempFlags = void 0;
111692
111640
  reservedNamesStack.push(reservedNames);
@@ -111696,7 +111644,6 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111696
111644
  return;
111697
111645
  }
111698
111646
  tempFlags = tempFlagsStack.pop();
111699
- privateNameTempFlags = privateNameTempFlagsStack.pop();
111700
111647
  formattedNameTempFlags = formattedNameTempFlagsStack.pop();
111701
111648
  reservedNames = reservedNamesStack.pop();
111702
111649
  }
@@ -111706,6 +111653,22 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111706
111653
  }
111707
111654
  reservedNames.add(name);
111708
111655
  }
111656
+ function pushPrivateNameGenerationScope(newPrivateNameTempFlags, newReservedMemberNames) {
111657
+ privateNameTempFlagsStack.push(privateNameTempFlags);
111658
+ privateNameTempFlags = newPrivateNameTempFlags;
111659
+ reservedPrivateNamesStack.push(reservedNames);
111660
+ reservedPrivateNames = newReservedMemberNames;
111661
+ }
111662
+ function popPrivateNameGenerationScope() {
111663
+ privateNameTempFlags = privateNameTempFlagsStack.pop();
111664
+ reservedPrivateNames = reservedPrivateNamesStack.pop();
111665
+ }
111666
+ function reservePrivateNameInNestedScopes(name) {
111667
+ if (!reservedPrivateNames || reservedPrivateNames === lastOrUndefined(reservedPrivateNamesStack)) {
111668
+ reservedPrivateNames = /* @__PURE__ */ new Set();
111669
+ }
111670
+ reservedPrivateNames.add(name);
111671
+ }
111709
111672
  function generateNames(node) {
111710
111673
  if (!node)
111711
111674
  return;
@@ -111827,10 +111790,13 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111827
111790
  const nodeId = getNodeId(node);
111828
111791
  return nodeIdToGeneratedName[nodeId] || (nodeIdToGeneratedName[nodeId] = generateNameForNode(node, privateName, flags != null ? flags : 0 /* None */, formatGeneratedNamePart(prefix, generateName), formatGeneratedNamePart(suffix)));
111829
111792
  }
111830
- function isUniqueName(name) {
111831
- return isFileLevelUniqueName2(name) && !generatedNames.has(name) && !(reservedNames && reservedNames.has(name));
111793
+ function isUniqueName(name, privateName) {
111794
+ return isFileLevelUniqueName2(name, privateName) && !isReservedName(name, privateName) && !generatedNames.has(name);
111832
111795
  }
111833
- function isFileLevelUniqueName2(name) {
111796
+ function isReservedName(name, privateName) {
111797
+ return privateName ? !!(reservedPrivateNames == null ? void 0 : reservedPrivateNames.has(name)) : !!(reservedNames == null ? void 0 : reservedNames.has(name));
111798
+ }
111799
+ function isFileLevelUniqueName2(name, _isPrivate) {
111834
111800
  return currentSourceFile ? isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) : true;
111835
111801
  }
111836
111802
  function isUniqueLocalName(name, container) {
@@ -111878,9 +111844,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111878
111844
  if (flags && !(tempFlags2 & flags)) {
111879
111845
  const name = flags === TempFlags._i ? "_i" : "_n";
111880
111846
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
111881
- if (isUniqueName(fullName)) {
111847
+ if (isUniqueName(fullName, privateName)) {
111882
111848
  tempFlags2 |= flags;
111883
- if (reservedInNestedScopes) {
111849
+ if (privateName) {
111850
+ reservePrivateNameInNestedScopes(fullName);
111851
+ } else if (reservedInNestedScopes) {
111884
111852
  reserveNameInNestedScopes(fullName);
111885
111853
  }
111886
111854
  setTempFlags(key, tempFlags2);
@@ -111893,8 +111861,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111893
111861
  if (count !== 8 && count !== 13) {
111894
111862
  const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
111895
111863
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
111896
- if (isUniqueName(fullName)) {
111897
- if (reservedInNestedScopes) {
111864
+ if (isUniqueName(fullName, privateName)) {
111865
+ if (privateName) {
111866
+ reservePrivateNameInNestedScopes(fullName);
111867
+ } else if (reservedInNestedScopes) {
111898
111868
  reserveNameInNestedScopes(fullName);
111899
111869
  }
111900
111870
  setTempFlags(key, tempFlags2);
@@ -111912,8 +111882,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111912
111882
  }
111913
111883
  if (optimistic) {
111914
111884
  const fullName = formatGeneratedName(privateName, prefix, baseName, suffix);
111915
- if (checkFn(fullName)) {
111916
- if (scoped) {
111885
+ if (checkFn(fullName, privateName)) {
111886
+ if (privateName) {
111887
+ reservePrivateNameInNestedScopes(fullName);
111888
+ } else if (scoped) {
111917
111889
  reserveNameInNestedScopes(fullName);
111918
111890
  } else {
111919
111891
  generatedNames.add(fullName);
@@ -111927,8 +111899,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111927
111899
  let i = 1;
111928
111900
  while (true) {
111929
111901
  const fullName = formatGeneratedName(privateName, prefix, baseName + i, suffix);
111930
- if (checkFn(fullName)) {
111931
- if (scoped) {
111902
+ if (checkFn(fullName, privateName)) {
111903
+ if (privateName) {
111904
+ reservePrivateNameInNestedScopes(fullName);
111905
+ } else if (scoped) {
111932
111906
  reserveNameInNestedScopes(fullName);
111933
111907
  } else {
111934
111908
  generatedNames.add(fullName);
@@ -117227,9 +117201,8 @@ var BuilderState;
117227
117201
  seenMap.add(path);
117228
117202
  const references = state.referencedMap.getValues(path);
117229
117203
  if (references) {
117230
- const iterator = references.keys();
117231
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
117232
- queue.push(iterResult.value);
117204
+ for (const key of references.keys()) {
117205
+ queue.push(key);
117233
117206
  }
117234
117207
  }
117235
117208
  }
@@ -119319,7 +119292,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
119319
119292
  return (_a2 = resolution.failedLookupLocations) == null ? void 0 : _a2.some((location) => isInvalidatedFailedLookup(resolutionHost.toPath(location)));
119320
119293
  }
119321
119294
  function isInvalidatedFailedLookup(locationPath) {
119322
- return (failedLookupChecks == null ? void 0 : failedLookupChecks.has(locationPath)) || firstDefinedIterator((startsWithPathChecks == null ? void 0 : startsWithPathChecks.keys()) || emptyIterator, (fileOrDirectoryPath) => startsWith(locationPath, fileOrDirectoryPath) ? true : void 0) || firstDefinedIterator((isInDirectoryChecks == null ? void 0 : isInDirectoryChecks.keys()) || emptyIterator, (fileOrDirectoryPath) => isInDirectoryPath(fileOrDirectoryPath, locationPath) ? true : void 0);
119295
+ return (failedLookupChecks == null ? void 0 : failedLookupChecks.has(locationPath)) || firstDefinedIterator((startsWithPathChecks == null ? void 0 : startsWithPathChecks.keys()) || [], (fileOrDirectoryPath) => startsWith(locationPath, fileOrDirectoryPath) ? true : void 0) || firstDefinedIterator((isInDirectoryChecks == null ? void 0 : isInDirectoryChecks.keys()) || [], (fileOrDirectoryPath) => isInDirectoryPath(fileOrDirectoryPath, locationPath) ? true : void 0);
119323
119296
  }
119324
119297
  function canInvalidatedFailedLookupResolutionWithAffectingLocation(resolution) {
119325
119298
  var _a2;
@@ -120602,7 +120575,7 @@ function createWatchProgram(host) {
120602
120575
  if (wildcardDirectories) {
120603
120576
  updateWatchingWildcardDirectories(
120604
120577
  watchedWildcardDirectories || (watchedWildcardDirectories = /* @__PURE__ */ new Map()),
120605
- new Map(getEntries(wildcardDirectories)),
120578
+ new Map(Object.entries(wildcardDirectories)),
120606
120579
  watchWildcardDirectory
120607
120580
  );
120608
120581
  } else if (watchedWildcardDirectories) {
@@ -120696,7 +120669,7 @@ function createWatchProgram(host) {
120696
120669
  if ((_b = commandLine.parsedCommandLine) == null ? void 0 : _b.wildcardDirectories) {
120697
120670
  updateWatchingWildcardDirectories(
120698
120671
  commandLine.watchedDirectories || (commandLine.watchedDirectories = /* @__PURE__ */ new Map()),
120699
- new Map(getEntries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
120672
+ new Map(Object.entries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
120700
120673
  (directory, flags) => {
120701
120674
  var _a3;
120702
120675
  return watchDirectory(
@@ -122418,7 +122391,7 @@ function watchWildCardDirectories(state, resolved, resolvedPath, parsed) {
122418
122391
  return;
122419
122392
  updateWatchingWildcardDirectories(
122420
122393
  getOrCreateValueMapFromConfigFileMap(state.allWatchedWildcardDirectories, resolvedPath),
122421
- new Map(getEntries(parsed.wildcardDirectories)),
122394
+ new Map(Object.entries(parsed.wildcardDirectories)),
122422
122395
  (dir, flags) => state.watchDirectory(
122423
122396
  dir,
122424
122397
  (fileOrDirectory) => {
@@ -122813,12 +122786,13 @@ function nonRelativeModuleNameForTypingCache(moduleName) {
122813
122786
  }
122814
122787
  function loadSafeList(host, safeListPath) {
122815
122788
  const result = readConfigFile(safeListPath, (path) => host.readFile(path));
122816
- return new Map(getEntries(result.config));
122789
+ return new Map(Object.entries(result.config));
122817
122790
  }
122818
122791
  function loadTypesMap(host, typesMapPath) {
122792
+ var _a2;
122819
122793
  const result = readConfigFile(typesMapPath, (path) => host.readFile(path));
122820
- if (result.config) {
122821
- return new Map(getEntries(result.config.simpleMap));
122794
+ if ((_a2 = result.config) == null ? void 0 : _a2.simpleMap) {
122795
+ return new Map(Object.entries(result.config.simpleMap));
122822
122796
  }
122823
122797
  return void 0;
122824
122798
  }
@@ -123354,7 +123328,6 @@ __export(ts_exports3, {
123354
123328
  arrayIsEqualTo: () => arrayIsEqualTo,
123355
123329
  arrayIsHomogeneous: () => arrayIsHomogeneous,
123356
123330
  arrayIsSorted: () => arrayIsSorted,
123357
- arrayIterator: () => arrayIterator,
123358
123331
  arrayOf: () => arrayOf,
123359
123332
  arrayReverseIterator: () => arrayReverseIterator,
123360
123333
  arrayToMap: () => arrayToMap,
@@ -123456,7 +123429,6 @@ __export(ts_exports3, {
123456
123429
  compilerOptionsAffectSemanticDiagnostics: () => compilerOptionsAffectSemanticDiagnostics,
123457
123430
  compilerOptionsDidYouMeanDiagnostics: () => compilerOptionsDidYouMeanDiagnostics,
123458
123431
  compilerOptionsIndicateEsModules: () => compilerOptionsIndicateEsModules,
123459
- compose: () => compose,
123460
123432
  computeCommonSourceDirectoryOfFilenames: () => computeCommonSourceDirectoryOfFilenames,
123461
123433
  computeLineAndCharacterOfPosition: () => computeLineAndCharacterOfPosition,
123462
123434
  computeLineOfPosition: () => computeLineOfPosition,
@@ -123857,7 +123829,6 @@ __export(ts_exports3, {
123857
123829
  emitUsingBuildInfo: () => emitUsingBuildInfo,
123858
123830
  emptyArray: () => emptyArray,
123859
123831
  emptyFileSystemEntries: () => emptyFileSystemEntries,
123860
- emptyIterator: () => emptyIterator,
123861
123832
  emptyMap: () => emptyMap,
123862
123833
  emptyOptions: () => emptyOptions,
123863
123834
  emptySet: () => emptySet,
@@ -123892,7 +123863,6 @@ __export(ts_exports3, {
123892
123863
  fileExtensionIs: () => fileExtensionIs,
123893
123864
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
123894
123865
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
123895
- fill: () => fill,
123896
123866
  filter: () => filter,
123897
123867
  filterMutate: () => filterMutate,
123898
123868
  filterSemanticDiagnostics: () => filterSemanticDiagnostics,
@@ -123921,8 +123891,10 @@ __export(ts_exports3, {
123921
123891
  first: () => first,
123922
123892
  firstDefined: () => firstDefined,
123923
123893
  firstDefinedIterator: () => firstDefinedIterator,
123894
+ firstIterator: () => firstIterator,
123924
123895
  firstOrOnly: () => firstOrOnly,
123925
123896
  firstOrUndefined: () => firstOrUndefined,
123897
+ firstOrUndefinedIterator: () => firstOrUndefinedIterator,
123926
123898
  fixupCompilerOptions: () => fixupCompilerOptions,
123927
123899
  flatMap: () => flatMap,
123928
123900
  flatMapIterator: () => flatMapIterator,
@@ -124072,7 +124044,6 @@ __export(ts_exports3, {
124072
124044
  getEncodedSyntacticClassifications: () => getEncodedSyntacticClassifications,
124073
124045
  getEndLinePosition: () => getEndLinePosition,
124074
124046
  getEntityNameFromTypeNode: () => getEntityNameFromTypeNode,
124075
- getEntries: () => getEntries,
124076
124047
  getEntrypointsFromPackageJsonInfo: () => getEntrypointsFromPackageJsonInfo,
124077
124048
  getErrorCountForSummary: () => getErrorCountForSummary,
124078
124049
  getErrorSpanForNode: () => getErrorSpanForNode,
@@ -124120,7 +124091,6 @@ __export(ts_exports3, {
124120
124091
  getInitializerOfBindingOrAssignmentElement: () => getInitializerOfBindingOrAssignmentElement,
124121
124092
  getInterfaceBaseTypeNodes: () => getInterfaceBaseTypeNodes,
124122
124093
  getInvokedExpression: () => getInvokedExpression,
124123
- getIterator: () => getIterator,
124124
124094
  getJSDocAugmentsTag: () => getJSDocAugmentsTag,
124125
124095
  getJSDocClassTag: () => getJSDocClassTag,
124126
124096
  getJSDocCommentRanges: () => getJSDocCommentRanges,
@@ -125133,7 +125103,6 @@ __export(ts_exports3, {
125133
125103
  mapDefined: () => mapDefined,
125134
125104
  mapDefinedEntries: () => mapDefinedEntries,
125135
125105
  mapDefinedIterator: () => mapDefinedIterator,
125136
- mapDefinedValues: () => mapDefinedValues,
125137
125106
  mapEntries: () => mapEntries,
125138
125107
  mapIterator: () => mapIterator,
125139
125108
  mapOneOrMany: () => mapOneOrMany,
@@ -125416,7 +125385,6 @@ __export(ts_exports3, {
125416
125385
  stringContainsAt: () => stringContainsAt,
125417
125386
  stringToToken: () => stringToToken,
125418
125387
  stripQuotes: () => stripQuotes,
125419
- sum: () => sum,
125420
125388
  supportedDeclarationExtensions: () => supportedDeclarationExtensions,
125421
125389
  supportedJSExtensions: () => supportedJSExtensions,
125422
125390
  supportedJSExtensionsFlat: () => supportedJSExtensionsFlat,
@@ -125711,8 +125679,6 @@ __export(ts_exports3, {
125711
125679
  writeCommentRange: () => writeCommentRange,
125712
125680
  writeFile: () => writeFile,
125713
125681
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
125714
- zipToIterator: () => zipToIterator,
125715
- zipToMap: () => zipToMap,
125716
125682
  zipToModeAwareCache: () => zipToModeAwareCache,
125717
125683
  zipWith: () => zipWith
125718
125684
  });
@@ -129985,7 +129951,7 @@ var DocumentHighlights;
129985
129951
  return void 0;
129986
129952
  const map2 = arrayToMultiMap(referenceEntries.map(ts_FindAllReferences_exports.toHighlightSpan), (e) => e.fileName, (e) => e.span);
129987
129953
  const getCanonicalFileName = createGetCanonicalFileName(program.useCaseSensitiveFileNames());
129988
- return mapDefined(arrayFrom(map2.entries()), ([fileName, highlightSpans]) => {
129954
+ return arrayFrom(mapDefinedIterator(map2.entries(), ([fileName, highlightSpans]) => {
129989
129955
  if (!sourceFilesSet.has(fileName)) {
129990
129956
  if (!program.redirectTargetsMap.has(toPath(fileName, program.getCurrentDirectory(), getCanonicalFileName))) {
129991
129957
  return void 0;
@@ -129996,7 +129962,7 @@ var DocumentHighlights;
129996
129962
  Debug.assert(sourceFilesSet.has(fileName));
129997
129963
  }
129998
129964
  return { fileName, highlightSpans };
129999
- });
129965
+ }));
130000
129966
  }
130001
129967
  function getSyntacticDocumentHighlights(node, sourceFile) {
130002
129968
  const highlightSpans = getHighlightSpans(node, sourceFile);
@@ -131870,7 +131836,7 @@ function transpileModule(input, transpileOptions) {
131870
131836
  sourceFile.moduleName = transpileOptions.moduleName;
131871
131837
  }
131872
131838
  if (transpileOptions.renamedDependencies) {
131873
- sourceFile.renamedDependencies = new Map(getEntries(transpileOptions.renamedDependencies));
131839
+ sourceFile.renamedDependencies = new Map(Object.entries(transpileOptions.renamedDependencies));
131874
131840
  }
131875
131841
  let outputText;
131876
131842
  let sourceMapText;
@@ -134253,7 +134219,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
134253
134219
  const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName);
134254
134220
  return ts_OutliningElementsCollector_exports.collectElements(sourceFile, cancellationToken);
134255
134221
  }
134256
- const braceMatching = new Map(getEntries({
134222
+ const braceMatching = new Map(Object.entries({
134257
134223
  [18 /* OpenBraceToken */]: 19 /* CloseBraceToken */,
134258
134224
  [20 /* OpenParenToken */]: 21 /* CloseParenToken */,
134259
134225
  [22 /* OpenBracketToken */]: 23 /* CloseBracketToken */,
@@ -140549,8 +140515,10 @@ function getFixesInfoForNonUMDImport({ sourceFile, program, cancellationToken, h
140549
140515
  const isValidTypeOnlyUseSite = isValidTypeOnlyAliasUseSite(symbolToken);
140550
140516
  const useRequire = shouldUseRequire(sourceFile, program);
140551
140517
  const exportInfo = getExportInfos(symbolName2, isJSXTagName(symbolToken), getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences);
140552
- const fixes = arrayFrom(flatMapIterator(exportInfo.entries(), ([_, exportInfos]) => getImportFixes(exportInfos, { symbolName: symbolName2, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes));
140553
- return fixes.map((fix) => ({ fix, symbolName: symbolName2, errorIdentifierText: symbolToken.text, isJsxNamespaceFix: symbolName2 !== symbolToken.text }));
140518
+ return arrayFrom(
140519
+ flatMapIterator(exportInfo.values(), (exportInfos) => getImportFixes(exportInfos, { symbolName: symbolName2, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes),
140520
+ (fix) => ({ fix, symbolName: symbolName2, errorIdentifierText: symbolToken.text, isJsxNamespaceFix: symbolName2 !== symbolToken.text })
140521
+ );
140554
140522
  });
140555
140523
  }
140556
140524
  function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName2, program) {
@@ -142419,7 +142387,7 @@ function tryGetValueFromType(context, checker, importAdder, quotePreference, typ
142419
142387
  return factory.createFalse();
142420
142388
  }
142421
142389
  if (type.flags & 1056 /* EnumLike */) {
142422
- const enumMember = type.symbol.exports ? firstOrUndefined(arrayFrom(type.symbol.exports.values())) : type.symbol;
142390
+ const enumMember = type.symbol.exports ? firstOrUndefinedIterator(type.symbol.exports.values()) : type.symbol;
142423
142391
  const name = checker.symbolToExpression(
142424
142392
  type.symbol.parent ? type.symbol.parent : type.symbol,
142425
142393
  111551 /* Value */,
@@ -145371,8 +145339,8 @@ function createTypeParametersForArguments(checker, argumentTypeParameters, typeA
145371
145339
  usedNames.add(createTypeParameterName(i));
145372
145340
  }
145373
145341
  }
145374
- return map(
145375
- arrayFrom(usedNames.values()),
145342
+ return arrayFrom(
145343
+ usedNames.values(),
145376
145344
  (usedName) => {
145377
145345
  var _a2;
145378
145346
  return factory.createTypeParameterDeclaration(
@@ -155942,7 +155910,7 @@ function doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, toConve
155942
155910
  }
155943
155911
  changes.replaceNode(sourceFile, toConvert, shouldUseDefault ? factory.createIdentifier(namespaceImportName) : factory.createNamespaceImport(factory.createIdentifier(namespaceImportName)));
155944
155912
  if (neededNamedImports.size) {
155945
- const newNamedImports = arrayFrom(neededNamedImports.values()).map((element) => factory.createImportSpecifier(element.isTypeOnly, element.propertyName && factory.createIdentifier(element.propertyName.text), factory.createIdentifier(element.name.text)));
155913
+ const newNamedImports = arrayFrom(neededNamedImports.values(), (element) => factory.createImportSpecifier(element.isTypeOnly, element.propertyName && factory.createIdentifier(element.propertyName.text), factory.createIdentifier(element.name.text)));
155946
155914
  changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(
155947
155915
  importDecl,
155948
155916
  /*defaultImportName*/
@@ -159296,7 +159264,7 @@ function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParame
159296
159264
  }
159297
159265
  callArguments.push(factory.createIdentifier(name));
159298
159266
  });
159299
- const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values()).map((type) => ({ type, declaration: getFirstDeclaration(type) }));
159267
+ const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values(), (type) => ({ type, declaration: getFirstDeclaration(type) }));
159300
159268
  const sortedTypeParametersAndDeclarations = typeParametersAndDeclarations.sort(compareTypesByDeclarationOrder);
159301
159269
  const typeParameters = sortedTypeParametersAndDeclarations.length === 0 ? void 0 : sortedTypeParametersAndDeclarations.map((t) => t.declaration);
159302
159270
  const callTypeArguments = typeParameters !== void 0 ? typeParameters.map((decl) => factory.createTypeReferenceNode(
@@ -170641,7 +170609,7 @@ function prepareConvertersForEnumLikeCompilerOptions(commandLineOptions) {
170641
170609
  }
170642
170610
  var compilerOptionConverters = prepareConvertersForEnumLikeCompilerOptions(optionDeclarations);
170643
170611
  var watchOptionsConverters = prepareConvertersForEnumLikeCompilerOptions(optionsForWatch);
170644
- var indentStyle = new Map(getEntries({
170612
+ var indentStyle = new Map(Object.entries({
170645
170613
  none: 0 /* None */,
170646
170614
  block: 1 /* Block */,
170647
170615
  smart: 2 /* Smart */
@@ -172182,7 +172150,7 @@ var _ProjectService = class {
172182
172150
  config.watchedDirectoriesStale = false;
172183
172151
  updateWatchingWildcardDirectories(
172184
172152
  config.watchedDirectories || (config.watchedDirectories = /* @__PURE__ */ new Map()),
172185
- new Map(getEntries(config.parsedCommandLine.wildcardDirectories)),
172153
+ new Map(Object.entries(config.parsedCommandLine.wildcardDirectories)),
172186
172154
  // Create new directory watcher
172187
172155
  (directory, flags) => this.watchWildcardDirectory(directory, flags, configFileName, config)
172188
172156
  );
@@ -172455,7 +172423,7 @@ var _ProjectService = class {
172455
172423
  }
172456
172424
  /** @internal */
172457
172425
  logErrorForScriptInfoNotFound(fileName) {
172458
- const names = arrayFrom(this.filenameToScriptInfo.entries()).map(([path, scriptInfo]) => ({ path, fileName: scriptInfo.fileName }));
172426
+ const names = arrayFrom(this.filenameToScriptInfo.entries(), ([path, scriptInfo]) => ({ path, fileName: scriptInfo.fileName }));
172459
172427
  this.logger.msg(`Could not find file ${JSON.stringify(fileName)}.
172460
172428
  All files are: ${JSON.stringify(names)}`, "Err" /* Err */);
172461
172429
  }
@@ -173368,7 +173336,7 @@ Dynamic files must always be opened with service's current directory or service
173368
173336
  synchronizeProjectList(knownProjects, includeProjectReferenceRedirectInfo) {
173369
173337
  const files = [];
173370
173338
  this.collectChanges(knownProjects, this.externalProjects, includeProjectReferenceRedirectInfo, files);
173371
- this.collectChanges(knownProjects, arrayFrom(this.configuredProjects.values()), includeProjectReferenceRedirectInfo, files);
173339
+ this.collectChanges(knownProjects, this.configuredProjects.values(), includeProjectReferenceRedirectInfo, files);
173372
173340
  this.collectChanges(knownProjects, this.inferredProjects, includeProjectReferenceRedirectInfo, files);
173373
173341
  return files;
173374
173342
  }
@@ -173377,11 +173345,7 @@ Dynamic files must always be opened with service's current directory or service
173377
173345
  let openScriptInfos;
173378
173346
  let assignOrphanScriptInfosToInferredProject = false;
173379
173347
  if (openFiles) {
173380
- while (true) {
173381
- const iterResult = openFiles.next();
173382
- if (iterResult.done)
173383
- break;
173384
- const file = iterResult.value;
173348
+ for (const file of openFiles) {
173385
173349
  const info = this.getOrCreateOpenScriptInfo(
173386
173350
  toNormalizedPath(file.fileName),
173387
173351
  file.content,
@@ -173393,11 +173357,7 @@ Dynamic files must always be opened with service's current directory or service
173393
173357
  }
173394
173358
  }
173395
173359
  if (changedFiles) {
173396
- while (true) {
173397
- const iterResult = changedFiles.next();
173398
- if (iterResult.done)
173399
- break;
173400
- const file = iterResult.value;
173360
+ for (const file of changedFiles) {
173401
173361
  const scriptInfo = this.getScriptInfo(file.fileName);
173402
173362
  Debug.assert(!!scriptInfo);
173403
173363
  this.applyChangesToFile(scriptInfo, file.changes);
@@ -173429,11 +173389,7 @@ Dynamic files must always be opened with service's current directory or service
173429
173389
  }
173430
173390
  /** @internal */
173431
173391
  applyChangesToFile(scriptInfo, changes) {
173432
- while (true) {
173433
- const iterResult = changes.next();
173434
- if (iterResult.done)
173435
- break;
173436
- const change = iterResult.value;
173392
+ for (const change of changes) {
173437
173393
  scriptInfo.editContent(change.span.start, change.span.start + change.span.length, change.newText);
173438
173394
  }
173439
173395
  }
@@ -174381,9 +174337,7 @@ function getPerProjectReferences(projects, defaultProject, initialLocation, isFo
174381
174337
  }
174382
174338
  }
174383
174339
  if (resultsMap.size === 1) {
174384
- const it = resultsMap.values().next();
174385
- Debug.assert(!it.done);
174386
- return it.value;
174340
+ return firstIterator(resultsMap.values());
174387
174341
  }
174388
174342
  return resultsMap;
174389
174343
  function searchPosition(project, location) {
@@ -174514,7 +174468,7 @@ var invalidSyntacticModeCommands = [
174514
174468
  var Session3 = class {
174515
174469
  constructor(opts) {
174516
174470
  this.changeSeq = 0;
174517
- this.handlers = new Map(getEntries({
174471
+ this.handlers = new Map(Object.entries({
174518
174472
  [CommandNames.Status]: () => {
174519
174473
  const response = { version };
174520
174474
  return this.requiredResponse(response);
@@ -174565,13 +174519,13 @@ var Session3 = class {
174565
174519
  [CommandNames.UpdateOpen]: (request) => {
174566
174520
  this.changeSeq++;
174567
174521
  this.projectService.applyChangesInOpenFiles(
174568
- request.arguments.openFiles && mapIterator(arrayIterator(request.arguments.openFiles), (file) => ({
174522
+ request.arguments.openFiles && mapIterator(request.arguments.openFiles, (file) => ({
174569
174523
  fileName: file.file,
174570
174524
  content: file.fileContent,
174571
174525
  scriptKind: file.scriptKindName,
174572
174526
  projectRootPath: file.projectRootPath
174573
174527
  })),
174574
- request.arguments.changedFiles && mapIterator(arrayIterator(request.arguments.changedFiles), (file) => ({
174528
+ request.arguments.changedFiles && mapIterator(request.arguments.changedFiles, (file) => ({
174575
174529
  fileName: file.fileName,
174576
174530
  changes: mapDefinedIterator(arrayReverseIterator(file.textChanges), (change) => {
174577
174531
  const scriptInfo = Debug.checkDefined(this.projectService.getScriptInfo(file.fileName));
@@ -174590,8 +174544,8 @@ var Session3 = class {
174590
174544
  [CommandNames.ApplyChangedToOpenFiles]: (request) => {
174591
174545
  this.changeSeq++;
174592
174546
  this.projectService.applyChangesInOpenFiles(
174593
- request.arguments.openFiles && arrayIterator(request.arguments.openFiles),
174594
- request.arguments.changedFiles && mapIterator(arrayIterator(request.arguments.changedFiles), (file) => ({
174547
+ request.arguments.openFiles,
174548
+ request.arguments.changedFiles && mapIterator(request.arguments.changedFiles, (file) => ({
174595
174549
  fileName: file.fileName,
174596
174550
  // apply changes in reverse order
174597
174551
  changes: arrayReverseIterator(file.changes)
@@ -178476,7 +178430,7 @@ function startNodeSession(options, logger, cancellationToken) {
178476
178430
  }
178477
178431
  switch (response.kind) {
178478
178432
  case EventTypesRegistry:
178479
- this.typesRegistryCache = new Map(getEntries(response.typesRegistry));
178433
+ this.typesRegistryCache = new Map(Object.entries(response.typesRegistry));
178480
178434
  break;
178481
178435
  case ActionPackageInstalled: {
178482
178436
  const { success, message } = response;
@@ -178949,7 +178903,6 @@ start(initializeNodeSystem(), require("os").platform());
178949
178903
  arrayIsEqualTo,
178950
178904
  arrayIsHomogeneous,
178951
178905
  arrayIsSorted,
178952
- arrayIterator,
178953
178906
  arrayOf,
178954
178907
  arrayReverseIterator,
178955
178908
  arrayToMap,
@@ -179051,7 +179004,6 @@ start(initializeNodeSystem(), require("os").platform());
179051
179004
  compilerOptionsAffectSemanticDiagnostics,
179052
179005
  compilerOptionsDidYouMeanDiagnostics,
179053
179006
  compilerOptionsIndicateEsModules,
179054
- compose,
179055
179007
  computeCommonSourceDirectoryOfFilenames,
179056
179008
  computeLineAndCharacterOfPosition,
179057
179009
  computeLineOfPosition,
@@ -179452,7 +179404,6 @@ start(initializeNodeSystem(), require("os").platform());
179452
179404
  emitUsingBuildInfo,
179453
179405
  emptyArray,
179454
179406
  emptyFileSystemEntries,
179455
- emptyIterator,
179456
179407
  emptyMap,
179457
179408
  emptyOptions,
179458
179409
  emptySet,
@@ -179487,7 +179438,6 @@ start(initializeNodeSystem(), require("os").platform());
179487
179438
  fileExtensionIs,
179488
179439
  fileExtensionIsOneOf,
179489
179440
  fileIncludeReasonToDiagnostics,
179490
- fill,
179491
179441
  filter,
179492
179442
  filterMutate,
179493
179443
  filterSemanticDiagnostics,
@@ -179516,8 +179466,10 @@ start(initializeNodeSystem(), require("os").platform());
179516
179466
  first,
179517
179467
  firstDefined,
179518
179468
  firstDefinedIterator,
179469
+ firstIterator,
179519
179470
  firstOrOnly,
179520
179471
  firstOrUndefined,
179472
+ firstOrUndefinedIterator,
179521
179473
  fixupCompilerOptions,
179522
179474
  flatMap,
179523
179475
  flatMapIterator,
@@ -179667,7 +179619,6 @@ start(initializeNodeSystem(), require("os").platform());
179667
179619
  getEncodedSyntacticClassifications,
179668
179620
  getEndLinePosition,
179669
179621
  getEntityNameFromTypeNode,
179670
- getEntries,
179671
179622
  getEntrypointsFromPackageJsonInfo,
179672
179623
  getErrorCountForSummary,
179673
179624
  getErrorSpanForNode,
@@ -179715,7 +179666,6 @@ start(initializeNodeSystem(), require("os").platform());
179715
179666
  getInitializerOfBindingOrAssignmentElement,
179716
179667
  getInterfaceBaseTypeNodes,
179717
179668
  getInvokedExpression,
179718
- getIterator,
179719
179669
  getJSDocAugmentsTag,
179720
179670
  getJSDocClassTag,
179721
179671
  getJSDocCommentRanges,
@@ -180728,7 +180678,6 @@ start(initializeNodeSystem(), require("os").platform());
180728
180678
  mapDefined,
180729
180679
  mapDefinedEntries,
180730
180680
  mapDefinedIterator,
180731
- mapDefinedValues,
180732
180681
  mapEntries,
180733
180682
  mapIterator,
180734
180683
  mapOneOrMany,
@@ -181011,7 +180960,6 @@ start(initializeNodeSystem(), require("os").platform());
181011
180960
  stringContainsAt,
181012
180961
  stringToToken,
181013
180962
  stripQuotes,
181014
- sum,
181015
180963
  supportedDeclarationExtensions,
181016
180964
  supportedJSExtensions,
181017
180965
  supportedJSExtensionsFlat,
@@ -181306,8 +181254,6 @@ start(initializeNodeSystem(), require("os").platform());
181306
181254
  writeCommentRange,
181307
181255
  writeFile,
181308
181256
  writeFileEnsuringDirectories,
181309
- zipToIterator,
181310
- zipToMap,
181311
181257
  zipToModeAwareCache,
181312
181258
  zipWith
181313
181259
  });