typescript 5.0.0-dev.20230105 → 5.0.0-dev.20230107

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.20230105`;
2665
+ var version = `${versionMajorMinor}.0-dev.20230107`;
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 */) {
@@ -69192,6 +69092,7 @@ function createTypeChecker(host) {
69192
69092
  }
69193
69093
  }
69194
69094
  function getNarrowedTypeOfSymbol(symbol, location) {
69095
+ const type = getTypeOfSymbol(symbol);
69195
69096
  const declaration = symbol.valueDeclaration;
69196
69097
  if (declaration) {
69197
69098
  if (isBindingElement(declaration) && !declaration.initializer && !declaration.dotDotDotToken && declaration.parent.elements.length >= 2) {
@@ -69243,7 +69144,7 @@ function createTypeChecker(host) {
69243
69144
  }
69244
69145
  }
69245
69146
  }
69246
- return getTypeOfSymbol(symbol);
69147
+ return type;
69247
69148
  }
69248
69149
  function checkIdentifier(node, checkMode) {
69249
69150
  if (isThisInTypeQuery(node)) {
@@ -87313,8 +87214,7 @@ function createSourceMapGenerator(host, file, sourceRoot, sourcesDirectoryPath,
87313
87214
  const sourceIndexToNewSourceIndexMap = [];
87314
87215
  let nameIndexToNewNameIndexMap;
87315
87216
  const mappingIterator = decodeMappings(map2.mappings);
87316
- for (let iterResult = mappingIterator.next(); !iterResult.done; iterResult = mappingIterator.next()) {
87317
- const raw = iterResult.value;
87217
+ for (const raw of mappingIterator) {
87318
87218
  if (end && (raw.generatedLine > end.line || raw.generatedLine === end.line && raw.generatedCharacter > end.character)) {
87319
87219
  break;
87320
87220
  }
@@ -87549,6 +87449,9 @@ function decodeMappings(mappings) {
87549
87449
  return { value: captureMapping(hasSource, hasName), done };
87550
87450
  }
87551
87451
  return stopIterating();
87452
+ },
87453
+ [Symbol.iterator]() {
87454
+ return this;
87552
87455
  }
87553
87456
  };
87554
87457
  function captureMapping(hasSource, hasName) {
@@ -90411,10 +90314,10 @@ function transformClassFields(context) {
90411
90314
  const shouldTransformInitializersUsingDefine = useDefineForClassFields && languageVersion < 9 /* ES2022 */;
90412
90315
  const shouldTransformInitializers = shouldTransformInitializersUsingSet || shouldTransformInitializersUsingDefine;
90413
90316
  const shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ES2022 */;
90414
- const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */;
90317
+ const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */ ? -1 /* True */ : !useDefineForClassFields ? 3 /* Maybe */ : 0 /* False */;
90415
90318
  const shouldTransformThisInStaticInitializers = languageVersion < 9 /* ES2022 */;
90416
90319
  const shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ES2015 */;
90417
- const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors;
90320
+ const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors === -1 /* True */;
90418
90321
  const previousOnSubstituteNode = context.onSubstituteNode;
90419
90322
  context.onSubstituteNode = onSubstituteNode;
90420
90323
  const previousOnEmitNode = context.onEmitNode;
@@ -90444,7 +90347,7 @@ function transformClassFields(context) {
90444
90347
  }
90445
90348
  switch (node.kind) {
90446
90349
  case 127 /* AccessorKeyword */:
90447
- return shouldTransformAutoAccessors ? void 0 : node;
90350
+ return shouldTransformAutoAccessorsInCurrentClass() ? void 0 : node;
90448
90351
  case 260 /* ClassDeclaration */:
90449
90352
  return visitClassDeclaration(node);
90450
90353
  case 228 /* ClassExpression */:
@@ -90719,7 +90622,7 @@ function transformClassFields(context) {
90719
90622
  Debug.assert(info, "Undeclared private name for property declaration.");
90720
90623
  return info.isValid ? void 0 : node;
90721
90624
  }
90722
- if (shouldTransformInitializersUsingSet && !isStatic(node)) {
90625
+ if (shouldTransformInitializersUsingSet && !isStatic(node) && currentClassLexicalEnvironment && currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */) {
90723
90626
  return factory2.updatePropertyDeclaration(
90724
90627
  node,
90725
90628
  visitNodes2(node.modifiers, visitor, isModifierLike),
@@ -90735,7 +90638,7 @@ function transformClassFields(context) {
90735
90638
  return visitEachChild(node, visitor, context);
90736
90639
  }
90737
90640
  function transformPublicFieldInitializer(node) {
90738
- if (shouldTransformInitializers) {
90641
+ if (shouldTransformInitializers && !isAutoAccessorPropertyDeclaration(node)) {
90739
90642
  const expr = getPropertyNameExpressionIfNeeded(
90740
90643
  node.name,
90741
90644
  /*shouldHoist*/
@@ -90766,8 +90669,11 @@ function transformClassFields(context) {
90766
90669
  Debug.assert(!hasDecorators(node), "Decorators should already have been transformed and elided.");
90767
90670
  return isPrivateIdentifierClassElementDeclaration(node) ? transformPrivateFieldInitializer(node) : transformPublicFieldInitializer(node);
90768
90671
  }
90672
+ function shouldTransformAutoAccessorsInCurrentClass() {
90673
+ return shouldTransformAutoAccessors === -1 /* True */ || shouldTransformAutoAccessors === 3 /* Maybe */ && !!currentClassLexicalEnvironment && !!(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */);
90674
+ }
90769
90675
  function visitPropertyDeclaration(node) {
90770
- if (shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(node)) {
90676
+ if (shouldTransformAutoAccessorsInCurrentClass() && isAutoAccessorPropertyDeclaration(node)) {
90771
90677
  return transformAutoAccessor(node);
90772
90678
  }
90773
90679
  return transformFieldInitializer(node);
@@ -91168,26 +91074,44 @@ function transformClassFields(context) {
91168
91074
  if (isClassDeclaration(original) && classOrConstructorParameterIsDecorated(original)) {
91169
91075
  facts |= 1 /* ClassWasDecorated */;
91170
91076
  }
91077
+ let containsPublicInstanceFields = false;
91078
+ let containsInitializedPublicInstanceFields = false;
91079
+ let containsInstancePrivateElements = false;
91080
+ let containsInstanceAutoAccessors = false;
91171
91081
  for (const member of node.members) {
91172
- if (!isStatic(member))
91173
- continue;
91174
- if (member.name && (isPrivateIdentifier(member.name) || isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) {
91175
- facts |= 2 /* NeedsClassConstructorReference */;
91176
- }
91177
- if (isPropertyDeclaration(member) || isClassStaticBlockDeclaration(member)) {
91178
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* ContainsLexicalThis */) {
91179
- facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */;
91180
- if (!(facts & 1 /* ClassWasDecorated */)) {
91181
- 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
+ }
91182
91092
  }
91183
- }
91184
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
91185
- if (!(facts & 1 /* ClassWasDecorated */)) {
91186
- facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
91093
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
91094
+ if (!(facts & 1 /* ClassWasDecorated */)) {
91095
+ facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
91096
+ }
91187
91097
  }
91188
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
+ }
91189
91109
  }
91190
91110
  }
91111
+ const willHoistInitializersToConstructor = shouldTransformInitializersUsingDefine && containsPublicInstanceFields || shouldTransformInitializersUsingSet && containsInitializedPublicInstanceFields || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstancePrivateElements || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstanceAutoAccessors && shouldTransformAutoAccessors === -1 /* True */;
91112
+ if (willHoistInitializersToConstructor) {
91113
+ facts |= 16 /* WillHoistInitializersToConstructor */;
91114
+ }
91191
91115
  return facts;
91192
91116
  }
91193
91117
  function visitExpressionWithTypeArgumentsInHeritageClause(node) {
@@ -91463,15 +91387,9 @@ function transformClassFields(context) {
91463
91387
  )
91464
91388
  );
91465
91389
  }
91466
- function isClassElementThatRequiresConstructorStatement(member) {
91467
- if (isStatic(member) || hasAbstractModifier(getOriginalNode(member))) {
91468
- return false;
91469
- }
91470
- return shouldTransformInitializersUsingDefine && isPropertyDeclaration(member) || shouldTransformInitializersUsingSet && isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && isPrivateIdentifierClassElementDeclaration(member) || shouldTransformPrivateElementsOrClassStaticBlocks && shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(member);
91471
- }
91472
91390
  function transformConstructor(constructor, container) {
91473
91391
  constructor = visitNode(constructor, visitor, isConstructorDeclaration);
91474
- if (!some(container.members, isClassElementThatRequiresConstructorStatement)) {
91392
+ if (!currentClassLexicalEnvironment || !(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */)) {
91475
91393
  return constructor;
91476
91394
  }
91477
91395
  const extendsClauseElement = getEffectiveBaseTypeNode(container);
@@ -95540,7 +95458,7 @@ function transformJsx(context) {
95540
95458
  void 0,
95541
95459
  factory2.createVariableDeclarationList([
95542
95460
  factory2.createVariableDeclaration(
95543
- factory2.createObjectBindingPattern(map(arrayFrom(importSpecifiersMap.values()), (s) => factory2.createBindingElement(
95461
+ factory2.createObjectBindingPattern(arrayFrom(importSpecifiersMap.values(), (s) => factory2.createBindingElement(
95544
95462
  /*dotdotdot*/
95545
95463
  void 0,
95546
95464
  s.propertyName,
@@ -95951,7 +95869,7 @@ function transformJsx(context) {
95951
95869
  return node.dotDotDotToken ? factory2.createSpreadElement(expression) : expression;
95952
95870
  }
95953
95871
  }
95954
- var entities = new Map(getEntries({
95872
+ var entities = new Map(Object.entries({
95955
95873
  quot: 34,
95956
95874
  amp: 38,
95957
95875
  apos: 39,
@@ -105555,7 +105473,7 @@ function transformDeclarations(context) {
105555
105473
  updated.exportedModulesFromDeclarationEmit = exportedModulesFromDeclarationEmit;
105556
105474
  return updated;
105557
105475
  function getLibReferences() {
105558
- return map(arrayFrom(libs2.keys()), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
105476
+ return arrayFrom(libs2.keys(), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
105559
105477
  }
105560
105478
  function getFileReferencesForUsedTypeReferences() {
105561
105479
  return necessaryTypeReferences ? mapDefined(arrayFrom(necessaryTypeReferences.keys()), getFileReferenceForSpecifierModeTuple) : [];
@@ -108124,6 +108042,8 @@ function createPrinter(printerOptions = {}, handlers = {}) {
108124
108042
  let tempFlags;
108125
108043
  let reservedNamesStack;
108126
108044
  let reservedNames;
108045
+ let reservedPrivateNamesStack;
108046
+ let reservedPrivateNames;
108127
108047
  let preserveSourceNewlines = printerOptions.preserveSourceNewlines;
108128
108048
  let nextListElementPos;
108129
108049
  let writer;
@@ -108417,6 +108337,9 @@ function createPrinter(printerOptions = {}, handlers = {}) {
108417
108337
  tempFlagsStack = [];
108418
108338
  tempFlags = TempFlags.Auto;
108419
108339
  reservedNamesStack = [];
108340
+ reservedNames = void 0;
108341
+ reservedPrivateNamesStack = [];
108342
+ reservedPrivateNames = void 0;
108420
108343
  currentSourceFile = void 0;
108421
108344
  currentLineMap = void 0;
108422
108345
  detachedCommentsInfo = void 0;
@@ -109160,9 +109083,13 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109160
109083
  }
109161
109084
  }
109162
109085
  function emitComputedPropertyName(node) {
109086
+ const savedPrivateNameTempFlags = privateNameTempFlags;
109087
+ const savedReservedMemberNames = reservedPrivateNames;
109088
+ popPrivateNameGenerationScope();
109163
109089
  writePunctuation("[");
109164
109090
  emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfComputedPropertyName);
109165
109091
  writePunctuation("]");
109092
+ pushPrivateNameGenerationScope(savedPrivateNameTempFlags, savedReservedMemberNames);
109166
109093
  }
109167
109094
  function emitTypeParameter(node) {
109168
109095
  emitModifiers(node, node.modifiers);
@@ -109342,10 +109269,16 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109342
109269
  emitTypeArguments(node, node.typeArguments);
109343
109270
  }
109344
109271
  function emitTypeLiteral(node) {
109272
+ pushPrivateNameGenerationScope(
109273
+ TempFlags.Auto,
109274
+ /*newReservedMemberNames*/
109275
+ void 0
109276
+ );
109345
109277
  writePunctuation("{");
109346
109278
  const flags = getEmitFlags(node) & 1 /* SingleLine */ ? 768 /* SingleLineTypeLiteralMembers */ : 32897 /* MultiLineTypeLiteralMembers */;
109347
109279
  emitList(node, node.members, flags | 524288 /* NoSpaceIfEmpty */);
109348
109280
  writePunctuation("}");
109281
+ popPrivateNameGenerationScope();
109349
109282
  }
109350
109283
  function emitArrayType(node) {
109351
109284
  emit(node.elementType, parenthesizer.parenthesizeNonArrayTypeOfPostfixType);
@@ -109525,6 +109458,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109525
109458
  emitExpressionList(node, elements, 8914 /* ArrayLiteralExpressionElements */ | preferNewLine, parenthesizer.parenthesizeExpressionForDisallowedComma);
109526
109459
  }
109527
109460
  function emitObjectLiteralExpression(node) {
109461
+ pushPrivateNameGenerationScope(
109462
+ TempFlags.Auto,
109463
+ /*newReservedMemberNames*/
109464
+ void 0
109465
+ );
109528
109466
  forEach(node.properties, generateMemberNames);
109529
109467
  const indentedFlag = getEmitFlags(node) & 131072 /* Indented */;
109530
109468
  if (indentedFlag) {
@@ -109536,6 +109474,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
109536
109474
  if (indentedFlag) {
109537
109475
  decreaseIndent();
109538
109476
  }
109477
+ popPrivateNameGenerationScope();
109539
109478
  }
109540
109479
  function emitPropertyAccessExpression(node) {
109541
109480
  emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess);
@@ -110275,6 +110214,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110275
110214
  emitClassDeclarationOrExpression(node);
110276
110215
  }
110277
110216
  function emitClassDeclarationOrExpression(node) {
110217
+ pushPrivateNameGenerationScope(
110218
+ TempFlags.Auto,
110219
+ /*newReservedMemberNames*/
110220
+ void 0
110221
+ );
110278
110222
  forEach(node.members, generateMemberNames);
110279
110223
  emitDecoratorsAndModifiers(node, node.modifiers);
110280
110224
  writeKeyword("class");
@@ -110295,8 +110239,14 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110295
110239
  if (indentedFlag) {
110296
110240
  decreaseIndent();
110297
110241
  }
110242
+ popPrivateNameGenerationScope();
110298
110243
  }
110299
110244
  function emitInterfaceDeclaration(node) {
110245
+ pushPrivateNameGenerationScope(
110246
+ TempFlags.Auto,
110247
+ /*newReservedMemberNames*/
110248
+ void 0
110249
+ );
110300
110250
  emitModifiers(node, node.modifiers);
110301
110251
  writeKeyword("interface");
110302
110252
  writeSpace();
@@ -110307,6 +110257,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
110307
110257
  writePunctuation("{");
110308
110258
  emitList(node, node.members, 129 /* InterfaceMembers */);
110309
110259
  writePunctuation("}");
110260
+ popPrivateNameGenerationScope();
110310
110261
  }
110311
110262
  function emitTypeAliasDeclaration(node) {
110312
110263
  emitModifiers(node, node.modifiers);
@@ -111684,8 +111635,6 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111684
111635
  }
111685
111636
  tempFlagsStack.push(tempFlags);
111686
111637
  tempFlags = TempFlags.Auto;
111687
- privateNameTempFlagsStack.push(privateNameTempFlags);
111688
- privateNameTempFlags = TempFlags.Auto;
111689
111638
  formattedNameTempFlagsStack.push(formattedNameTempFlags);
111690
111639
  formattedNameTempFlags = void 0;
111691
111640
  reservedNamesStack.push(reservedNames);
@@ -111695,7 +111644,6 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111695
111644
  return;
111696
111645
  }
111697
111646
  tempFlags = tempFlagsStack.pop();
111698
- privateNameTempFlags = privateNameTempFlagsStack.pop();
111699
111647
  formattedNameTempFlags = formattedNameTempFlagsStack.pop();
111700
111648
  reservedNames = reservedNamesStack.pop();
111701
111649
  }
@@ -111705,6 +111653,22 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111705
111653
  }
111706
111654
  reservedNames.add(name);
111707
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
+ }
111708
111672
  function generateNames(node) {
111709
111673
  if (!node)
111710
111674
  return;
@@ -111826,10 +111790,13 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111826
111790
  const nodeId = getNodeId(node);
111827
111791
  return nodeIdToGeneratedName[nodeId] || (nodeIdToGeneratedName[nodeId] = generateNameForNode(node, privateName, flags != null ? flags : 0 /* None */, formatGeneratedNamePart(prefix, generateName), formatGeneratedNamePart(suffix)));
111828
111792
  }
111829
- function isUniqueName(name) {
111830
- 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);
111831
111795
  }
111832
- 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) {
111833
111800
  return currentSourceFile ? isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) : true;
111834
111801
  }
111835
111802
  function isUniqueLocalName(name, container) {
@@ -111877,9 +111844,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111877
111844
  if (flags && !(tempFlags2 & flags)) {
111878
111845
  const name = flags === TempFlags._i ? "_i" : "_n";
111879
111846
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
111880
- if (isUniqueName(fullName)) {
111847
+ if (isUniqueName(fullName, privateName)) {
111881
111848
  tempFlags2 |= flags;
111882
- if (reservedInNestedScopes) {
111849
+ if (privateName) {
111850
+ reservePrivateNameInNestedScopes(fullName);
111851
+ } else if (reservedInNestedScopes) {
111883
111852
  reserveNameInNestedScopes(fullName);
111884
111853
  }
111885
111854
  setTempFlags(key, tempFlags2);
@@ -111892,8 +111861,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111892
111861
  if (count !== 8 && count !== 13) {
111893
111862
  const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
111894
111863
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
111895
- if (isUniqueName(fullName)) {
111896
- if (reservedInNestedScopes) {
111864
+ if (isUniqueName(fullName, privateName)) {
111865
+ if (privateName) {
111866
+ reservePrivateNameInNestedScopes(fullName);
111867
+ } else if (reservedInNestedScopes) {
111897
111868
  reserveNameInNestedScopes(fullName);
111898
111869
  }
111899
111870
  setTempFlags(key, tempFlags2);
@@ -111911,8 +111882,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111911
111882
  }
111912
111883
  if (optimistic) {
111913
111884
  const fullName = formatGeneratedName(privateName, prefix, baseName, suffix);
111914
- if (checkFn(fullName)) {
111915
- if (scoped) {
111885
+ if (checkFn(fullName, privateName)) {
111886
+ if (privateName) {
111887
+ reservePrivateNameInNestedScopes(fullName);
111888
+ } else if (scoped) {
111916
111889
  reserveNameInNestedScopes(fullName);
111917
111890
  } else {
111918
111891
  generatedNames.add(fullName);
@@ -111926,8 +111899,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111926
111899
  let i = 1;
111927
111900
  while (true) {
111928
111901
  const fullName = formatGeneratedName(privateName, prefix, baseName + i, suffix);
111929
- if (checkFn(fullName)) {
111930
- if (scoped) {
111902
+ if (checkFn(fullName, privateName)) {
111903
+ if (privateName) {
111904
+ reservePrivateNameInNestedScopes(fullName);
111905
+ } else if (scoped) {
111931
111906
  reserveNameInNestedScopes(fullName);
111932
111907
  } else {
111933
111908
  generatedNames.add(fullName);
@@ -117226,9 +117201,8 @@ var BuilderState;
117226
117201
  seenMap.add(path);
117227
117202
  const references = state.referencedMap.getValues(path);
117228
117203
  if (references) {
117229
- const iterator = references.keys();
117230
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
117231
- queue.push(iterResult.value);
117204
+ for (const key of references.keys()) {
117205
+ queue.push(key);
117232
117206
  }
117233
117207
  }
117234
117208
  }
@@ -119318,7 +119292,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
119318
119292
  return (_a2 = resolution.failedLookupLocations) == null ? void 0 : _a2.some((location) => isInvalidatedFailedLookup(resolutionHost.toPath(location)));
119319
119293
  }
119320
119294
  function isInvalidatedFailedLookup(locationPath) {
119321
- 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);
119322
119296
  }
119323
119297
  function canInvalidatedFailedLookupResolutionWithAffectingLocation(resolution) {
119324
119298
  var _a2;
@@ -120601,7 +120575,7 @@ function createWatchProgram(host) {
120601
120575
  if (wildcardDirectories) {
120602
120576
  updateWatchingWildcardDirectories(
120603
120577
  watchedWildcardDirectories || (watchedWildcardDirectories = /* @__PURE__ */ new Map()),
120604
- new Map(getEntries(wildcardDirectories)),
120578
+ new Map(Object.entries(wildcardDirectories)),
120605
120579
  watchWildcardDirectory
120606
120580
  );
120607
120581
  } else if (watchedWildcardDirectories) {
@@ -120695,7 +120669,7 @@ function createWatchProgram(host) {
120695
120669
  if ((_b = commandLine.parsedCommandLine) == null ? void 0 : _b.wildcardDirectories) {
120696
120670
  updateWatchingWildcardDirectories(
120697
120671
  commandLine.watchedDirectories || (commandLine.watchedDirectories = /* @__PURE__ */ new Map()),
120698
- new Map(getEntries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
120672
+ new Map(Object.entries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
120699
120673
  (directory, flags) => {
120700
120674
  var _a3;
120701
120675
  return watchDirectory(
@@ -122417,7 +122391,7 @@ function watchWildCardDirectories(state, resolved, resolvedPath, parsed) {
122417
122391
  return;
122418
122392
  updateWatchingWildcardDirectories(
122419
122393
  getOrCreateValueMapFromConfigFileMap(state.allWatchedWildcardDirectories, resolvedPath),
122420
- new Map(getEntries(parsed.wildcardDirectories)),
122394
+ new Map(Object.entries(parsed.wildcardDirectories)),
122421
122395
  (dir, flags) => state.watchDirectory(
122422
122396
  dir,
122423
122397
  (fileOrDirectory) => {
@@ -122812,12 +122786,13 @@ function nonRelativeModuleNameForTypingCache(moduleName) {
122812
122786
  }
122813
122787
  function loadSafeList(host, safeListPath) {
122814
122788
  const result = readConfigFile(safeListPath, (path) => host.readFile(path));
122815
- return new Map(getEntries(result.config));
122789
+ return new Map(Object.entries(result.config));
122816
122790
  }
122817
122791
  function loadTypesMap(host, typesMapPath) {
122792
+ var _a2;
122818
122793
  const result = readConfigFile(typesMapPath, (path) => host.readFile(path));
122819
- if (result.config) {
122820
- 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));
122821
122796
  }
122822
122797
  return void 0;
122823
122798
  }
@@ -123353,7 +123328,6 @@ __export(ts_exports3, {
123353
123328
  arrayIsEqualTo: () => arrayIsEqualTo,
123354
123329
  arrayIsHomogeneous: () => arrayIsHomogeneous,
123355
123330
  arrayIsSorted: () => arrayIsSorted,
123356
- arrayIterator: () => arrayIterator,
123357
123331
  arrayOf: () => arrayOf,
123358
123332
  arrayReverseIterator: () => arrayReverseIterator,
123359
123333
  arrayToMap: () => arrayToMap,
@@ -123455,7 +123429,6 @@ __export(ts_exports3, {
123455
123429
  compilerOptionsAffectSemanticDiagnostics: () => compilerOptionsAffectSemanticDiagnostics,
123456
123430
  compilerOptionsDidYouMeanDiagnostics: () => compilerOptionsDidYouMeanDiagnostics,
123457
123431
  compilerOptionsIndicateEsModules: () => compilerOptionsIndicateEsModules,
123458
- compose: () => compose,
123459
123432
  computeCommonSourceDirectoryOfFilenames: () => computeCommonSourceDirectoryOfFilenames,
123460
123433
  computeLineAndCharacterOfPosition: () => computeLineAndCharacterOfPosition,
123461
123434
  computeLineOfPosition: () => computeLineOfPosition,
@@ -123856,7 +123829,6 @@ __export(ts_exports3, {
123856
123829
  emitUsingBuildInfo: () => emitUsingBuildInfo,
123857
123830
  emptyArray: () => emptyArray,
123858
123831
  emptyFileSystemEntries: () => emptyFileSystemEntries,
123859
- emptyIterator: () => emptyIterator,
123860
123832
  emptyMap: () => emptyMap,
123861
123833
  emptyOptions: () => emptyOptions,
123862
123834
  emptySet: () => emptySet,
@@ -123891,7 +123863,6 @@ __export(ts_exports3, {
123891
123863
  fileExtensionIs: () => fileExtensionIs,
123892
123864
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
123893
123865
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
123894
- fill: () => fill,
123895
123866
  filter: () => filter,
123896
123867
  filterMutate: () => filterMutate,
123897
123868
  filterSemanticDiagnostics: () => filterSemanticDiagnostics,
@@ -123920,8 +123891,10 @@ __export(ts_exports3, {
123920
123891
  first: () => first,
123921
123892
  firstDefined: () => firstDefined,
123922
123893
  firstDefinedIterator: () => firstDefinedIterator,
123894
+ firstIterator: () => firstIterator,
123923
123895
  firstOrOnly: () => firstOrOnly,
123924
123896
  firstOrUndefined: () => firstOrUndefined,
123897
+ firstOrUndefinedIterator: () => firstOrUndefinedIterator,
123925
123898
  fixupCompilerOptions: () => fixupCompilerOptions,
123926
123899
  flatMap: () => flatMap,
123927
123900
  flatMapIterator: () => flatMapIterator,
@@ -124071,7 +124044,6 @@ __export(ts_exports3, {
124071
124044
  getEncodedSyntacticClassifications: () => getEncodedSyntacticClassifications,
124072
124045
  getEndLinePosition: () => getEndLinePosition,
124073
124046
  getEntityNameFromTypeNode: () => getEntityNameFromTypeNode,
124074
- getEntries: () => getEntries,
124075
124047
  getEntrypointsFromPackageJsonInfo: () => getEntrypointsFromPackageJsonInfo,
124076
124048
  getErrorCountForSummary: () => getErrorCountForSummary,
124077
124049
  getErrorSpanForNode: () => getErrorSpanForNode,
@@ -124119,7 +124091,6 @@ __export(ts_exports3, {
124119
124091
  getInitializerOfBindingOrAssignmentElement: () => getInitializerOfBindingOrAssignmentElement,
124120
124092
  getInterfaceBaseTypeNodes: () => getInterfaceBaseTypeNodes,
124121
124093
  getInvokedExpression: () => getInvokedExpression,
124122
- getIterator: () => getIterator,
124123
124094
  getJSDocAugmentsTag: () => getJSDocAugmentsTag,
124124
124095
  getJSDocClassTag: () => getJSDocClassTag,
124125
124096
  getJSDocCommentRanges: () => getJSDocCommentRanges,
@@ -125132,7 +125103,6 @@ __export(ts_exports3, {
125132
125103
  mapDefined: () => mapDefined,
125133
125104
  mapDefinedEntries: () => mapDefinedEntries,
125134
125105
  mapDefinedIterator: () => mapDefinedIterator,
125135
- mapDefinedValues: () => mapDefinedValues,
125136
125106
  mapEntries: () => mapEntries,
125137
125107
  mapIterator: () => mapIterator,
125138
125108
  mapOneOrMany: () => mapOneOrMany,
@@ -125415,7 +125385,6 @@ __export(ts_exports3, {
125415
125385
  stringContainsAt: () => stringContainsAt,
125416
125386
  stringToToken: () => stringToToken,
125417
125387
  stripQuotes: () => stripQuotes,
125418
- sum: () => sum,
125419
125388
  supportedDeclarationExtensions: () => supportedDeclarationExtensions,
125420
125389
  supportedJSExtensions: () => supportedJSExtensions,
125421
125390
  supportedJSExtensionsFlat: () => supportedJSExtensionsFlat,
@@ -125710,8 +125679,6 @@ __export(ts_exports3, {
125710
125679
  writeCommentRange: () => writeCommentRange,
125711
125680
  writeFile: () => writeFile,
125712
125681
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
125713
- zipToIterator: () => zipToIterator,
125714
- zipToMap: () => zipToMap,
125715
125682
  zipToModeAwareCache: () => zipToModeAwareCache,
125716
125683
  zipWith: () => zipWith
125717
125684
  });
@@ -129984,7 +129951,7 @@ var DocumentHighlights;
129984
129951
  return void 0;
129985
129952
  const map2 = arrayToMultiMap(referenceEntries.map(ts_FindAllReferences_exports.toHighlightSpan), (e) => e.fileName, (e) => e.span);
129986
129953
  const getCanonicalFileName = createGetCanonicalFileName(program.useCaseSensitiveFileNames());
129987
- return mapDefined(arrayFrom(map2.entries()), ([fileName, highlightSpans]) => {
129954
+ return arrayFrom(mapDefinedIterator(map2.entries(), ([fileName, highlightSpans]) => {
129988
129955
  if (!sourceFilesSet.has(fileName)) {
129989
129956
  if (!program.redirectTargetsMap.has(toPath(fileName, program.getCurrentDirectory(), getCanonicalFileName))) {
129990
129957
  return void 0;
@@ -129995,7 +129962,7 @@ var DocumentHighlights;
129995
129962
  Debug.assert(sourceFilesSet.has(fileName));
129996
129963
  }
129997
129964
  return { fileName, highlightSpans };
129998
- });
129965
+ }));
129999
129966
  }
130000
129967
  function getSyntacticDocumentHighlights(node, sourceFile) {
130001
129968
  const highlightSpans = getHighlightSpans(node, sourceFile);
@@ -131869,7 +131836,7 @@ function transpileModule(input, transpileOptions) {
131869
131836
  sourceFile.moduleName = transpileOptions.moduleName;
131870
131837
  }
131871
131838
  if (transpileOptions.renamedDependencies) {
131872
- sourceFile.renamedDependencies = new Map(getEntries(transpileOptions.renamedDependencies));
131839
+ sourceFile.renamedDependencies = new Map(Object.entries(transpileOptions.renamedDependencies));
131873
131840
  }
131874
131841
  let outputText;
131875
131842
  let sourceMapText;
@@ -134252,7 +134219,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
134252
134219
  const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName);
134253
134220
  return ts_OutliningElementsCollector_exports.collectElements(sourceFile, cancellationToken);
134254
134221
  }
134255
- const braceMatching = new Map(getEntries({
134222
+ const braceMatching = new Map(Object.entries({
134256
134223
  [18 /* OpenBraceToken */]: 19 /* CloseBraceToken */,
134257
134224
  [20 /* OpenParenToken */]: 21 /* CloseParenToken */,
134258
134225
  [22 /* OpenBracketToken */]: 23 /* CloseBracketToken */,
@@ -140548,8 +140515,10 @@ function getFixesInfoForNonUMDImport({ sourceFile, program, cancellationToken, h
140548
140515
  const isValidTypeOnlyUseSite = isValidTypeOnlyAliasUseSite(symbolToken);
140549
140516
  const useRequire = shouldUseRequire(sourceFile, program);
140550
140517
  const exportInfo = getExportInfos(symbolName2, isJSXTagName(symbolToken), getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences);
140551
- const fixes = arrayFrom(flatMapIterator(exportInfo.entries(), ([_, exportInfos]) => getImportFixes(exportInfos, { symbolName: symbolName2, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes));
140552
- 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
+ );
140553
140522
  });
140554
140523
  }
140555
140524
  function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName2, program) {
@@ -142418,7 +142387,7 @@ function tryGetValueFromType(context, checker, importAdder, quotePreference, typ
142418
142387
  return factory.createFalse();
142419
142388
  }
142420
142389
  if (type.flags & 1056 /* EnumLike */) {
142421
- 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;
142422
142391
  const name = checker.symbolToExpression(
142423
142392
  type.symbol.parent ? type.symbol.parent : type.symbol,
142424
142393
  111551 /* Value */,
@@ -145370,8 +145339,8 @@ function createTypeParametersForArguments(checker, argumentTypeParameters, typeA
145370
145339
  usedNames.add(createTypeParameterName(i));
145371
145340
  }
145372
145341
  }
145373
- return map(
145374
- arrayFrom(usedNames.values()),
145342
+ return arrayFrom(
145343
+ usedNames.values(),
145375
145344
  (usedName) => {
145376
145345
  var _a2;
145377
145346
  return factory.createTypeParameterDeclaration(
@@ -155941,7 +155910,7 @@ function doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, toConve
155941
155910
  }
155942
155911
  changes.replaceNode(sourceFile, toConvert, shouldUseDefault ? factory.createIdentifier(namespaceImportName) : factory.createNamespaceImport(factory.createIdentifier(namespaceImportName)));
155943
155912
  if (neededNamedImports.size) {
155944
- 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)));
155945
155914
  changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(
155946
155915
  importDecl,
155947
155916
  /*defaultImportName*/
@@ -159295,7 +159264,7 @@ function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParame
159295
159264
  }
159296
159265
  callArguments.push(factory.createIdentifier(name));
159297
159266
  });
159298
- const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values()).map((type) => ({ type, declaration: getFirstDeclaration(type) }));
159267
+ const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values(), (type) => ({ type, declaration: getFirstDeclaration(type) }));
159299
159268
  const sortedTypeParametersAndDeclarations = typeParametersAndDeclarations.sort(compareTypesByDeclarationOrder);
159300
159269
  const typeParameters = sortedTypeParametersAndDeclarations.length === 0 ? void 0 : sortedTypeParametersAndDeclarations.map((t) => t.declaration);
159301
159270
  const callTypeArguments = typeParameters !== void 0 ? typeParameters.map((decl) => factory.createTypeReferenceNode(
@@ -163667,7 +163636,14 @@ function getAllRules() {
163667
163636
  const anyTokenIncludingEOF = tokenRangeFrom([...allTokens, 1 /* EndOfFileToken */]);
163668
163637
  const keywords = tokenRangeFromRange(81 /* FirstKeyword */, 162 /* LastKeyword */);
163669
163638
  const binaryOperators = tokenRangeFromRange(29 /* FirstBinaryOperator */, 78 /* LastBinaryOperator */);
163670
- const binaryKeywordOperators = [101 /* InKeyword */, 102 /* InstanceOfKeyword */, 162 /* OfKeyword */, 128 /* AsKeyword */, 140 /* IsKeyword */];
163639
+ const binaryKeywordOperators = [
163640
+ 101 /* InKeyword */,
163641
+ 102 /* InstanceOfKeyword */,
163642
+ 162 /* OfKeyword */,
163643
+ 128 /* AsKeyword */,
163644
+ 140 /* IsKeyword */,
163645
+ 150 /* SatisfiesKeyword */
163646
+ ];
163671
163647
  const unaryPrefixOperators = [45 /* PlusPlusToken */, 46 /* MinusMinusToken */, 54 /* TildeToken */, 53 /* ExclamationToken */];
163672
163648
  const unaryPrefixExpressions = [
163673
163649
  8 /* NumericLiteral */,
@@ -170633,7 +170609,7 @@ function prepareConvertersForEnumLikeCompilerOptions(commandLineOptions) {
170633
170609
  }
170634
170610
  var compilerOptionConverters = prepareConvertersForEnumLikeCompilerOptions(optionDeclarations);
170635
170611
  var watchOptionsConverters = prepareConvertersForEnumLikeCompilerOptions(optionsForWatch);
170636
- var indentStyle = new Map(getEntries({
170612
+ var indentStyle = new Map(Object.entries({
170637
170613
  none: 0 /* None */,
170638
170614
  block: 1 /* Block */,
170639
170615
  smart: 2 /* Smart */
@@ -172174,7 +172150,7 @@ var _ProjectService = class {
172174
172150
  config.watchedDirectoriesStale = false;
172175
172151
  updateWatchingWildcardDirectories(
172176
172152
  config.watchedDirectories || (config.watchedDirectories = /* @__PURE__ */ new Map()),
172177
- new Map(getEntries(config.parsedCommandLine.wildcardDirectories)),
172153
+ new Map(Object.entries(config.parsedCommandLine.wildcardDirectories)),
172178
172154
  // Create new directory watcher
172179
172155
  (directory, flags) => this.watchWildcardDirectory(directory, flags, configFileName, config)
172180
172156
  );
@@ -172447,7 +172423,7 @@ var _ProjectService = class {
172447
172423
  }
172448
172424
  /** @internal */
172449
172425
  logErrorForScriptInfoNotFound(fileName) {
172450
- 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 }));
172451
172427
  this.logger.msg(`Could not find file ${JSON.stringify(fileName)}.
