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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/typescript.js CHANGED
@@ -42,7 +42,7 @@ var ts = (() => {
42
42
  "src/compiler/corePublic.ts"() {
43
43
  "use strict";
44
44
  versionMajorMinor = "5.0";
45
- version = `${versionMajorMinor}.0-dev.20230106`;
45
+ version = `${versionMajorMinor}.0-dev.20230108`;
46
46
  Comparison = /* @__PURE__ */ ((Comparison3) => {
47
47
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
48
48
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -53,17 +53,6 @@ var ts = (() => {
53
53
  });
54
54
 
55
55
  // src/compiler/core.ts
56
- function getIterator(iterable) {
57
- if (iterable) {
58
- if (isArray(iterable))
59
- return arrayIterator(iterable);
60
- if (iterable instanceof Map)
61
- return iterable.entries();
62
- if (iterable instanceof Set)
63
- return iterable.values();
64
- throw new Error("Iteration not supported.");
65
- }
66
- }
67
56
  function length(array) {
68
57
  return array ? array.length : 0;
69
58
  }
@@ -102,22 +91,21 @@ var ts = (() => {
102
91
  return void 0;
103
92
  }
104
93
  function firstDefinedIterator(iter, callback) {
105
- while (true) {
106
- const iterResult = iter.next();
107
- if (iterResult.done) {
108
- return void 0;
109
- }
110
- const result = callback(iterResult.value);
94
+ for (const value of iter) {
95
+ const result = callback(value);
111
96
  if (result !== void 0) {
112
97
  return result;
113
98
  }
114
99
  }
100
+ return void 0;
115
101
  }
116
102
  function reduceLeftIterator(iterator, f, initial) {
117
103
  let result = initial;
118
104
  if (iterator) {
119
- for (let step = iterator.next(), pos = 0; !step.done; step = iterator.next(), pos++) {
120
- result = f(result, step.value, pos);
105
+ let pos = 0;
106
+ for (const value of iterator) {
107
+ result = f(result, value, pos);
108
+ pos++;
121
109
  }
122
110
  }
123
111
  return result;
@@ -130,27 +118,6 @@ var ts = (() => {
130
118
  }
131
119
  return result;
132
120
  }
133
- function zipToIterator(arrayA, arrayB) {
134
- Debug.assertEqual(arrayA.length, arrayB.length);
135
- let i = 0;
136
- return {
137
- next() {
138
- if (i === arrayA.length) {
139
- return { value: void 0, done: true };
140
- }
141
- i++;
142
- return { value: [arrayA[i - 1], arrayB[i - 1]], done: false };
143
- }
144
- };
145
- }
146
- function zipToMap(keys, values) {
147
- Debug.assert(keys.length === values.length);
148
- const map2 = /* @__PURE__ */ new Map();
149
- for (let i = 0; i < keys.length; ++i) {
150
- map2.set(keys[i], values[i]);
151
- }
152
- return map2;
153
- }
154
121
  function intersperse(input, element) {
155
122
  if (input.length <= 1) {
156
123
  return input;
@@ -301,13 +268,10 @@ var ts = (() => {
301
268
  }
302
269
  return result;
303
270
  }
304
- function mapIterator(iter, mapFn) {
305
- return {
306
- next() {
307
- const iterRes = iter.next();
308
- return iterRes.done ? iterRes : { value: mapFn(iterRes.value), done: false };
309
- }
310
- };
271
+ function* mapIterator(iter, mapFn) {
272
+ for (const x of iter) {
273
+ yield mapFn(x);
274
+ }
311
275
  }
312
276
  function sameMap(array, f) {
313
277
  if (array) {
@@ -371,30 +335,12 @@ var ts = (() => {
371
335
  }
372
336
  return result;
373
337
  }
374
- function flatMapIterator(iter, mapfn) {
375
- const first2 = iter.next();
376
- if (first2.done) {
377
- return emptyIterator;
378
- }
379
- let currentIter = getIterator2(first2.value);
380
- return {
381
- next() {
382
- while (true) {
383
- const currentRes = currentIter.next();
384
- if (!currentRes.done) {
385
- return currentRes;
386
- }
387
- const iterRes = iter.next();
388
- if (iterRes.done) {
389
- return iterRes;
390
- }
391
- currentIter = getIterator2(iterRes.value);
392
- }
393
- }
394
- };
395
- function getIterator2(x) {
396
- const res = mapfn(x);
397
- return res === void 0 ? emptyIterator : isArray(res) ? arrayIterator(res) : res;
338
+ function* flatMapIterator(iter, mapfn) {
339
+ for (const x of iter) {
340
+ const iter2 = mapfn(x);
341
+ if (!iter2)
342
+ continue;
343
+ yield* iter2;
398
344
  }
399
345
  }
400
346
  function sameFlatMap(array, mapfn) {
@@ -440,21 +386,13 @@ var ts = (() => {
440
386
  }
441
387
  return result;
442
388
  }
443
- function mapDefinedIterator(iter, mapFn) {
444
- return {
445
- next() {
446
- while (true) {
447
- const res = iter.next();
448
- if (res.done) {
449
- return res;
450
- }
451
- const value = mapFn(res.value);
452
- if (value !== void 0) {
453
- return { value, done: false };
454
- }
455
- }
389
+ function* mapDefinedIterator(iter, mapFn) {
390
+ for (const x of iter) {
391
+ const value = mapFn(x);
392
+ if (value !== void 0) {
393
+ yield value;
456
394
  }
457
- };
395
+ }
458
396
  }
459
397
  function mapDefinedEntries(map2, f) {
460
398
  if (!map2) {
@@ -472,18 +410,6 @@ var ts = (() => {
472
410
  });
473
411
  return result;
474
412
  }
475
- function mapDefinedValues(set, f) {
476
- if (set) {
477
- const result = /* @__PURE__ */ new Set();
478
- set.forEach((value) => {
479
- const newValue = f(value);
480
- if (newValue !== void 0) {
481
- result.add(newValue);
482
- }
483
- });
484
- return result;
485
- }
486
- }
487
413
  function getOrUpdate(map2, key, callback) {
488
414
  if (map2.has(key)) {
489
415
  return map2.get(key);
@@ -499,15 +425,8 @@ var ts = (() => {
499
425
  }
500
426
  return false;
501
427
  }
502
- function singleIterator(value) {
503
- let done = false;
504
- return {
505
- next() {
506
- const wasDone = done;
507
- done = true;
508
- return wasDone ? { value: void 0, done: true } : { value, done: false };
509
- }
510
- };
428
+ function* singleIterator(value) {
429
+ yield value;
511
430
  }
512
431
  function spanMap(array, keyfn, mapfn) {
513
432
  let result;
@@ -751,13 +670,6 @@ var ts = (() => {
751
670
  }
752
671
  return result;
753
672
  }
754
- function sum(array, prop) {
755
- let result = 0;
756
- for (const v of array) {
757
- result += v[prop];
758
- }
759
- return result;
760
- }
761
673
  function append(to, value) {
762
674
  if (value === void 0)
763
675
  return to;
@@ -816,29 +728,10 @@ var ts = (() => {
816
728
  function sort(array, comparer) {
817
729
  return array.length === 0 ? array : array.slice().sort(comparer);
818
730
  }
819
- function arrayIterator(array) {
820
- let i = 0;
821
- return { next: () => {
822
- if (i === array.length) {
823
- return { value: void 0, done: true };
824
- } else {
825
- i++;
826
- return { value: array[i - 1], done: false };
827
- }
828
- } };
829
- }
830
- function arrayReverseIterator(array) {
831
- let i = array.length;
832
- return {
833
- next: () => {
834
- if (i === 0) {
835
- return { value: void 0, done: true };
836
- } else {
837
- i--;
838
- return { value: array[i], done: false };
839
- }
840
- }
841
- };
731
+ function* arrayReverseIterator(array) {
732
+ for (let i = array.length - 1; i >= 0; i--) {
733
+ yield array[i];
734
+ }
842
735
  }
843
736
  function stableSort(array, comparer) {
844
737
  const indices = indicesOf(array);
@@ -854,22 +747,27 @@ var ts = (() => {
854
747
  }
855
748
  return true;
856
749
  }
857
- function elementAt(array, offset) {
858
- if (array) {
859
- offset = toOffset(array, offset);
860
- if (offset < array.length) {
861
- return array[offset];
750
+ function firstOrUndefined(array) {
751
+ return array === void 0 || array.length === 0 ? void 0 : array[0];
752
+ }
753
+ function firstOrUndefinedIterator(iter) {
754
+ if (iter) {
755
+ for (const value of iter) {
756
+ return value;
862
757
  }
863
758
  }
864
759
  return void 0;
865
760
  }
866
- function firstOrUndefined(array) {
867
- return array === void 0 || array.length === 0 ? void 0 : array[0];
868
- }
869
761
  function first(array) {
870
762
  Debug.assert(array.length !== 0);
871
763
  return array[0];
872
764
  }
765
+ function firstIterator(iter) {
766
+ for (const value of iter) {
767
+ return value;
768
+ }
769
+ Debug.fail("iterator is empty");
770
+ }
873
771
  function lastOrUndefined(array) {
874
772
  return array === void 0 || array.length === 0 ? void 0 : array[array.length - 1];
875
773
  }
@@ -972,9 +870,6 @@ var ts = (() => {
972
870
  }
973
871
  return values;
974
872
  }
975
- function getEntries(obj) {
976
- return obj ? _entries(obj) : [];
977
- }
978
873
  function arrayOf(count, f) {
979
874
  const result = new Array(count);
980
875
  for (let i = 0; i < count; i++) {
@@ -984,8 +879,8 @@ var ts = (() => {
984
879
  }
985
880
  function arrayFrom(iterator, map2) {
986
881
  const result = [];
987
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
988
- result.push(map2 ? map2(iterResult.value) : iterResult.value);
882
+ for (const value of iterator) {
883
+ result.push(map2 ? map2(value) : value);
989
884
  }
990
885
  return result;
991
886
  }
@@ -1146,35 +1041,14 @@ var ts = (() => {
1146
1041
  function createSet(getHashCode, equals) {
1147
1042
  const multiMap = /* @__PURE__ */ new Map();
1148
1043
  let size = 0;
1149
- function getElementIterator() {
1150
- const valueIt = multiMap.values();
1151
- let arrayIt;
1152
- const it = {
1153
- next: () => {
1154
- while (true) {
1155
- if (arrayIt) {
1156
- const n = arrayIt.next();
1157
- if (!n.done) {
1158
- return { value: n.value };
1159
- }
1160
- arrayIt = void 0;
1161
- } else {
1162
- const n = valueIt.next();
1163
- if (n.done) {
1164
- return { value: void 0, done: true };
1165
- }
1166
- if (!isArray(n.value)) {
1167
- return { value: n.value };
1168
- }
1169
- arrayIt = arrayIterator(n.value);
1170
- }
1171
- }
1172
- },
1173
- [Symbol.iterator]: () => {
1174
- return it;
1044
+ function* getElementIterator() {
1045
+ for (const value of multiMap.values()) {
1046
+ if (isArray(value)) {
1047
+ yield* value;
1048
+ } else {
1049
+ yield value;
1175
1050
  }
1176
- };
1177
- return it;
1051
+ }
1178
1052
  }
1179
1053
  const set = {
1180
1054
  has(element) {
@@ -1267,16 +1141,10 @@ var ts = (() => {
1267
1141
  values() {
1268
1142
  return getElementIterator();
1269
1143
  },
1270
- entries() {
1271
- const it = getElementIterator();
1272
- const it2 = {
1273
- next: () => {
1274
- const n = it.next();
1275
- return n.done ? n : { value: [n.value, n.value] };
1276
- },
1277
- [Symbol.iterator]: () => it2
1278
- };
1279
- return it2;
1144
+ *entries() {
1145
+ for (const value of getElementIterator()) {
1146
+ yield [value, value];
1147
+ }
1280
1148
  },
1281
1149
  [Symbol.iterator]: () => {
1282
1150
  return getElementIterator();
@@ -1286,7 +1154,7 @@ var ts = (() => {
1286
1154
  return set;
1287
1155
  }
1288
1156
  function isArray(value) {
1289
- return Array.isArray ? Array.isArray(value) : value instanceof Array;
1157
+ return Array.isArray(value);
1290
1158
  }
1291
1159
  function toArray(value) {
1292
1160
  return isArray(value) ? value : [value];
@@ -1361,25 +1229,6 @@ var ts = (() => {
1361
1229
  return value;
1362
1230
  };
1363
1231
  }
1364
- function compose(a, b, c, d, e) {
1365
- if (!!e) {
1366
- const args = [];
1367
- for (let i = 0; i < arguments.length; i++) {
1368
- args[i] = arguments[i];
1369
- }
1370
- return (t) => reduceLeft(args, (u, f) => f(u), t);
1371
- } else if (d) {
1372
- return (t) => d(c(b(a(t))));
1373
- } else if (c) {
1374
- return (t) => c(b(a(t)));
1375
- } else if (b) {
1376
- return (t) => b(a(t));
1377
- } else if (a) {
1378
- return (t) => a(t);
1379
- } else {
1380
- return (t) => t;
1381
- }
1382
- }
1383
1232
  function equateValues(a, b) {
1384
1233
  return a === b;
1385
1234
  }
@@ -1682,13 +1531,6 @@ var ts = (() => {
1682
1531
  }
1683
1532
  return hasChanges;
1684
1533
  }
1685
- function fill(length2, cb) {
1686
- const result = Array(length2);
1687
- for (let i = 0; i < length2; i++) {
1688
- result[i] = cb(i);
1689
- }
1690
- return result;
1691
- }
1692
1534
  function cartesianProduct(arrays) {
1693
1535
  const result = [];
1694
1536
  cartesianProductWorker(
@@ -1742,7 +1584,7 @@ var ts = (() => {
1742
1584
  function isNodeLikeSystem() {
1743
1585
  return typeof process !== "undefined" && process.nextTick && !process.browser && typeof module === "object";
1744
1586
  }
1745
- var emptyArray, emptyMap, emptySet, emptyIterator, SortKind, hasOwnProperty, _entries, noopPush, fileNameLowerCaseRegExp, AssertionLevel, createUIStringComparer, uiComparerCaseSensitive, uiLocale, trimString, trimStringEnd, trimStringStart;
1587
+ var emptyArray, emptyMap, emptySet, SortKind, elementAt, hasOwnProperty, noopPush, fileNameLowerCaseRegExp, AssertionLevel, createUIStringComparer, uiComparerCaseSensitive, uiLocale, trimString, trimStringEnd, trimStringStart;
1746
1588
  var init_core = __esm({
1747
1589
  "src/compiler/core.ts"() {
1748
1590
  "use strict";
@@ -1750,7 +1592,6 @@ var ts = (() => {
1750
1592
  emptyArray = [];
1751
1593
  emptyMap = /* @__PURE__ */ new Map();
1752
1594
  emptySet = /* @__PURE__ */ new Set();
1753
- emptyIterator = { next: () => ({ value: void 0, done: true }) };
1754
1595
  SortKind = /* @__PURE__ */ ((SortKind2) => {
1755
1596
  SortKind2[SortKind2["None"] = 0] = "None";
1756
1597
  SortKind2[SortKind2["CaseSensitive"] = 1] = "CaseSensitive";
@@ -1758,15 +1599,16 @@ var ts = (() => {
1758
1599
  SortKind2[SortKind2["Both"] = 3] = "Both";
1759
1600
  return SortKind2;
1760
1601
  })(SortKind || {});
1761
- hasOwnProperty = Object.prototype.hasOwnProperty;
1762
- _entries = Object.entries || ((obj) => {
1763
- const keys = getOwnKeys(obj);
1764
- const result = Array(keys.length);
1765
- for (let i = 0; i < keys.length; i++) {
1766
- result[i] = [keys[i], obj[keys[i]]];
1602
+ elementAt = !!Array.prototype.at ? (array, offset) => array == null ? void 0 : array.at(offset) : (array, offset) => {
1603
+ if (array) {
1604
+ offset = toOffset(array, offset);
1605
+ if (offset < array.length) {
1606
+ return array[offset];
1607
+ }
1767
1608
  }
1768
- return result;
1769
- });
1609
+ return void 0;
1610
+ };
1611
+ hasOwnProperty = Object.prototype.hasOwnProperty;
1770
1612
  noopPush = {
1771
1613
  push: noop,
1772
1614
  length: 0
@@ -2643,7 +2485,7 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
2643
2485
  return height2 + 1;
2644
2486
  }
2645
2487
  function computeColumnWidths(height2) {
2646
- const columns = fill2(Array(height2), 0);
2488
+ const columns = fill(Array(height2), 0);
2647
2489
  for (const node of nodes) {
2648
2490
  columns[node.level] = Math.max(columns[node.level], node.text.length);
2649
2491
  }
@@ -2726,9 +2568,9 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
2726
2568
  function renderGraph() {
2727
2569
  const columnCount = columnWidths.length;
2728
2570
  const laneCount = nodes.reduce((x, n) => Math.max(x, n.lane), 0) + 1;
2729
- const lanes = fill2(Array(laneCount), "");
2571
+ const lanes = fill(Array(laneCount), "");
2730
2572
  const grid = columnWidths.map(() => Array(laneCount));
2731
- const connectors = columnWidths.map(() => fill2(Array(laneCount), 0));
2573
+ const connectors = columnWidths.map(() => fill(Array(laneCount), 0));
2732
2574
  for (const node of nodes) {
2733
2575
  grid[node.level][node.lane] = node;
2734
2576
  const children = getChildren(node);
@@ -2774,17 +2616,17 @@ m2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;
2774
2616
  for (let column = 0; column < columnCount; column++) {
2775
2617
  for (let lane = 0; lane < lanes.length; lane++) {
2776
2618
  const connector = connectors[column][lane];
2777
- const fill3 = connector & 4 /* Left */ ? "\u2500" /* lr */ : " ";
2619
+ const fill2 = connector & 4 /* Left */ ? "\u2500" /* lr */ : " ";
2778
2620
  const node = grid[column][lane];
2779
2621
  if (!node) {
2780
2622
  if (column < columnCount - 1) {
2781
- writeLane(lane, repeat(fill3, columnWidths[column] + 1));
2623
+ writeLane(lane, repeat(fill2, columnWidths[column] + 1));
2782
2624
  }
2783
2625
  } else {
2784
2626
  writeLane(lane, node.text);
2785
2627
  if (column < columnCount - 1) {
2786
2628
  writeLane(lane, " ");
2787
- writeLane(lane, repeat(fill3, columnWidths[column] - node.text.length));
2629
+ writeLane(lane, repeat(fill2, columnWidths[column] - node.text.length));
2788
2630
  }
2789
2631
  }
2790
2632
  writeLane(lane, getBoxCharacter(connector));
@@ -2825,7 +2667,7 @@ ${lanes.join("\n")}
2825
2667
  }
2826
2668
  return " ";
2827
2669
  }
2828
- function fill2(array, value) {
2670
+ function fill(array, value) {
2829
2671
  if (array.fill) {
2830
2672
  array.fill(value);
2831
2673
  } else {
@@ -11259,8 +11101,8 @@ ${lanes.join("\n")}
11259
11101
  await: 133 /* AwaitKeyword */,
11260
11102
  of: 162 /* OfKeyword */
11261
11103
  };
11262
- textToKeyword = new Map(getEntries(textToKeywordObj));
11263
- textToToken = new Map(getEntries({
11104
+ textToKeyword = new Map(Object.entries(textToKeywordObj));
11105
+ textToToken = new Map(Object.entries({
11264
11106
  ...textToKeywordObj,
11265
11107
  "{": 18 /* OpenBraceToken */,
11266
11108
  "}": 19 /* CloseBraceToken */,
@@ -12885,8 +12727,7 @@ ${lanes.join("\n")}
12885
12727
  }
12886
12728
  function forEachEntry(map2, callback) {
12887
12729
  const iterator = map2.entries();
12888
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
12889
- const [key, value] = iterResult.value;
12730
+ for (const [key, value] of iterator) {
12890
12731
  const result = callback(value, key);
12891
12732
  if (result) {
12892
12733
  return result;
@@ -12896,8 +12737,8 @@ ${lanes.join("\n")}
12896
12737
  }
12897
12738
  function forEachKey(map2, callback) {
12898
12739
  const iterator = map2.keys();
12899
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
12900
- const result = callback(iterResult.value);
12740
+ for (const key of iterator) {
12741
+ const result = callback(key);
12901
12742
  if (result) {
12902
12743
  return result;
12903
12744
  }
@@ -18626,7 +18467,7 @@ ${lanes.join("\n")}
18626
18467
  doubleQuoteEscapedCharsRegExp = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
18627
18468
  singleQuoteEscapedCharsRegExp = /[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
18628
18469
  backtickQuoteEscapedCharsRegExp = /\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g;
18629
- escapedCharsMap = new Map(getEntries({
18470
+ escapedCharsMap = new Map(Object.entries({
18630
18471
  " ": "\\t",
18631
18472
  "\v": "\\v",
18632
18473
  "\f": "\\f",
@@ -18649,7 +18490,7 @@ ${lanes.join("\n")}
18649
18490
  nonAsciiCharacters = /[^\u0000-\u007F]/g;
18650
18491
  jsxDoubleQuoteEscapedCharsRegExp = /[\"\u0000-\u001f\u2028\u2029\u0085]/g;
18651
18492
  jsxSingleQuoteEscapedCharsRegExp = /[\'\u0000-\u001f\u2028\u2029\u0085]/g;
18652
- jsxEscapedCharsMap = new Map(getEntries({
18493
+ jsxEscapedCharsMap = new Map(Object.entries({
18653
18494
  '"': "&quot;",
18654
18495
  "'": "&apos;"
18655
18496
  }));
@@ -27797,7 +27638,6 @@ ${lanes.join("\n")}
27797
27638
  let currentToken;
27798
27639
  let nodeCount;
27799
27640
  let identifiers;
27800
- let privateIdentifiers;
27801
27641
  let identifierCount;
27802
27642
  let parsingContext;
27803
27643
  let notParenthesizedArrow;
@@ -27950,7 +27790,6 @@ ${lanes.join("\n")}
27950
27790
  parseDiagnostics = [];
27951
27791
  parsingContext = 0;
27952
27792
  identifiers = /* @__PURE__ */ new Map();
27953
- privateIdentifiers = /* @__PURE__ */ new Map();
27954
27793
  identifierCount = 0;
27955
27794
  nodeCount = 0;
27956
27795
  sourceFlags = 0;
@@ -28691,16 +28530,9 @@ ${lanes.join("\n")}
28691
28530
  parseExpected(23 /* CloseBracketToken */);
28692
28531
  return finishNode(factory2.createComputedPropertyName(expression), pos);
28693
28532
  }
28694
- function internPrivateIdentifier(text) {
28695
- let privateIdentifier = privateIdentifiers.get(text);
28696
- if (privateIdentifier === void 0) {
28697
- privateIdentifiers.set(text, privateIdentifier = text);
28698
- }
28699
- return privateIdentifier;
28700
- }
28701
28533
  function parsePrivateIdentifier() {
28702
28534
  const pos = getNodePos();
28703
- const node = factory2.createPrivateIdentifier(internPrivateIdentifier(scanner2.getTokenValue()));
28535
+ const node = factory2.createPrivateIdentifier(internIdentifier(scanner2.getTokenValue()));
28704
28536
  nextToken();
28705
28537
  return finishNode(node, pos);
28706
28538
  }
@@ -36411,9 +36243,9 @@ ${lanes.join("\n")}
36411
36243
  case "object":
36412
36244
  return {};
36413
36245
  default:
36414
- const iterResult = option.type.keys().next();
36415
- if (!iterResult.done)
36416
- return iterResult.value;
36246
+ const value = firstOrUndefinedIterator(option.type.keys());
36247
+ if (value !== void 0)
36248
+ return value;
36417
36249
  return Debug.fail("Expected 'option.type' to have entries.");
36418
36250
  }
36419
36251
  }
@@ -36427,14 +36259,14 @@ ${lanes.join("\n")}
36427
36259
  type: "boolean",
36428
36260
  defaultValueDescription: false
36429
36261
  };
36430
- jsxOptionMap = new Map(getEntries({
36262
+ jsxOptionMap = new Map(Object.entries({
36431
36263
  "preserve": 1 /* Preserve */,
36432
36264
  "react-native": 3 /* ReactNative */,
36433
36265
  "react": 2 /* React */,
36434
36266
  "react-jsx": 4 /* ReactJSX */,
36435
36267
  "react-jsxdev": 5 /* ReactJSXDev */
36436
36268
  }));
36437
- inverseJsxOptionMap = new Map(arrayFrom(mapIterator(jsxOptionMap.entries(), ([key, value]) => ["" + value, key])));
36269
+ inverseJsxOptionMap = new Map(mapIterator(jsxOptionMap.entries(), ([key, value]) => ["" + value, key]));
36438
36270
  libEntries = [
36439
36271
  // JavaScript only
36440
36272
  ["es5", "lib.es5.d.ts"],
@@ -36515,7 +36347,7 @@ ${lanes.join("\n")}
36515
36347
  optionsForWatch = [
36516
36348
  {
36517
36349
  name: "watchFile",
36518
- type: new Map(getEntries({
36350
+ type: new Map(Object.entries({
36519
36351
  fixedpollinginterval: 0 /* FixedPollingInterval */,
36520
36352
  prioritypollinginterval: 1 /* PriorityPollingInterval */,
36521
36353
  dynamicprioritypolling: 2 /* DynamicPriorityPolling */,
@@ -36529,7 +36361,7 @@ ${lanes.join("\n")}
36529
36361
  },
36530
36362
  {
36531
36363
  name: "watchDirectory",
36532
- type: new Map(getEntries({
36364
+ type: new Map(Object.entries({
36533
36365
  usefsevents: 0 /* UseFsEvents */,
36534
36366
  fixedpollinginterval: 1 /* FixedPollingInterval */,
36535
36367
  dynamicprioritypolling: 2 /* DynamicPriorityPolling */,
@@ -36541,7 +36373,7 @@ ${lanes.join("\n")}
36541
36373
  },
36542
36374
  {
36543
36375
  name: "fallbackPolling",
36544
- type: new Map(getEntries({
36376
+ type: new Map(Object.entries({
36545
36377
  fixedinterval: 0 /* FixedInterval */,
36546
36378
  priorityinterval: 1 /* PriorityInterval */,
36547
36379
  dynamicpriority: 2 /* DynamicPriority */,
@@ -36772,7 +36604,7 @@ ${lanes.join("\n")}
36772
36604
  targetOptionDeclaration = {
36773
36605
  name: "target",
36774
36606
  shortName: "t",
36775
- type: new Map(getEntries({
36607
+ type: new Map(Object.entries({
36776
36608
  es3: 0 /* ES3 */,
36777
36609
  es5: 1 /* ES5 */,
36778
36610
  es6: 2 /* ES2015 */,
@@ -36799,7 +36631,7 @@ ${lanes.join("\n")}
36799
36631
  moduleOptionDeclaration = {
36800
36632
  name: "module",
36801
36633
  shortName: "m",
36802
- type: new Map(getEntries({
36634
+ type: new Map(Object.entries({
36803
36635
  none: 0 /* None */,
36804
36636
  commonjs: 1 /* CommonJS */,
36805
36637
  amd: 2 /* AMD */,
@@ -37022,7 +36854,7 @@ ${lanes.join("\n")}
37022
36854
  },
37023
36855
  {
37024
36856
  name: "importsNotUsedAsValues",
37025
- type: new Map(getEntries({
36857
+ type: new Map(Object.entries({
37026
36858
  remove: 0 /* Remove */,
37027
36859
  preserve: 1 /* Preserve */,
37028
36860
  error: 2 /* Error */
@@ -37224,7 +37056,7 @@ ${lanes.join("\n")}
37224
37056
  // Module Resolution
37225
37057
  {
37226
37058
  name: "moduleResolution",
37227
- type: new Map(getEntries({
37059
+ type: new Map(Object.entries({
37228
37060
  // N.B. The first entry specifies the value shown in `tsc --init`
37229
37061
  node10: 2 /* Node10 */,
37230
37062
  node: 2 /* Node10 */,
@@ -37516,7 +37348,7 @@ ${lanes.join("\n")}
37516
37348
  },
37517
37349
  {
37518
37350
  name: "newLine",
37519
- type: new Map(getEntries({
37351
+ type: new Map(Object.entries({
37520
37352
  crlf: 0 /* CarriageReturnLineFeed */,
37521
37353
  lf: 1 /* LineFeed */
37522
37354
  })),
@@ -37760,7 +37592,7 @@ ${lanes.join("\n")}
37760
37592
  },
37761
37593
  {
37762
37594
  name: "moduleDetection",
37763
- type: new Map(getEntries({
37595
+ type: new Map(Object.entries({
37764
37596
  auto: 2 /* Auto */,
37765
37597
  legacy: 1 /* Legacy */,
37766
37598
  force: 3 /* Force */
@@ -44260,9 +44092,9 @@ ${lanes.join("\n")}
44260
44092
  const requireSymbol = createSymbol(4 /* Property */, "require");
44261
44093
  let apparentArgumentCount;
44262
44094
  const checker = {
44263
- getNodeCount: () => sum(host.getSourceFiles(), "nodeCount"),
44264
- getIdentifierCount: () => sum(host.getSourceFiles(), "identifierCount"),
44265
- getSymbolCount: () => sum(host.getSourceFiles(), "symbolCount") + symbolCount,
44095
+ getNodeCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.nodeCount, 0),
44096
+ getIdentifierCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.identifierCount, 0),
44097
+ getSymbolCount: () => reduceLeft(host.getSourceFiles(), (n, s) => n + s.symbolCount, symbolCount),
44266
44098
  getTypeCount: () => typeCount,
44267
44099
  getInstantiationCount: () => totalInstantiationCount,
44268
44100
  getRelationCacheSizes: () => ({
@@ -55135,7 +54967,7 @@ ${lanes.join("\n")}
55135
54967
  }
55136
54968
  }
55137
54969
  }
55138
- if (!singleProp || isUnion && (propSet || checkFlags & 48 /* Partial */) && checkFlags & (1024 /* ContainsPrivate */ | 512 /* ContainsProtected */) && !(propSet && getCommonDeclarationsOfSymbols(arrayFrom(propSet.values())))) {
54970
+ if (!singleProp || isUnion && (propSet || checkFlags & 48 /* Partial */) && checkFlags & (1024 /* ContainsPrivate */ | 512 /* ContainsProtected */) && !(propSet && getCommonDeclarationsOfSymbols(propSet.values()))) {
55139
54971
  return void 0;
55140
54972
  }
55141
54973
  if (!propSet && !(checkFlags & 16 /* ReadPartial */) && !indexTypes) {
@@ -57226,7 +57058,7 @@ ${lanes.join("\n")}
57226
57058
  if (!aliasSymbol && namedUnions.length === 1 && reducedTypes.length === 0) {
57227
57059
  return namedUnions[0];
57228
57060
  }
57229
- const namedTypesCount = reduceLeft(namedUnions, (sum2, union) => sum2 + union.types.length, 0);
57061
+ const namedTypesCount = reduceLeft(namedUnions, (sum, union) => sum + union.types.length, 0);
57230
57062
  if (namedTypesCount + reducedTypes.length === typeSet.length) {
57231
57063
  for (const t of namedUnions) {
57232
57064
  insertType(reducedTypes, t);
@@ -58269,14 +58101,11 @@ ${lanes.join("\n")}
58269
58101
  const constraint = getConstraintOfTypeParameter(p);
58270
58102
  return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
58271
58103
  }
58272
- function isTypicalNondistributiveConditional(root) {
58273
- return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType);
58104
+ function isSimpleTupleType(node) {
58105
+ return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
58274
58106
  }
58275
- function isSingletonTupleType(node) {
58276
- 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));
58277
- }
58278
- function unwrapNondistributiveConditionalTuple(root, type) {
58279
- return isTypicalNondistributiveConditional(root) && isTupleType(type) ? getTypeArguments(type)[0] : type;
58107
+ function isDeferredType(type, checkTuples) {
58108
+ return isGenericType(type) || checkTuples && isTupleType(type) && some(getTypeArguments(type), isGenericType);
58280
58109
  }
58281
58110
  function getConditionalType(root, mapper, aliasSymbol, aliasTypeArguments) {
58282
58111
  let result;
@@ -58288,10 +58117,10 @@ ${lanes.join("\n")}
58288
58117
  result = errorType;
58289
58118
  break;
58290
58119
  }
58291
- const isUnwrapped = isTypicalNondistributiveConditional(root);
58292
- const checkType = instantiateType(unwrapNondistributiveConditionalTuple(root, getActualTypeVariable(root.checkType)), mapper);
58293
- const checkTypeInstantiable = isGenericType(checkType);
58294
- const extendsType = instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), mapper);
58120
+ const checkTuples = isSimpleTupleType(root.node.checkType) && isSimpleTupleType(root.node.extendsType) && length(root.node.checkType.elements) === length(root.node.extendsType.elements);
58121
+ const checkType = instantiateType(getActualTypeVariable(root.checkType), mapper);
58122
+ const checkTypeDeferred = isDeferredType(checkType, checkTuples);
58123
+ const extendsType = instantiateType(root.extendsType, mapper);
58295
58124
  if (checkType === wildcardType || extendsType === wildcardType) {
58296
58125
  return wildcardType;
58297
58126
  }
@@ -58313,16 +58142,16 @@ ${lanes.join("\n")}
58313
58142
  }
58314
58143
  }
58315
58144
  }
58316
- if (!checkTypeInstantiable) {
58145
+ if (!checkTypeDeferred) {
58317
58146
  inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
58318
58147
  }
58319
58148
  const innerMapper = combineTypeMappers(freshMapper, context.mapper);
58320
58149
  combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
58321
58150
  }
58322
- const inferredExtendsType = combinedMapper ? instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), combinedMapper) : extendsType;
58323
- if (!checkTypeInstantiable && !isGenericType(inferredExtendsType)) {
58324
- if (!(inferredExtendsType.flags & 3 /* AnyOrUnknown */) && (checkType.flags & 1 /* Any */ && !isUnwrapped || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) {
58325
- if (checkType.flags & 1 /* Any */ && !isUnwrapped) {
58151
+ const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
58152
+ if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
58153
+ if (!(inferredExtendsType.flags & 3 /* AnyOrUnknown */) && (checkType.flags & 1 /* Any */ || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) {
58154
+ if (checkType.flags & 1 /* Any */) {
58326
58155
  (extraTypes || (extraTypes = [])).push(instantiateType(getTypeFromTypeNode(root.node.trueType), combinedMapper || mapper));
58327
58156
  }
58328
58157
  const falseType2 = getTypeFromTypeNode(root.node.falseType);
@@ -59688,8 +59517,8 @@ ${lanes.join("\n")}
59688
59517
  }
59689
59518
  function elaborateElementwise(iterator, source, target, relation, containingMessageChain, errorOutputContainer) {
59690
59519
  let reportedError = false;
59691
- for (let status = iterator.next(); !status.done; status = iterator.next()) {
59692
- const { errorNode: prop, innerExpression: next, nameType, errorMessage } = status.value;
59520
+ for (const value of iterator) {
59521
+ const { errorNode: prop, innerExpression: next, nameType, errorMessage } = value;
59693
59522
  let targetPropType = getBestMatchIndexedAccessTypeOrUndefined(source, target, nameType);
59694
59523
  if (!targetPropType || targetPropType.flags & 8388608 /* IndexedAccess */)
59695
59524
  continue;
@@ -59765,6 +59594,74 @@ ${lanes.join("\n")}
59765
59594
  }
59766
59595
  return reportedError;
59767
59596
  }
59597
+ function elaborateIterableOrArrayLikeTargetElementwise(iterator, source, target, relation, containingMessageChain, errorOutputContainer) {
59598
+ const tupleOrArrayLikeTargetParts = filterType(target, isArrayOrTupleLikeType);
59599
+ const nonTupleOrArrayLikeTargetParts = filterType(target, (t) => !isArrayOrTupleLikeType(t));
59600
+ const iterationType = nonTupleOrArrayLikeTargetParts !== neverType ? getIterationTypeOfIterable(
59601
+ 13 /* ForOf */,
59602
+ 0 /* Yield */,
59603
+ nonTupleOrArrayLikeTargetParts,
59604
+ /*errorNode*/
59605
+ void 0
59606
+ ) : void 0;
59607
+ let reportedError = false;
59608
+ for (let status = iterator.next(); !status.done; status = iterator.next()) {
59609
+ const { errorNode: prop, innerExpression: next, nameType, errorMessage } = status.value;
59610
+ let targetPropType = iterationType;
59611
+ const targetIndexedPropType = tupleOrArrayLikeTargetParts !== neverType ? getBestMatchIndexedAccessTypeOrUndefined(source, tupleOrArrayLikeTargetParts, nameType) : void 0;
59612
+ if (targetIndexedPropType && !(targetIndexedPropType.flags & 8388608 /* IndexedAccess */)) {
59613
+ targetPropType = iterationType ? getUnionType([iterationType, targetIndexedPropType]) : targetIndexedPropType;
59614
+ }
59615
+ if (!targetPropType)
59616
+ continue;
59617
+ let sourcePropType = getIndexedAccessTypeOrUndefined(source, nameType);
59618
+ if (!sourcePropType)
59619
+ continue;
59620
+ const propName = getPropertyNameFromIndex(
59621
+ nameType,
59622
+ /*accessNode*/
59623
+ void 0
59624
+ );
59625
+ if (!checkTypeRelatedTo(
59626
+ sourcePropType,
59627
+ targetPropType,
59628
+ relation,
59629
+ /*errorNode*/
59630
+ void 0
59631
+ )) {
59632
+ const elaborated = next && elaborateError(
59633
+ next,
59634
+ sourcePropType,
59635
+ targetPropType,
59636
+ relation,
59637
+ /*headMessage*/
59638
+ void 0,
59639
+ containingMessageChain,
59640
+ errorOutputContainer
59641
+ );
59642
+ reportedError = true;
59643
+ if (!elaborated) {
59644
+ const resultObj = errorOutputContainer || {};
59645
+ const specificSource = next ? checkExpressionForMutableLocationWithContextualType(next, sourcePropType) : sourcePropType;
59646
+ if (exactOptionalPropertyTypes && isExactOptionalPropertyMismatch(specificSource, targetPropType)) {
59647
+ 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));
59648
+ diagnostics.add(diag2);
59649
+ resultObj.errors = [diag2];
59650
+ } else {
59651
+ const targetIsOptional = !!(propName && (getPropertyOfType(tupleOrArrayLikeTargetParts, propName) || unknownSymbol).flags & 16777216 /* Optional */);
59652
+ const sourceIsOptional = !!(propName && (getPropertyOfType(source, propName) || unknownSymbol).flags & 16777216 /* Optional */);
59653
+ targetPropType = removeMissingType(targetPropType, targetIsOptional);
59654
+ sourcePropType = removeMissingType(sourcePropType, targetIsOptional && sourceIsOptional);
59655
+ const result = checkTypeRelatedTo(specificSource, targetPropType, relation, prop, errorMessage, containingMessageChain, resultObj);
59656
+ if (result && specificSource !== sourcePropType) {
59657
+ checkTypeRelatedTo(sourcePropType, targetPropType, relation, prop, errorMessage, containingMessageChain, resultObj);
59658
+ }
59659
+ }
59660
+ }
59661
+ }
59662
+ }
59663
+ return reportedError;
59664
+ }
59768
59665
  function* generateJsxAttributes(node) {
59769
59666
  if (!length(node.properties))
59770
59667
  return;
@@ -59820,13 +59717,25 @@ ${lanes.join("\n")}
59820
59717
  return result;
59821
59718
  }
59822
59719
  const moreThanOneRealChildren = length(validChildren) > 1;
59823
- const arrayLikeTargetParts = filterType(childrenTargetType, isArrayOrTupleLikeType);
59824
- const nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isArrayOrTupleLikeType(t));
59720
+ let arrayLikeTargetParts;
59721
+ let nonArrayLikeTargetParts;
59722
+ const iterableType = getGlobalIterableType(
59723
+ /*reportErrors*/
59724
+ false
59725
+ );
59726
+ if (iterableType !== emptyGenericType) {
59727
+ const anyIterable = createIterableType(anyType);
59728
+ arrayLikeTargetParts = filterType(childrenTargetType, (t) => isTypeAssignableTo(t, anyIterable));
59729
+ nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isTypeAssignableTo(t, anyIterable));
59730
+ } else {
59731
+ arrayLikeTargetParts = filterType(childrenTargetType, isArrayOrTupleLikeType);
59732
+ nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isArrayOrTupleLikeType(t));
59733
+ }
59825
59734
  if (moreThanOneRealChildren) {
59826
59735
  if (arrayLikeTargetParts !== neverType) {
59827
59736
  const realSource = createTupleType(checkJsxChildren(containingElement, 0 /* Normal */));
59828
59737
  const children = generateJsxChildren(containingElement, getInvalidTextualChildDiagnostic);
59829
- result = elaborateElementwise(children, realSource, arrayLikeTargetParts, relation, containingMessageChain, errorOutputContainer) || result;
59738
+ result = elaborateIterableOrArrayLikeTargetElementwise(children, realSource, arrayLikeTargetParts, relation, containingMessageChain, errorOutputContainer) || result;
59830
59739
  } else if (!isTypeRelatedTo(getIndexedAccessType(source, childrenNameType), childrenTargetType, relation)) {
59831
59740
  result = true;
59832
59741
  const diag2 = error(
@@ -63707,9 +63616,7 @@ ${lanes.join("\n")}
63707
63616
  }
63708
63617
  }
63709
63618
  function getUnmatchedProperty(source, target, requireOptionalProperties, matchDiscriminantProperties) {
63710
- const result = getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties).next();
63711
- if (!result.done)
63712
- return result.value;
63619
+ return firstOrUndefinedIterator(getUnmatchedProperties(source, target, requireOptionalProperties, matchDiscriminantProperties));
63713
63620
  }
63714
63621
  function tupleTypesDefinitelyUnrelated(source, target) {
63715
63622
  return !(target.target.combinedFlags & 8 /* Variadic */) && target.target.minLength > source.target.minLength || !target.target.hasRestElement && (source.target.hasRestElement || target.target.fixedLength < source.target.fixedLength);
@@ -64490,7 +64397,8 @@ ${lanes.join("\n")}
64490
64397
  if (signature) {
64491
64398
  const inferredCovariantType = inference.candidates ? getCovariantInference(inference, signature) : void 0;
64492
64399
  if (inference.contraCandidates) {
64493
- inferredType = inferredCovariantType && !(inferredCovariantType.flags & 131072 /* Never */) && some(inference.contraCandidates, (t) => isTypeSubtypeOf(inferredCovariantType, t)) ? inferredCovariantType : getContravariantInference(inference);
64400
+ 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)));
64401
+ inferredType = useCovariantType ? inferredCovariantType : getContravariantInference(inference);
64494
64402
  } else if (inferredCovariantType) {
64495
64403
  inferredType = inferredCovariantType;
64496
64404
  } else if (context.flags & 1 /* NoDefault */) {
@@ -83320,7 +83228,7 @@ ${lanes.join("\n")}
83320
83228
  TypeFacts3[TypeFacts3["AndFactsMask"] = 134209471] = "AndFactsMask";
83321
83229
  return TypeFacts3;
83322
83230
  })(TypeFacts || {});
83323
- typeofNEFacts = new Map(getEntries({
83231
+ typeofNEFacts = new Map(Object.entries({
83324
83232
  string: 256 /* TypeofNEString */,
83325
83233
  number: 512 /* TypeofNENumber */,
83326
83234
  bigint: 1024 /* TypeofNEBigInt */,
@@ -83351,7 +83259,7 @@ ${lanes.join("\n")}
83351
83259
  return SignatureCheckMode3;
83352
83260
  })(SignatureCheckMode || {});
83353
83261
  isNotOverloadAndNotAccessor = and(isNotOverload, isNotAccessor);
83354
- intrinsicTypeKinds = new Map(getEntries({
83262
+ intrinsicTypeKinds = new Map(Object.entries({
83355
83263
  Uppercase: 0 /* Uppercase */,
83356
83264
  Lowercase: 1 /* Lowercase */,
83357
83265
  Capitalize: 2 /* Capitalize */,
@@ -84888,8 +84796,7 @@ ${lanes.join("\n")}
84888
84796
  const sourceIndexToNewSourceIndexMap = [];
84889
84797
  let nameIndexToNewNameIndexMap;
84890
84798
  const mappingIterator = decodeMappings(map2.mappings);
84891
- for (let iterResult = mappingIterator.next(); !iterResult.done; iterResult = mappingIterator.next()) {
84892
- const raw = iterResult.value;
84799
+ for (const raw of mappingIterator) {
84893
84800
  if (end && (raw.generatedLine > end.line || raw.generatedLine === end.line && raw.generatedCharacter > end.character)) {
84894
84801
  break;
84895
84802
  }
@@ -85121,6 +85028,9 @@ ${lanes.join("\n")}
85121
85028
  return { value: captureMapping(hasSource, hasName), done };
85122
85029
  }
85123
85030
  return stopIterating();
85031
+ },
85032
+ [Symbol.iterator]() {
85033
+ return this;
85124
85034
  }
85125
85035
  };
85126
85036
  function captureMapping(hasSource, hasName) {
@@ -88015,10 +87925,10 @@ ${lanes.join("\n")}
88015
87925
  const shouldTransformInitializersUsingDefine = useDefineForClassFields && languageVersion < 9 /* ES2022 */;
88016
87926
  const shouldTransformInitializers = shouldTransformInitializersUsingSet || shouldTransformInitializersUsingDefine;
88017
87927
  const shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ES2022 */;
88018
- const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */;
87928
+ const shouldTransformAutoAccessors = languageVersion < 99 /* ESNext */ ? -1 /* True */ : !useDefineForClassFields ? 3 /* Maybe */ : 0 /* False */;
88019
87929
  const shouldTransformThisInStaticInitializers = languageVersion < 9 /* ES2022 */;
88020
87930
  const shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ES2015 */;
88021
- const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors;
87931
+ const shouldTransformAnything = shouldTransformInitializers || shouldTransformPrivateElementsOrClassStaticBlocks || shouldTransformAutoAccessors === -1 /* True */;
88022
87932
  const previousOnSubstituteNode = context.onSubstituteNode;
88023
87933
  context.onSubstituteNode = onSubstituteNode;
88024
87934
  const previousOnEmitNode = context.onEmitNode;
@@ -88048,7 +87958,7 @@ ${lanes.join("\n")}
88048
87958
  }
88049
87959
  switch (node.kind) {
88050
87960
  case 127 /* AccessorKeyword */:
88051
- return shouldTransformAutoAccessors ? void 0 : node;
87961
+ return shouldTransformAutoAccessorsInCurrentClass() ? void 0 : node;
88052
87962
  case 260 /* ClassDeclaration */:
88053
87963
  return visitClassDeclaration(node);
88054
87964
  case 228 /* ClassExpression */:
@@ -88323,7 +88233,7 @@ ${lanes.join("\n")}
88323
88233
  Debug.assert(info, "Undeclared private name for property declaration.");
88324
88234
  return info.isValid ? void 0 : node;
88325
88235
  }
88326
- if (shouldTransformInitializersUsingSet && !isStatic(node)) {
88236
+ if (shouldTransformInitializersUsingSet && !isStatic(node) && currentClassLexicalEnvironment && currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */) {
88327
88237
  return factory2.updatePropertyDeclaration(
88328
88238
  node,
88329
88239
  visitNodes2(node.modifiers, visitor, isModifierLike),
@@ -88339,7 +88249,7 @@ ${lanes.join("\n")}
88339
88249
  return visitEachChild(node, visitor, context);
88340
88250
  }
88341
88251
  function transformPublicFieldInitializer(node) {
88342
- if (shouldTransformInitializers) {
88252
+ if (shouldTransformInitializers && !isAutoAccessorPropertyDeclaration(node)) {
88343
88253
  const expr = getPropertyNameExpressionIfNeeded(
88344
88254
  node.name,
88345
88255
  /*shouldHoist*/
@@ -88370,8 +88280,11 @@ ${lanes.join("\n")}
88370
88280
  Debug.assert(!hasDecorators(node), "Decorators should already have been transformed and elided.");
88371
88281
  return isPrivateIdentifierClassElementDeclaration(node) ? transformPrivateFieldInitializer(node) : transformPublicFieldInitializer(node);
88372
88282
  }
88283
+ function shouldTransformAutoAccessorsInCurrentClass() {
88284
+ return shouldTransformAutoAccessors === -1 /* True */ || shouldTransformAutoAccessors === 3 /* Maybe */ && !!currentClassLexicalEnvironment && !!(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */);
88285
+ }
88373
88286
  function visitPropertyDeclaration(node) {
88374
- if (shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(node)) {
88287
+ if (shouldTransformAutoAccessorsInCurrentClass() && isAutoAccessorPropertyDeclaration(node)) {
88375
88288
  return transformAutoAccessor(node);
88376
88289
  }
88377
88290
  return transformFieldInitializer(node);
@@ -88772,26 +88685,44 @@ ${lanes.join("\n")}
88772
88685
  if (isClassDeclaration(original) && classOrConstructorParameterIsDecorated(original)) {
88773
88686
  facts |= 1 /* ClassWasDecorated */;
88774
88687
  }
88688
+ let containsPublicInstanceFields = false;
88689
+ let containsInitializedPublicInstanceFields = false;
88690
+ let containsInstancePrivateElements = false;
88691
+ let containsInstanceAutoAccessors = false;
88775
88692
  for (const member of node.members) {
88776
- if (!isStatic(member))
88777
- continue;
88778
- if (member.name && (isPrivateIdentifier(member.name) || isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) {
88779
- facts |= 2 /* NeedsClassConstructorReference */;
88780
- }
88781
- if (isPropertyDeclaration(member) || isClassStaticBlockDeclaration(member)) {
88782
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* ContainsLexicalThis */) {
88783
- facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */;
88784
- if (!(facts & 1 /* ClassWasDecorated */)) {
88785
- facts |= 2 /* NeedsClassConstructorReference */;
88786
- }
88693
+ if (isStatic(member)) {
88694
+ if (member.name && (isPrivateIdentifier(member.name) || isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) {
88695
+ facts |= 2 /* NeedsClassConstructorReference */;
88787
88696
  }
88788
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
88789
- if (!(facts & 1 /* ClassWasDecorated */)) {
88790
- facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
88697
+ if (isPropertyDeclaration(member) || isClassStaticBlockDeclaration(member)) {
88698
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* ContainsLexicalThis */) {
88699
+ facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */;
88700
+ if (!(facts & 1 /* ClassWasDecorated */)) {
88701
+ facts |= 2 /* NeedsClassConstructorReference */;
88702
+ }
88703
+ }
88704
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* ContainsLexicalSuper */) {
88705
+ if (!(facts & 1 /* ClassWasDecorated */)) {
88706
+ facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */;
88707
+ }
88791
88708
  }
88792
88709
  }
88710
+ } else if (!hasAbstractModifier(getOriginalNode(member))) {
88711
+ if (isAutoAccessorPropertyDeclaration(member)) {
88712
+ containsInstanceAutoAccessors = true;
88713
+ containsInstancePrivateElements || (containsInstancePrivateElements = isPrivateIdentifierClassElementDeclaration(member));
88714
+ } else if (isPrivateIdentifierClassElementDeclaration(member)) {
88715
+ containsInstancePrivateElements = true;
88716
+ } else if (isPropertyDeclaration(member)) {
88717
+ containsPublicInstanceFields = true;
88718
+ containsInitializedPublicInstanceFields || (containsInitializedPublicInstanceFields = !!member.initializer);
88719
+ }
88793
88720
  }
88794
88721
  }
88722
+ const willHoistInitializersToConstructor = shouldTransformInitializersUsingDefine && containsPublicInstanceFields || shouldTransformInitializersUsingSet && containsInitializedPublicInstanceFields || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstancePrivateElements || shouldTransformPrivateElementsOrClassStaticBlocks && containsInstanceAutoAccessors && shouldTransformAutoAccessors === -1 /* True */;
88723
+ if (willHoistInitializersToConstructor) {
88724
+ facts |= 16 /* WillHoistInitializersToConstructor */;
88725
+ }
88795
88726
  return facts;
88796
88727
  }
88797
88728
  function visitExpressionWithTypeArgumentsInHeritageClause(node) {
@@ -89067,15 +88998,9 @@ ${lanes.join("\n")}
89067
88998
  )
89068
88999
  );
89069
89000
  }
89070
- function isClassElementThatRequiresConstructorStatement(member) {
89071
- if (isStatic(member) || hasAbstractModifier(getOriginalNode(member))) {
89072
- return false;
89073
- }
89074
- return shouldTransformInitializersUsingDefine && isPropertyDeclaration(member) || shouldTransformInitializersUsingSet && isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && isPrivateIdentifierClassElementDeclaration(member) || shouldTransformPrivateElementsOrClassStaticBlocks && shouldTransformAutoAccessors && isAutoAccessorPropertyDeclaration(member);
89075
- }
89076
89001
  function transformConstructor(constructor, container) {
89077
89002
  constructor = visitNode(constructor, visitor, isConstructorDeclaration);
89078
- if (!some(container.members, isClassElementThatRequiresConstructorStatement)) {
89003
+ if (!currentClassLexicalEnvironment || !(currentClassLexicalEnvironment.facts & 16 /* WillHoistInitializersToConstructor */)) {
89079
89004
  return constructor;
89080
89005
  }
89081
89006
  const extendsClauseElement = getEffectiveBaseTypeNode(container);
@@ -93205,7 +93130,7 @@ ${lanes.join("\n")}
93205
93130
  void 0,
93206
93131
  factory2.createVariableDeclarationList([
93207
93132
  factory2.createVariableDeclaration(
93208
- factory2.createObjectBindingPattern(map(arrayFrom(importSpecifiersMap.values()), (s) => factory2.createBindingElement(
93133
+ factory2.createObjectBindingPattern(arrayFrom(importSpecifiersMap.values(), (s) => factory2.createBindingElement(
93209
93134
  /*dotdotdot*/
93210
93135
  void 0,
93211
93136
  s.propertyName,
@@ -93621,7 +93546,7 @@ ${lanes.join("\n")}
93621
93546
  "src/compiler/transformers/jsx.ts"() {
93622
93547
  "use strict";
93623
93548
  init_ts2();
93624
- entities = new Map(getEntries({
93549
+ entities = new Map(Object.entries({
93625
93550
  quot: 34,
93626
93551
  amp: 38,
93627
93552
  apos: 39,
@@ -103281,7 +103206,7 @@ ${lanes.join("\n")}
103281
103206
  updated.exportedModulesFromDeclarationEmit = exportedModulesFromDeclarationEmit;
103282
103207
  return updated;
103283
103208
  function getLibReferences() {
103284
- return map(arrayFrom(libs2.keys()), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
103209
+ return arrayFrom(libs2.keys(), (lib) => ({ fileName: lib, pos: -1, end: -1 }));
103285
103210
  }
103286
103211
  function getFileReferencesForUsedTypeReferences() {
103287
103212
  return necessaryTypeReferences ? mapDefined(arrayFrom(necessaryTypeReferences.keys()), getFileReferenceForSpecifierModeTuple) : [];
@@ -105823,6 +105748,8 @@ ${lanes.join("\n")}
105823
105748
  let tempFlags;
105824
105749
  let reservedNamesStack;
105825
105750
  let reservedNames;
105751
+ let reservedPrivateNamesStack;
105752
+ let reservedPrivateNames;
105826
105753
  let preserveSourceNewlines = printerOptions.preserveSourceNewlines;
105827
105754
  let nextListElementPos;
105828
105755
  let writer;
@@ -106116,6 +106043,9 @@ ${lanes.join("\n")}
106116
106043
  tempFlagsStack = [];
106117
106044
  tempFlags = TempFlags.Auto;
106118
106045
  reservedNamesStack = [];
106046
+ reservedNames = void 0;
106047
+ reservedPrivateNamesStack = [];
106048
+ reservedPrivateNames = void 0;
106119
106049
  currentSourceFile = void 0;
106120
106050
  currentLineMap = void 0;
106121
106051
  detachedCommentsInfo = void 0;
@@ -106859,9 +106789,13 @@ ${lanes.join("\n")}
106859
106789
  }
106860
106790
  }
106861
106791
  function emitComputedPropertyName(node) {
106792
+ const savedPrivateNameTempFlags = privateNameTempFlags;
106793
+ const savedReservedMemberNames = reservedPrivateNames;
106794
+ popPrivateNameGenerationScope();
106862
106795
  writePunctuation("[");
106863
106796
  emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfComputedPropertyName);
106864
106797
  writePunctuation("]");
106798
+ pushPrivateNameGenerationScope(savedPrivateNameTempFlags, savedReservedMemberNames);
106865
106799
  }
106866
106800
  function emitTypeParameter(node) {
106867
106801
  emitModifiers(node, node.modifiers);
@@ -107041,10 +106975,16 @@ ${lanes.join("\n")}
107041
106975
  emitTypeArguments(node, node.typeArguments);
107042
106976
  }
107043
106977
  function emitTypeLiteral(node) {
106978
+ pushPrivateNameGenerationScope(
106979
+ TempFlags.Auto,
106980
+ /*newReservedMemberNames*/
106981
+ void 0
106982
+ );
107044
106983
  writePunctuation("{");
107045
106984
  const flags = getEmitFlags(node) & 1 /* SingleLine */ ? 768 /* SingleLineTypeLiteralMembers */ : 32897 /* MultiLineTypeLiteralMembers */;
107046
106985
  emitList(node, node.members, flags | 524288 /* NoSpaceIfEmpty */);
107047
106986
  writePunctuation("}");
106987
+ popPrivateNameGenerationScope();
107048
106988
  }
107049
106989
  function emitArrayType(node) {
107050
106990
  emit(node.elementType, parenthesizer.parenthesizeNonArrayTypeOfPostfixType);
@@ -107224,6 +107164,11 @@ ${lanes.join("\n")}
107224
107164
  emitExpressionList(node, elements, 8914 /* ArrayLiteralExpressionElements */ | preferNewLine, parenthesizer.parenthesizeExpressionForDisallowedComma);
107225
107165
  }
107226
107166
  function emitObjectLiteralExpression(node) {
107167
+ pushPrivateNameGenerationScope(
107168
+ TempFlags.Auto,
107169
+ /*newReservedMemberNames*/
107170
+ void 0
107171
+ );
107227
107172
  forEach(node.properties, generateMemberNames);
107228
107173
  const indentedFlag = getEmitFlags(node) & 131072 /* Indented */;
107229
107174
  if (indentedFlag) {
@@ -107235,6 +107180,7 @@ ${lanes.join("\n")}
107235
107180
  if (indentedFlag) {
107236
107181
  decreaseIndent();
107237
107182
  }
107183
+ popPrivateNameGenerationScope();
107238
107184
  }
107239
107185
  function emitPropertyAccessExpression(node) {
107240
107186
  emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess);
@@ -107974,6 +107920,11 @@ ${lanes.join("\n")}
107974
107920
  emitClassDeclarationOrExpression(node);
107975
107921
  }
107976
107922
  function emitClassDeclarationOrExpression(node) {
107923
+ pushPrivateNameGenerationScope(
107924
+ TempFlags.Auto,
107925
+ /*newReservedMemberNames*/
107926
+ void 0
107927
+ );
107977
107928
  forEach(node.members, generateMemberNames);
107978
107929
  emitDecoratorsAndModifiers(node, node.modifiers);
107979
107930
  writeKeyword("class");
@@ -107994,8 +107945,14 @@ ${lanes.join("\n")}
107994
107945
  if (indentedFlag) {
107995
107946
  decreaseIndent();
107996
107947
  }
107948
+ popPrivateNameGenerationScope();
107997
107949
  }
107998
107950
  function emitInterfaceDeclaration(node) {
107951
+ pushPrivateNameGenerationScope(
107952
+ TempFlags.Auto,
107953
+ /*newReservedMemberNames*/
107954
+ void 0
107955
+ );
107999
107956
  emitModifiers(node, node.modifiers);
108000
107957
  writeKeyword("interface");
108001
107958
  writeSpace();
@@ -108006,6 +107963,7 @@ ${lanes.join("\n")}
108006
107963
  writePunctuation("{");
108007
107964
  emitList(node, node.members, 129 /* InterfaceMembers */);
108008
107965
  writePunctuation("}");
107966
+ popPrivateNameGenerationScope();
108009
107967
  }
108010
107968
  function emitTypeAliasDeclaration(node) {
108011
107969
  emitModifiers(node, node.modifiers);
@@ -109383,8 +109341,6 @@ ${lanes.join("\n")}
109383
109341
  }
109384
109342
  tempFlagsStack.push(tempFlags);
109385
109343
  tempFlags = TempFlags.Auto;
109386
- privateNameTempFlagsStack.push(privateNameTempFlags);
109387
- privateNameTempFlags = TempFlags.Auto;
109388
109344
  formattedNameTempFlagsStack.push(formattedNameTempFlags);
109389
109345
  formattedNameTempFlags = void 0;
109390
109346
  reservedNamesStack.push(reservedNames);
@@ -109394,7 +109350,6 @@ ${lanes.join("\n")}
109394
109350
  return;
109395
109351
  }
109396
109352
  tempFlags = tempFlagsStack.pop();
109397
- privateNameTempFlags = privateNameTempFlagsStack.pop();
109398
109353
  formattedNameTempFlags = formattedNameTempFlagsStack.pop();
109399
109354
  reservedNames = reservedNamesStack.pop();
109400
109355
  }
@@ -109404,6 +109359,22 @@ ${lanes.join("\n")}
109404
109359
  }
109405
109360
  reservedNames.add(name);
109406
109361
  }
109362
+ function pushPrivateNameGenerationScope(newPrivateNameTempFlags, newReservedMemberNames) {
109363
+ privateNameTempFlagsStack.push(privateNameTempFlags);
109364
+ privateNameTempFlags = newPrivateNameTempFlags;
109365
+ reservedPrivateNamesStack.push(reservedNames);
109366
+ reservedPrivateNames = newReservedMemberNames;
109367
+ }
109368
+ function popPrivateNameGenerationScope() {
109369
+ privateNameTempFlags = privateNameTempFlagsStack.pop();
109370
+ reservedPrivateNames = reservedPrivateNamesStack.pop();
109371
+ }
109372
+ function reservePrivateNameInNestedScopes(name) {
109373
+ if (!reservedPrivateNames || reservedPrivateNames === lastOrUndefined(reservedPrivateNamesStack)) {
109374
+ reservedPrivateNames = /* @__PURE__ */ new Set();
109375
+ }
109376
+ reservedPrivateNames.add(name);
109377
+ }
109407
109378
  function generateNames(node) {
109408
109379
  if (!node)
109409
109380
  return;
@@ -109525,10 +109496,13 @@ ${lanes.join("\n")}
109525
109496
  const nodeId = getNodeId(node);
109526
109497
  return nodeIdToGeneratedName[nodeId] || (nodeIdToGeneratedName[nodeId] = generateNameForNode(node, privateName, flags != null ? flags : 0 /* None */, formatGeneratedNamePart(prefix, generateName), formatGeneratedNamePart(suffix)));
109527
109498
  }
109528
- function isUniqueName(name) {
109529
- return isFileLevelUniqueName2(name) && !generatedNames.has(name) && !(reservedNames && reservedNames.has(name));
109499
+ function isUniqueName(name, privateName) {
109500
+ return isFileLevelUniqueName2(name, privateName) && !isReservedName(name, privateName) && !generatedNames.has(name);
109501
+ }
109502
+ function isReservedName(name, privateName) {
109503
+ return privateName ? !!(reservedPrivateNames == null ? void 0 : reservedPrivateNames.has(name)) : !!(reservedNames == null ? void 0 : reservedNames.has(name));
109530
109504
  }
109531
- function isFileLevelUniqueName2(name) {
109505
+ function isFileLevelUniqueName2(name, _isPrivate) {
109532
109506
  return currentSourceFile ? isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) : true;
109533
109507
  }
109534
109508
  function isUniqueLocalName(name, container) {
@@ -109576,9 +109550,11 @@ ${lanes.join("\n")}
109576
109550
  if (flags && !(tempFlags2 & flags)) {
109577
109551
  const name = flags === TempFlags._i ? "_i" : "_n";
109578
109552
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
109579
- if (isUniqueName(fullName)) {
109553
+ if (isUniqueName(fullName, privateName)) {
109580
109554
  tempFlags2 |= flags;
109581
- if (reservedInNestedScopes) {
109555
+ if (privateName) {
109556
+ reservePrivateNameInNestedScopes(fullName);
109557
+ } else if (reservedInNestedScopes) {
109582
109558
  reserveNameInNestedScopes(fullName);
109583
109559
  }
109584
109560
  setTempFlags(key, tempFlags2);
@@ -109591,8 +109567,10 @@ ${lanes.join("\n")}
109591
109567
  if (count !== 8 && count !== 13) {
109592
109568
  const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
109593
109569
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
109594
- if (isUniqueName(fullName)) {
109595
- if (reservedInNestedScopes) {
109570
+ if (isUniqueName(fullName, privateName)) {
109571
+ if (privateName) {
109572
+ reservePrivateNameInNestedScopes(fullName);
109573
+ } else if (reservedInNestedScopes) {
109596
109574
  reserveNameInNestedScopes(fullName);
109597
109575
  }
109598
109576
  setTempFlags(key, tempFlags2);
@@ -109610,8 +109588,10 @@ ${lanes.join("\n")}
109610
109588
  }
109611
109589
  if (optimistic) {
109612
109590
  const fullName = formatGeneratedName(privateName, prefix, baseName, suffix);
109613
- if (checkFn(fullName)) {
109614
- if (scoped) {
109591
+ if (checkFn(fullName, privateName)) {
109592
+ if (privateName) {
109593
+ reservePrivateNameInNestedScopes(fullName);
109594
+ } else if (scoped) {
109615
109595
  reserveNameInNestedScopes(fullName);
109616
109596
  } else {
109617
109597
  generatedNames.add(fullName);
@@ -109625,8 +109605,10 @@ ${lanes.join("\n")}
109625
109605
  let i = 1;
109626
109606
  while (true) {
109627
109607
  const fullName = formatGeneratedName(privateName, prefix, baseName + i, suffix);
109628
- if (checkFn(fullName)) {
109629
- if (scoped) {
109608
+ if (checkFn(fullName, privateName)) {
109609
+ if (privateName) {
109610
+ reservePrivateNameInNestedScopes(fullName);
109611
+ } else if (scoped) {
109630
109612
  reserveNameInNestedScopes(fullName);
109631
109613
  } else {
109632
109614
  generatedNames.add(fullName);
@@ -115006,9 +114988,8 @@ ${lanes.join("\n")}
115006
114988
  seenMap.add(path);
115007
114989
  const references = state.referencedMap.getValues(path);
115008
114990
  if (references) {
115009
- const iterator = references.keys();
115010
- for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) {
115011
- queue.push(iterResult.value);
114991
+ for (const key of references.keys()) {
114992
+ queue.push(key);
115012
114993
  }
115013
114994
  }
115014
114995
  }
@@ -117114,7 +117095,7 @@ ${lanes.join("\n")}
117114
117095
  return (_a2 = resolution.failedLookupLocations) == null ? void 0 : _a2.some((location) => isInvalidatedFailedLookup(resolutionHost.toPath(location)));
117115
117096
  }
117116
117097
  function isInvalidatedFailedLookup(locationPath) {
117117
- 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);
117098
+ 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);
117118
117099
  }
117119
117100
  function canInvalidatedFailedLookupResolutionWithAffectingLocation(resolution) {
117120
117101
  var _a2;
@@ -118411,7 +118392,7 @@ ${lanes.join("\n")}
118411
118392
  if (wildcardDirectories) {
118412
118393
  updateWatchingWildcardDirectories(
118413
118394
  watchedWildcardDirectories || (watchedWildcardDirectories = /* @__PURE__ */ new Map()),
118414
- new Map(getEntries(wildcardDirectories)),
118395
+ new Map(Object.entries(wildcardDirectories)),
118415
118396
  watchWildcardDirectory
118416
118397
  );
118417
118398
  } else if (watchedWildcardDirectories) {
@@ -118505,7 +118486,7 @@ ${lanes.join("\n")}
118505
118486
  if ((_b = commandLine.parsedCommandLine) == null ? void 0 : _b.wildcardDirectories) {
118506
118487
  updateWatchingWildcardDirectories(
118507
118488
  commandLine.watchedDirectories || (commandLine.watchedDirectories = /* @__PURE__ */ new Map()),
118508
- new Map(getEntries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
118489
+ new Map(Object.entries((_c = commandLine.parsedCommandLine) == null ? void 0 : _c.wildcardDirectories)),
118509
118490
  (directory, flags) => {
118510
118491
  var _a3;
118511
118492
  return watchDirectory(
@@ -120233,7 +120214,7 @@ ${lanes.join("\n")}
120233
120214
  return;
120234
120215
  updateWatchingWildcardDirectories(
120235
120216
  getOrCreateValueMapFromConfigFileMap(state.allWatchedWildcardDirectories, resolvedPath),
120236
- new Map(getEntries(parsed.wildcardDirectories)),
120217
+ new Map(Object.entries(parsed.wildcardDirectories)),
120237
120218
  (dir, flags) => state.watchDirectory(
120238
120219
  dir,
120239
120220
  (fileOrDirectory) => {
@@ -120654,12 +120635,13 @@ ${lanes.join("\n")}
120654
120635
  }
120655
120636
  function loadSafeList(host, safeListPath) {
120656
120637
  const result = readConfigFile(safeListPath, (path) => host.readFile(path));
120657
- return new Map(getEntries(result.config));
120638
+ return new Map(Object.entries(result.config));
120658
120639
  }
120659
120640
  function loadTypesMap(host, typesMapPath) {
120641
+ var _a2;
120660
120642
  const result = readConfigFile(typesMapPath, (path) => host.readFile(path));
120661
- if (result.config) {
120662
- return new Map(getEntries(result.config.simpleMap));
120643
+ if ((_a2 = result.config) == null ? void 0 : _a2.simpleMap) {
120644
+ return new Map(Object.entries(result.config.simpleMap));
120663
120645
  }
120664
120646
  return void 0;
120665
120647
  }
@@ -125351,7 +125333,7 @@ ${lanes.join("\n")}
125351
125333
  return void 0;
125352
125334
  const map2 = arrayToMultiMap(referenceEntries.map(ts_FindAllReferences_exports.toHighlightSpan), (e) => e.fileName, (e) => e.span);
125353
125335
  const getCanonicalFileName = createGetCanonicalFileName(program.useCaseSensitiveFileNames());
125354
- return mapDefined(arrayFrom(map2.entries()), ([fileName, highlightSpans]) => {
125336
+ return arrayFrom(mapDefinedIterator(map2.entries(), ([fileName, highlightSpans]) => {
125355
125337
  if (!sourceFilesSet.has(fileName)) {
125356
125338
  if (!program.redirectTargetsMap.has(toPath(fileName, program.getCurrentDirectory(), getCanonicalFileName))) {
125357
125339
  return void 0;
@@ -125362,7 +125344,7 @@ ${lanes.join("\n")}
125362
125344
  Debug.assert(sourceFilesSet.has(fileName));
125363
125345
  }
125364
125346
  return { fileName, highlightSpans };
125365
- });
125347
+ }));
125366
125348
  }
125367
125349
  function getSyntacticDocumentHighlights(node, sourceFile) {
125368
125350
  const highlightSpans = getHighlightSpans(node, sourceFile);
@@ -127278,7 +127260,7 @@ ${lanes.join("\n")}
127278
127260
  sourceFile.moduleName = transpileOptions.moduleName;
127279
127261
  }
127280
127262
  if (transpileOptions.renamedDependencies) {
127281
- sourceFile.renamedDependencies = new Map(getEntries(transpileOptions.renamedDependencies));
127263
+ sourceFile.renamedDependencies = new Map(Object.entries(transpileOptions.renamedDependencies));
127282
127264
  }
127283
127265
  let outputText;
127284
127266
  let sourceMapText;
@@ -129021,7 +129003,7 @@ ${lanes.join("\n")}
129021
129003
  const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName);
129022
129004
  return ts_OutliningElementsCollector_exports.collectElements(sourceFile, cancellationToken);
129023
129005
  }
129024
- const braceMatching = new Map(getEntries({
129006
+ const braceMatching = new Map(Object.entries({
129025
129007
  [18 /* OpenBraceToken */]: 19 /* CloseBraceToken */,
129026
129008
  [20 /* OpenParenToken */]: 21 /* CloseParenToken */,
129027
129009
  [22 /* OpenBracketToken */]: 23 /* CloseBracketToken */,
@@ -136088,8 +136070,10 @@ ${lanes.join("\n")}
136088
136070
  const isValidTypeOnlyUseSite = isValidTypeOnlyAliasUseSite(symbolToken);
136089
136071
  const useRequire = shouldUseRequire(sourceFile, program);
136090
136072
  const exportInfo = getExportInfos(symbolName2, isJSXTagName(symbolToken), getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences);
136091
- const fixes = arrayFrom(flatMapIterator(exportInfo.entries(), ([_, exportInfos]) => getImportFixes(exportInfos, { symbolName: symbolName2, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes));
136092
- return fixes.map((fix) => ({ fix, symbolName: symbolName2, errorIdentifierText: symbolToken.text, isJsxNamespaceFix: symbolName2 !== symbolToken.text }));
136073
+ return arrayFrom(
136074
+ flatMapIterator(exportInfo.values(), (exportInfos) => getImportFixes(exportInfos, { symbolName: symbolName2, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes),
136075
+ (fix) => ({ fix, symbolName: symbolName2, errorIdentifierText: symbolToken.text, isJsxNamespaceFix: symbolName2 !== symbolToken.text })
136076
+ );
136093
136077
  });
136094
136078
  }
136095
136079
  function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName2, program) {
@@ -138003,7 +137987,7 @@ ${lanes.join("\n")}
138003
137987
  return factory.createFalse();
138004
137988
  }
138005
137989
  if (type.flags & 1056 /* EnumLike */) {
138006
- const enumMember = type.symbol.exports ? firstOrUndefined(arrayFrom(type.symbol.exports.values())) : type.symbol;
137990
+ const enumMember = type.symbol.exports ? firstOrUndefinedIterator(type.symbol.exports.values()) : type.symbol;
138007
137991
  const name = checker.symbolToExpression(
138008
137992
  type.symbol.parent ? type.symbol.parent : type.symbol,
138009
137993
  111551 /* Value */,
@@ -141250,8 +141234,8 @@ ${lanes.join("\n")}
141250
141234
  usedNames.add(createTypeParameterName(i));
141251
141235
  }
141252
141236
  }
141253
- return map(
141254
- arrayFrom(usedNames.values()),
141237
+ return arrayFrom(
141238
+ usedNames.values(),
141255
141239
  (usedName) => {
141256
141240
  var _a2;
141257
141241
  return factory.createTypeParameterDeclaration(
@@ -152135,7 +152119,7 @@ ${lanes.join("\n")}
152135
152119
  }
152136
152120
  changes.replaceNode(sourceFile, toConvert, shouldUseDefault ? factory.createIdentifier(namespaceImportName) : factory.createNamespaceImport(factory.createIdentifier(namespaceImportName)));
152137
152121
  if (neededNamedImports.size) {
152138
- const newNamedImports = arrayFrom(neededNamedImports.values()).map((element) => factory.createImportSpecifier(element.isTypeOnly, element.propertyName && factory.createIdentifier(element.propertyName.text), factory.createIdentifier(element.name.text)));
152122
+ const newNamedImports = arrayFrom(neededNamedImports.values(), (element) => factory.createImportSpecifier(element.isTypeOnly, element.propertyName && factory.createIdentifier(element.propertyName.text), factory.createIdentifier(element.name.text)));
152139
152123
  changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(
152140
152124
  importDecl,
152141
152125
  /*defaultImportName*/
@@ -155570,7 +155554,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
155570
155554
  }
155571
155555
  callArguments.push(factory.createIdentifier(name));
155572
155556
  });
155573
- const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values()).map((type) => ({ type, declaration: getFirstDeclaration(type) }));
155557
+ const typeParametersAndDeclarations = arrayFrom(typeParameterUsages.values(), (type) => ({ type, declaration: getFirstDeclaration(type) }));
155574
155558
  const sortedTypeParametersAndDeclarations = typeParametersAndDeclarations.sort(compareTypesByDeclarationOrder);
155575
155559
  const typeParameters = sortedTypeParametersAndDeclarations.length === 0 ? void 0 : sortedTypeParametersAndDeclarations.map((t) => t.declaration);
155576
155560
  const callTypeArguments = typeParameters !== void 0 ? typeParameters.map((decl) => factory.createTypeReferenceNode(
@@ -164215,7 +164199,6 @@ ${options.prefix}` : "\n" : options.prefix
164215
164199
  arrayIsEqualTo: () => arrayIsEqualTo,
164216
164200
  arrayIsHomogeneous: () => arrayIsHomogeneous,
164217
164201
  arrayIsSorted: () => arrayIsSorted,
164218
- arrayIterator: () => arrayIterator,
164219
164202
  arrayOf: () => arrayOf,
164220
164203
  arrayReverseIterator: () => arrayReverseIterator,
164221
164204
  arrayToMap: () => arrayToMap,
@@ -164317,7 +164300,6 @@ ${options.prefix}` : "\n" : options.prefix
164317
164300
  compilerOptionsAffectSemanticDiagnostics: () => compilerOptionsAffectSemanticDiagnostics,
164318
164301
  compilerOptionsDidYouMeanDiagnostics: () => compilerOptionsDidYouMeanDiagnostics,
164319
164302
  compilerOptionsIndicateEsModules: () => compilerOptionsIndicateEsModules,
164320
- compose: () => compose,
164321
164303
  computeCommonSourceDirectoryOfFilenames: () => computeCommonSourceDirectoryOfFilenames,
164322
164304
  computeLineAndCharacterOfPosition: () => computeLineAndCharacterOfPosition,
164323
164305
  computeLineOfPosition: () => computeLineOfPosition,
@@ -164718,7 +164700,6 @@ ${options.prefix}` : "\n" : options.prefix
164718
164700
  emitUsingBuildInfo: () => emitUsingBuildInfo,
164719
164701
  emptyArray: () => emptyArray,
164720
164702
  emptyFileSystemEntries: () => emptyFileSystemEntries,
164721
- emptyIterator: () => emptyIterator,
164722
164703
  emptyMap: () => emptyMap,
164723
164704
  emptyOptions: () => emptyOptions,
164724
164705
  emptySet: () => emptySet,
@@ -164753,7 +164734,6 @@ ${options.prefix}` : "\n" : options.prefix
164753
164734
  fileExtensionIs: () => fileExtensionIs,
164754
164735
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
164755
164736
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
164756
- fill: () => fill,
164757
164737
  filter: () => filter,
164758
164738
  filterMutate: () => filterMutate,
164759
164739
  filterSemanticDiagnostics: () => filterSemanticDiagnostics,
@@ -164782,8 +164762,10 @@ ${options.prefix}` : "\n" : options.prefix
164782
164762
  first: () => first,
164783
164763
  firstDefined: () => firstDefined,
164784
164764
  firstDefinedIterator: () => firstDefinedIterator,
164765
+ firstIterator: () => firstIterator,
164785
164766
  firstOrOnly: () => firstOrOnly,
164786
164767
  firstOrUndefined: () => firstOrUndefined,
164768
+ firstOrUndefinedIterator: () => firstOrUndefinedIterator,
164787
164769
  fixupCompilerOptions: () => fixupCompilerOptions,
164788
164770
  flatMap: () => flatMap,
164789
164771
  flatMapIterator: () => flatMapIterator,
@@ -164933,7 +164915,6 @@ ${options.prefix}` : "\n" : options.prefix
164933
164915
  getEncodedSyntacticClassifications: () => getEncodedSyntacticClassifications,
164934
164916
  getEndLinePosition: () => getEndLinePosition,
164935
164917
  getEntityNameFromTypeNode: () => getEntityNameFromTypeNode,
164936
- getEntries: () => getEntries,
164937
164918
  getEntrypointsFromPackageJsonInfo: () => getEntrypointsFromPackageJsonInfo,
164938
164919
  getErrorCountForSummary: () => getErrorCountForSummary,
164939
164920
  getErrorSpanForNode: () => getErrorSpanForNode,
@@ -164981,7 +164962,6 @@ ${options.prefix}` : "\n" : options.prefix
164981
164962
  getInitializerOfBindingOrAssignmentElement: () => getInitializerOfBindingOrAssignmentElement,
164982
164963
  getInterfaceBaseTypeNodes: () => getInterfaceBaseTypeNodes,
164983
164964
  getInvokedExpression: () => getInvokedExpression,
164984
- getIterator: () => getIterator,
164985
164965
  getJSDocAugmentsTag: () => getJSDocAugmentsTag,
164986
164966
  getJSDocClassTag: () => getJSDocClassTag,
164987
164967
  getJSDocCommentRanges: () => getJSDocCommentRanges,
@@ -165994,7 +165974,6 @@ ${options.prefix}` : "\n" : options.prefix
165994
165974
  mapDefined: () => mapDefined,
165995
165975
  mapDefinedEntries: () => mapDefinedEntries,
165996
165976
  mapDefinedIterator: () => mapDefinedIterator,
165997
- mapDefinedValues: () => mapDefinedValues,
165998
165977
  mapEntries: () => mapEntries,
165999
165978
  mapIterator: () => mapIterator,
166000
165979
  mapOneOrMany: () => mapOneOrMany,
@@ -166277,7 +166256,6 @@ ${options.prefix}` : "\n" : options.prefix
166277
166256
  stringContainsAt: () => stringContainsAt,
166278
166257
  stringToToken: () => stringToToken,
166279
166258
  stripQuotes: () => stripQuotes,
166280
- sum: () => sum,
166281
166259
  supportedDeclarationExtensions: () => supportedDeclarationExtensions,
166282
166260
  supportedJSExtensions: () => supportedJSExtensions,
166283
166261
  supportedJSExtensionsFlat: () => supportedJSExtensionsFlat,
@@ -166572,8 +166550,6 @@ ${options.prefix}` : "\n" : options.prefix
166572
166550
  writeCommentRange: () => writeCommentRange,
166573
166551
  writeFile: () => writeFile,
166574
166552
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
166575
- zipToIterator: () => zipToIterator,
166576
- zipToMap: () => zipToMap,
166577
166553
  zipToModeAwareCache: () => zipToModeAwareCache,
166578
166554
  zipWith: () => zipWith
166579
166555
  });