172452
172428
  All files are: ${JSON.stringify(names)}`, "Err" /* Err */);
172453
172429
  }
@@ -173360,7 +173336,7 @@ Dynamic files must always be opened with service's current directory or service
173360
173336
  synchronizeProjectList(knownProjects, includeProjectReferenceRedirectInfo) {
173361
173337
  const files = [];
173362
173338
  this.collectChanges(knownProjects, this.externalProjects, includeProjectReferenceRedirectInfo, files);
173363
- this.collectChanges(knownProjects, arrayFrom(this.configuredProjects.values()), includeProjectReferenceRedirectInfo, files);
173339
+ this.collectChanges(knownProjects, this.configuredProjects.values(), includeProjectReferenceRedirectInfo, files);
173364
173340
  this.collectChanges(knownProjects, this.inferredProjects, includeProjectReferenceRedirectInfo, files);
173365
173341
  return files;
173366
173342
  }
@@ -173369,11 +173345,7 @@ Dynamic files must always be opened with service's current directory or service
173369
173345
  let openScriptInfos;
173370
173346
  let assignOrphanScriptInfosToInferredProject = false;
173371
173347
  if (openFiles) {
173372
- while (true) {
173373
- const iterResult = openFiles.next();
173374
- if (iterResult.done)
173375
- break;
173376
- const file = iterResult.value;
173348
+ for (const file of openFiles) {
173377
173349
  const info = this.getOrCreateOpenScriptInfo(
173378
173350
  toNormalizedPath(file.fileName),
173379
173351
  file.content,
@@ -173385,11 +173357,7 @@ Dynamic files must always be opened with service's current directory or service
173385
173357
  }
173386
173358
  }
173387
173359
  if (changedFiles) {
173388
- while (true) {
173389
- const iterResult = changedFiles.next();
173390
- if (iterResult.done)
173391
- break;
173392
- const file = iterResult.value;
173360
+ for (const file of changedFiles) {
173393
173361
  const scriptInfo = this.getScriptInfo(file.fileName);
173394
173362
  Debug.assert(!!scriptInfo);
173395
173363
  this.applyChangesToFile(scriptInfo, file.changes);
@@ -173421,11 +173389,7 @@ Dynamic files must always be opened with service's current directory or service
173421
173389
  }
173422
173390
  /** @internal */
173423
173391
  applyChangesToFile(scriptInfo, changes) {
173424
- while (true) {
173425
- const iterResult = changes.next();
173426
- if (iterResult.done)
173427
- break;
173428
- const change = iterResult.value;
173392
+ for (const change of changes) {
173429
173393
  scriptInfo.editContent(change.span.start, change.span.start + change.span.length, change.newText);
173430
173394
  }
173431
173395
  }
@@ -174373,9 +174337,7 @@ function getPerProjectReferences(projects, defaultProject, initialLocation, isFo
174373
174337
  }
174374
174338
  }
174375
174339
  if (resultsMap.size === 1) {
174376
- const it = resultsMap.values().next();
174377
- Debug.assert(!it.done);
174378
- return it.value;
174340
+ return firstIterator(resultsMap.values());
174379
174341
  }
174380
174342
  return resultsMap;
174381
174343
  function searchPosition(project, location) {
@@ -174506,7 +174468,7 @@ var invalidSyntacticModeCommands = [
174506
174468
  var Session3 = class {
174507
174469
  constructor(opts) {
174508
174470
  this.changeSeq = 0;
174509
- this.handlers = new Map(getEntries({
174471
+ this.handlers = new Map(Object.entries({
174510
174472
  [CommandNames.Status]: () => {
174511
174473
  const response = { version };
174512
174474
  return this.requiredResponse(response);
@@ -174557,13 +174519,13 @@ var Session3 = class {
174557
174519
  [CommandNames.UpdateOpen]: (request) => {
174558
174520
  this.changeSeq++;
174559
174521
  this.projectService.applyChangesInOpenFiles(
174560
- request.arguments.openFiles && mapIterator(arrayIterator(request.arguments.openFiles), (file) => ({
174522
+ request.arguments.openFiles && mapIterator(request.arguments.openFiles, (file) => ({
174561
174523
  fileName: file.file,
174562
174524
  content: file.fileContent,
174563
174525
  scriptKind: file.scriptKindName,
174564
174526
  projectRootPath: file.projectRootPath
174565
174527
  })),
174566
- request.arguments.changedFiles && mapIterator(arrayIterator(request.arguments.changedFiles), (file) => ({
174528
+ request.arguments.changedFiles && mapIterator(request.arguments.changedFiles, (file) => ({
174567
174529
  fileName: file.fileName,
174568
174530
  changes: mapDefinedIterator(arrayReverseIterator(file.textChanges), (change) => {
174569
174531
  const scriptInfo = Debug.checkDefined(this.projectService.getScriptInfo(file.fileName));
@@ -174582,8 +174544,8 @@ var Session3 = class {
174582
174544
  [CommandNames.ApplyChangedToOpenFiles]: (request) => {
174583
174545
  this.changeSeq++;
174584
174546
  this.projectService.applyChangesInOpenFiles(
174585
- request.arguments.openFiles && arrayIterator(request.arguments.openFiles),
174586
- request.arguments.changedFiles && mapIterator(arrayIterator(request.arguments.changedFiles), (file) => ({
174547
+ request.arguments.openFiles,
174548
+ request.arguments.changedFiles && mapIterator(request.arguments.changedFiles, (file) => ({
174587
174549
  fileName: file.fileName,
174588
174550
  // apply changes in reverse order
174589
174551
  changes: arrayReverseIterator(file.changes)
@@ -178468,7 +178430,7 @@ function startNodeSession(options, logger, cancellationToken) {
178468
178430
  }
178469
178431
  switch (response.kind) {
178470
178432
  case EventTypesRegistry:
178471
- this.typesRegistryCache = new Map(getEntries(response.typesRegistry));
178433
+ this.typesRegistryCache = new Map(Object.entries(response.typesRegistry));
178472
178434
  break;
178473
178435
  case ActionPackageInstalled: {
178474
178436
  const { success, message } = response;
@@ -178941,7 +178903,6 @@ start(initializeNodeSystem(), require("os").platform());
178941
178903
  arrayIsEqualTo,
178942
178904
  arrayIsHomogeneous,
178943
178905
  arrayIsSorted,
178944
- arrayIterator,
178945
178906
  arrayOf,
178946
178907
  arrayReverseIterator,
178947
178908
  arrayToMap,
@@ -179043,7 +179004,6 @@ start(initializeNodeSystem(), require("os").platform());
179043
179004
  compilerOptionsAffectSemanticDiagnostics,
179044
179005
  compilerOptionsDidYouMeanDiagnostics,
179045
179006
  compilerOptionsIndicateEsModules,
179046
- compose,
179047
179007
  computeCommonSourceDirectoryOfFilenames,
179048
179008
  computeLineAndCharacterOfPosition,
179049
179009
  computeLineOfPosition,
@@ -179444,7 +179404,6 @@ start(initializeNodeSystem(), require("os").platform());
179444
179404
  emitUsingBuildInfo,
179445
179405
  emptyArray,
179446
179406
  emptyFileSystemEntries,
179447
- emptyIterator,
179448
179407
  emptyMap,
179449
179408
  emptyOptions,
179450
179409
  emptySet,
@@ -179479,7 +179438,6 @@ start(initializeNodeSystem(), require("os").platform());
179479
179438
  fileExtensionIs,
179480
179439
  fileExtensionIsOneOf,
179481
179440
  fileIncludeReasonToDiagnostics,
179482
- fill,
179483
179441
  filter,
179484
179442
  filterMutate,
179485
179443
  filterSemanticDiagnostics,
@@ -179508,8 +179466,10 @@ start(initializeNodeSystem(), require("os").platform());
179508
179466
  first,
179509
179467
  firstDefined,
179510
179468
  firstDefinedIterator,
179469
+ firstIterator,
179511
179470
  firstOrOnly,
179512
179471
  firstOrUndefined,
179472
+ firstOrUndefinedIterator,
179513
179473
  fixupCompilerOptions,
179514
179474
  flatMap,
179515
179475
  flatMapIterator,
@@ -179659,7 +179619,6 @@ start(initializeNodeSystem(), require("os").platform());
179659
179619
  getEncodedSyntacticClassifications,
179660
179620
  getEndLinePosition,
179661
179621
  getEntityNameFromTypeNode,
179662
- getEntries,
179663
179622
  getEntrypointsFromPackageJsonInfo,
179664
179623
  getErrorCountForSummary,
179665
179624
  getErrorSpanForNode,
@@ -179707,7 +179666,6 @@ start(initializeNodeSystem(), require("os").platform());
179707
179666
  getInitializerOfBindingOrAssignmentElement,
179708
179667
  getInterfaceBaseTypeNodes,
179709
179668
  getInvokedExpression,
179710
- getIterator,
179711
179669
  getJSDocAugmentsTag,
179712
179670
  getJSDocClassTag,
179713
179671
  getJSDocCommentRanges,
@@ -180720,7 +180678,6 @@ start(initializeNodeSystem(), require("os").platform());
180720
180678
  mapDefined,
180721
180679
  mapDefinedEntries,
180722
180680
  mapDefinedIterator,
180723
- mapDefinedValues,
180724
180681
  mapEntries,
180725
180682
  mapIterator,
180726
180683
  mapOneOrMany,
@@ -181003,7 +180960,6 @@ start(initializeNodeSystem(), require("os").platform());
181003
180960
  stringContainsAt,
181004
180961
  stringToToken,
181005
180962
  stripQuotes,
181006
- sum,
181007
180963
  supportedDeclarationExtensions,
181008
180964
  supportedJSExtensions,
181009
180965
  supportedJSExtensionsFlat,
@@ -181298,8 +181254,6 @@ start(initializeNodeSystem(), require("os").platform());
181298
181254
  writeCommentRange,
181299
181255
  writeFile,
181300
181256
  writeFileEnsuringDirectories,
181301
- zipToIterator,
181302
- zipToMap,
181303
181257
  zipToModeAwareCache,
181304
181258
  zipWith
181305
181259
  });