typescript 5.6.0-dev.20240805 → 5.6.0-dev.20240807

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.
@@ -20,14 +20,22 @@ and limitations under the License.
20
20
  /// Worker Async Iterable APIs
21
21
  /////////////////////////////
22
22
 
23
+ interface FileSystemDirectoryHandleAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {
24
+ [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<T>;
25
+ }
26
+
23
27
  interface FileSystemDirectoryHandle {
24
- [Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>;
25
- entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>;
26
- keys(): BuiltinAsyncIterator<string, BuiltinIteratorReturn>;
27
- values(): BuiltinAsyncIterator<FileSystemHandle, BuiltinIteratorReturn>;
28
+ [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>;
29
+ entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>;
30
+ keys(): FileSystemDirectoryHandleAsyncIterator<string>;
31
+ values(): FileSystemDirectoryHandleAsyncIterator<FileSystemHandle>;
32
+ }
33
+
34
+ interface ReadableStreamAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {
35
+ [Symbol.asyncIterator](): ReadableStreamAsyncIterator<T>;
28
36
  }
29
37
 
30
38
  interface ReadableStream<R = any> {
31
- [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator<R, BuiltinIteratorReturn>;
32
- values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator<R, BuiltinIteratorReturn>;
39
+ [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;
40
+ values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;
33
41
  }
@@ -26,24 +26,24 @@ interface AbortSignal {
26
26
  }
27
27
 
28
28
  interface CSSNumericArray {
29
- [Symbol.iterator](): BuiltinIterator<CSSNumericValue, BuiltinIteratorReturn>;
30
- entries(): BuiltinIterator<[number, CSSNumericValue], BuiltinIteratorReturn>;
31
- keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
32
- values(): BuiltinIterator<CSSNumericValue, BuiltinIteratorReturn>;
29
+ [Symbol.iterator](): ArrayIterator<CSSNumericValue>;
30
+ entries(): ArrayIterator<[number, CSSNumericValue]>;
31
+ keys(): ArrayIterator<number>;
32
+ values(): ArrayIterator<CSSNumericValue>;
33
33
  }
34
34
 
35
35
  interface CSSTransformValue {
36
- [Symbol.iterator](): BuiltinIterator<CSSTransformComponent, BuiltinIteratorReturn>;
37
- entries(): BuiltinIterator<[number, CSSTransformComponent], BuiltinIteratorReturn>;
38
- keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
39
- values(): BuiltinIterator<CSSTransformComponent, BuiltinIteratorReturn>;
36
+ [Symbol.iterator](): ArrayIterator<CSSTransformComponent>;
37
+ entries(): ArrayIterator<[number, CSSTransformComponent]>;
38
+ keys(): ArrayIterator<number>;
39
+ values(): ArrayIterator<CSSTransformComponent>;
40
40
  }
41
41
 
42
42
  interface CSSUnparsedValue {
43
- [Symbol.iterator](): BuiltinIterator<CSSUnparsedSegment, BuiltinIteratorReturn>;
44
- entries(): BuiltinIterator<[number, CSSUnparsedSegment], BuiltinIteratorReturn>;
45
- keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
46
- values(): BuiltinIterator<CSSUnparsedSegment, BuiltinIteratorReturn>;
43
+ [Symbol.iterator](): ArrayIterator<CSSUnparsedSegment>;
44
+ entries(): ArrayIterator<[number, CSSUnparsedSegment]>;
45
+ keys(): ArrayIterator<number>;
46
+ values(): ArrayIterator<CSSUnparsedSegment>;
47
47
  }
48
48
 
49
49
  interface Cache {
@@ -62,34 +62,42 @@ interface CanvasPathDrawingStyles {
62
62
  }
63
63
 
64
64
  interface DOMStringList {
65
- [Symbol.iterator](): BuiltinIterator<string, BuiltinIteratorReturn>;
65
+ [Symbol.iterator](): ArrayIterator<string>;
66
66
  }
67
67
 
68
68
  interface FileList {
69
- [Symbol.iterator](): BuiltinIterator<File, BuiltinIteratorReturn>;
69
+ [Symbol.iterator](): ArrayIterator<File>;
70
70
  }
71
71
 
72
72
  interface FontFaceSet extends Set<FontFace> {
73
73
  }
74
74
 
75
+ interface FormDataIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
76
+ [Symbol.iterator](): FormDataIterator<T>;
77
+ }
78
+
75
79
  interface FormData {
76
- [Symbol.iterator](): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>;
80
+ [Symbol.iterator](): FormDataIterator<[string, FormDataEntryValue]>;
77
81
  /** Returns an array of key, value pairs for every entry in the list. */
78
- entries(): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>;
82
+ entries(): FormDataIterator<[string, FormDataEntryValue]>;
79
83
  /** Returns a list of keys in the list. */
80
- keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
84
+ keys(): FormDataIterator<string>;
81
85
  /** Returns a list of values in the list. */
82
- values(): BuiltinIterator<FormDataEntryValue, BuiltinIteratorReturn>;
86
+ values(): FormDataIterator<FormDataEntryValue>;
87
+ }
88
+
89
+ interface HeadersIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
90
+ [Symbol.iterator](): HeadersIterator<T>;
83
91
  }
84
92
 
85
93
  interface Headers {
86
- [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
94
+ [Symbol.iterator](): HeadersIterator<[string, string]>;
87
95
  /** Returns an iterator allowing to go through all key/value pairs contained in this object. */
88
- entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
96
+ entries(): HeadersIterator<[string, string]>;
89
97
  /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */
90
- keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
98
+ keys(): HeadersIterator<string>;
91
99
  /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */
92
- values(): BuiltinIterator<string, BuiltinIteratorReturn>;
100
+ values(): HeadersIterator<string>;
93
101
  }
94
102
 
95
103
  interface IDBDatabase {
@@ -117,11 +125,15 @@ interface MessageEvent<T = any> {
117
125
  initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;
118
126
  }
119
127
 
128
+ interface StylePropertyMapReadOnlyIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
129
+ [Symbol.iterator](): StylePropertyMapReadOnlyIterator<T>;
130
+ }
131
+
120
132
  interface StylePropertyMapReadOnly {
121
- [Symbol.iterator](): BuiltinIterator<[string, Iterable<CSSStyleValue>], BuiltinIteratorReturn>;
122
- entries(): BuiltinIterator<[string, Iterable<CSSStyleValue>], BuiltinIteratorReturn>;
123
- keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
124
- values(): BuiltinIterator<Iterable<CSSStyleValue>, BuiltinIteratorReturn>;
133
+ [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[string, Iterable<CSSStyleValue>]>;
134
+ entries(): StylePropertyMapReadOnlyIterator<[string, Iterable<CSSStyleValue>]>;
135
+ keys(): StylePropertyMapReadOnlyIterator<string>;
136
+ values(): StylePropertyMapReadOnlyIterator<Iterable<CSSStyleValue>>;
125
137
  }
126
138
 
127
139
  interface SubtleCrypto {
@@ -139,14 +151,18 @@ interface SubtleCrypto {
139
151
  unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
140
152
  }
141
153
 
154
+ interface URLSearchParamsIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
155
+ [Symbol.iterator](): URLSearchParamsIterator<T>;
156
+ }
157
+
142
158
  interface URLSearchParams {
143
- [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
159
+ [Symbol.iterator](): URLSearchParamsIterator<[string, string]>;
144
160
  /** Returns an array of key, value pairs for every entry in the search params. */
145
- entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
161
+ entries(): URLSearchParamsIterator<[string, string]>;
146
162
  /** Returns a list of keys in the search params. */
147
- keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
163
+ keys(): URLSearchParamsIterator<string>;
148
164
  /** Returns a list of values in the search params. */
149
- values(): BuiltinIterator<string, BuiltinIteratorReturn>;
165
+ values(): URLSearchParamsIterator<string>;
150
166
  }
151
167
 
152
168
  interface WEBGL_draw_buffers {
package/lib/tsc.js CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.6";
21
- var version = `${versionMajorMinor}.0-dev.20240805`;
21
+ var version = `${versionMajorMinor}.0-dev.20240807`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -15313,7 +15313,7 @@ function skipTypeParentheses(node) {
15313
15313
  return node;
15314
15314
  }
15315
15315
  function skipParentheses(node, excludeJSDocTypeAssertions) {
15316
- const flags = excludeJSDocTypeAssertions ? 1 /* Parentheses */ | 16 /* ExcludeJSDocTypeAssertion */ : 1 /* Parentheses */;
15316
+ const flags = excludeJSDocTypeAssertions ? 1 /* Parentheses */ | -2147483648 /* ExcludeJSDocTypeAssertion */ : 1 /* Parentheses */;
15317
15317
  return skipOuterExpressions(node, flags);
15318
15318
  }
15319
15319
  function isDeleteTarget(node) {
@@ -23897,6 +23897,8 @@ function createNodeFactory(flags, baseFactory2) {
23897
23897
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
23898
23898
  case 235 /* NonNullExpression */:
23899
23899
  return updateNonNullExpression(outerExpression, expression);
23900
+ case 233 /* ExpressionWithTypeArguments */:
23901
+ return updateExpressionWithTypeArguments(outerExpression, expression, outerExpression.typeArguments);
23900
23902
  case 354 /* PartiallyEmittedExpression */:
23901
23903
  return updatePartiallyEmittedExpression(outerExpression, expression);
23902
23904
  }
@@ -23904,7 +23906,7 @@ function createNodeFactory(flags, baseFactory2) {
23904
23906
  function isIgnorableParen(node) {
23905
23907
  return isParenthesizedExpression(node) && nodeIsSynthesized(node) && nodeIsSynthesized(getSourceMapRange(node)) && nodeIsSynthesized(getCommentRange(node)) && !some(getSyntheticLeadingComments(node)) && !some(getSyntheticTrailingComments(node));
23906
23908
  }
23907
- function restoreOuterExpressions(outerExpression, innerExpression, kinds = 15 /* All */) {
23909
+ function restoreOuterExpressions(outerExpression, innerExpression, kinds = 31 /* All */) {
23908
23910
  if (outerExpression && isOuterExpression(outerExpression, kinds) && !isIgnorableParen(outerExpression)) {
23909
23911
  return updateOuterExpression(
23910
23912
  outerExpression,
@@ -23950,7 +23952,7 @@ function createNodeFactory(flags, baseFactory2) {
23950
23952
  }
23951
23953
  }
23952
23954
  function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers = false) {
23953
- const callee = skipOuterExpressions(expression, 15 /* All */);
23955
+ const callee = skipOuterExpressions(expression, 31 /* All */);
23954
23956
  let thisArg;
23955
23957
  let target;
23956
23958
  if (isSuperProperty(callee)) {
@@ -26781,18 +26783,19 @@ function getJSDocTypeAssertionType(node) {
26781
26783
  Debug.assertIsDefined(type);
26782
26784
  return type;
26783
26785
  }
26784
- function isOuterExpression(node, kinds = 15 /* All */) {
26786
+ function isOuterExpression(node, kinds = 31 /* All */) {
26785
26787
  switch (node.kind) {
26786
26788
  case 217 /* ParenthesizedExpression */:
26787
- if (kinds & 16 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) {
26789
+ if (kinds & -2147483648 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) {
26788
26790
  return false;
26789
26791
  }
26790
26792
  return (kinds & 1 /* Parentheses */) !== 0;
26791
26793
  case 216 /* TypeAssertionExpression */:
26792
26794
  case 234 /* AsExpression */:
26793
- case 233 /* ExpressionWithTypeArguments */:
26794
26795
  case 238 /* SatisfiesExpression */:
26795
26796
  return (kinds & 2 /* TypeAssertions */) !== 0;
26797
+ case 233 /* ExpressionWithTypeArguments */:
26798
+ return (kinds & 16 /* ExpressionsWithTypeArguments */) !== 0;
26796
26799
  case 235 /* NonNullExpression */:
26797
26800
  return (kinds & 4 /* NonNullAssertions */) !== 0;
26798
26801
  case 354 /* PartiallyEmittedExpression */:
@@ -26800,13 +26803,13 @@ function isOuterExpression(node, kinds = 15 /* All */) {
26800
26803
  }
26801
26804
  return false;
26802
26805
  }
26803
- function skipOuterExpressions(node, kinds = 15 /* All */) {
26806
+ function skipOuterExpressions(node, kinds = 31 /* All */) {
26804
26807
  while (isOuterExpression(node, kinds)) {
26805
26808
  node = node.expression;
26806
26809
  }
26807
26810
  return node;
26808
26811
  }
26809
- function walkUpOuterExpressions(node, kinds = 15 /* All */) {
26812
+ function walkUpOuterExpressions(node, kinds = 31 /* All */) {
26810
26813
  let parent = node.parent;
26811
26814
  while (isOuterExpression(parent, kinds)) {
26812
26815
  parent = parent.parent;
@@ -46161,8 +46164,9 @@ function createTypeChecker(host) {
46161
46164
  getGlobalIteratorType: getGlobalAsyncIteratorType,
46162
46165
  getGlobalIterableType: getGlobalAsyncIterableType,
46163
46166
  getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType,
46164
- getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType,
46167
+ getGlobalIteratorObjectType: getGlobalAsyncIteratorObjectType,
46165
46168
  getGlobalGeneratorType: getGlobalAsyncGeneratorType,
46169
+ getGlobalBuiltinIteratorTypes: getGlobalBuiltinAsyncIteratorTypes,
46166
46170
  resolveIterationType: (type, errorNode) => getAwaitedType(type, errorNode, Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member),
46167
46171
  mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method,
46168
46172
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,
@@ -46175,8 +46179,9 @@ function createTypeChecker(host) {
46175
46179
  getGlobalIteratorType,
46176
46180
  getGlobalIterableType,
46177
46181
  getGlobalIterableIteratorType,
46178
- getGlobalBuiltinIteratorType,
46182
+ getGlobalIteratorObjectType,
46179
46183
  getGlobalGeneratorType,
46184
+ getGlobalBuiltinIteratorTypes,
46180
46185
  resolveIterationType: (type, _errorNode) => type,
46181
46186
  mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method,
46182
46187
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_iterator_must_be_a_method,
@@ -46214,14 +46219,16 @@ function createTypeChecker(host) {
46214
46219
  var deferredGlobalIterableType;
46215
46220
  var deferredGlobalIteratorType;
46216
46221
  var deferredGlobalIterableIteratorType;
46217
- var deferredGlobalBuiltinIteratorType;
46222
+ var deferredGlobalIteratorObjectType;
46218
46223
  var deferredGlobalGeneratorType;
46219
46224
  var deferredGlobalIteratorYieldResultType;
46220
46225
  var deferredGlobalIteratorReturnResultType;
46221
46226
  var deferredGlobalAsyncIterableType;
46222
46227
  var deferredGlobalAsyncIteratorType;
46223
46228
  var deferredGlobalAsyncIterableIteratorType;
46224
- var deferredGlobalBuiltinAsyncIteratorType;
46229
+ var deferredGlobalBuiltinIteratorTypes;
46230
+ var deferredGlobalBuiltinAsyncIteratorTypes;
46231
+ var deferredGlobalAsyncIteratorObjectType;
46225
46232
  var deferredGlobalAsyncGeneratorType;
46226
46233
  var deferredGlobalTemplateStringsArrayType;
46227
46234
  var deferredGlobalImportMetaType;
@@ -55304,6 +55311,17 @@ function createTypeChecker(host) {
55304
55311
  function getNonMissingTypeOfSymbol(symbol) {
55305
55312
  return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* Optional */));
55306
55313
  }
55314
+ function isReferenceToSomeType(type, targets) {
55315
+ if (type === void 0 || (getObjectFlags(type) & 4 /* Reference */) === 0) {
55316
+ return false;
55317
+ }
55318
+ for (const target of targets) {
55319
+ if (type.target === target) {
55320
+ return true;
55321
+ }
55322
+ }
55323
+ return false;
55324
+ }
55307
55325
  function isReferenceToType(type, target) {
55308
55326
  return type !== void 0 && target !== void 0 && (getObjectFlags(type) & 4 /* Reference */) !== 0 && type.target === target;
55309
55327
  }
@@ -55726,7 +55744,7 @@ function createTypeChecker(host) {
55726
55744
  links.instantiations.set(getTypeListId(typeParameters), type);
55727
55745
  }
55728
55746
  if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") {
55729
- type = strictBuiltinIteratorReturn ? undefinedType : anyType;
55747
+ type = getBuiltinIteratorReturnType();
55730
55748
  }
55731
55749
  } else {
55732
55750
  type = errorType;
@@ -58903,6 +58921,18 @@ function createTypeChecker(host) {
58903
58921
  const symbol = getGlobalTypeSymbol(name, reportErrors2);
58904
58922
  return symbol || reportErrors2 ? getTypeOfGlobalSymbol(symbol, arity) : void 0;
58905
58923
  }
58924
+ function getGlobalBuiltinTypes(typeNames, arity) {
58925
+ let types;
58926
+ for (const typeName of typeNames) {
58927
+ types = append(types, getGlobalType(
58928
+ typeName,
58929
+ arity,
58930
+ /*reportErrors*/
58931
+ false
58932
+ ));
58933
+ }
58934
+ return types ?? emptyArray;
58935
+ }
58906
58936
  function getGlobalTypedPropertyDescriptorType() {
58907
58937
  return deferredGlobalTypedPropertyDescriptorType || (deferredGlobalTypedPropertyDescriptorType = getGlobalType(
58908
58938
  "TypedPropertyDescriptor",
@@ -59025,9 +59055,12 @@ function createTypeChecker(host) {
59025
59055
  reportErrors2
59026
59056
  )) || emptyGenericType;
59027
59057
  }
59028
- function getGlobalBuiltinAsyncIteratorType(reportErrors2) {
59029
- return deferredGlobalBuiltinAsyncIteratorType || (deferredGlobalBuiltinAsyncIteratorType = getGlobalType(
59030
- "BuiltinAsyncIterator",
59058
+ function getGlobalBuiltinAsyncIteratorTypes() {
59059
+ return deferredGlobalBuiltinAsyncIteratorTypes ?? (deferredGlobalBuiltinAsyncIteratorTypes = getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"], 1));
59060
+ }
59061
+ function getGlobalAsyncIteratorObjectType(reportErrors2) {
59062
+ return deferredGlobalAsyncIteratorObjectType || (deferredGlobalAsyncIteratorObjectType = getGlobalType(
59063
+ "AsyncIteratorObject",
59031
59064
  /*arity*/
59032
59065
  3,
59033
59066
  reportErrors2
@@ -59065,9 +59098,15 @@ function createTypeChecker(host) {
59065
59098
  reportErrors2
59066
59099
  )) || emptyGenericType;
59067
59100
  }
59068
- function getGlobalBuiltinIteratorType(reportErrors2) {
59069
- return deferredGlobalBuiltinIteratorType || (deferredGlobalBuiltinIteratorType = getGlobalType(
59070
- "BuiltinIterator",
59101
+ function getBuiltinIteratorReturnType() {
59102
+ return strictBuiltinIteratorReturn ? undefinedType : anyType;
59103
+ }
59104
+ function getGlobalBuiltinIteratorTypes() {
59105
+ return deferredGlobalBuiltinIteratorTypes ?? (deferredGlobalBuiltinIteratorTypes = getGlobalBuiltinTypes(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
59106
+ }
59107
+ function getGlobalIteratorObjectType(reportErrors2) {
59108
+ return deferredGlobalIteratorObjectType || (deferredGlobalIteratorObjectType = getGlobalType(
59109
+ "IteratorObject",
59071
59110
  /*arity*/
59072
59111
  3,
59073
59112
  reportErrors2
@@ -77830,7 +77869,7 @@ function createTypeChecker(host) {
77830
77869
  if (isBinaryExpression(right) && (right.operatorToken.kind === 57 /* BarBarToken */ || right.operatorToken.kind === 56 /* AmpersandAmpersandToken */)) {
77831
77870
  grammarErrorOnNode(right, Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses, tokenToString(right.operatorToken.kind), tokenToString(operatorToken.kind));
77832
77871
  }
77833
- const leftTarget = skipOuterExpressions(left, 15 /* All */);
77872
+ const leftTarget = skipOuterExpressions(left, 31 /* All */);
77834
77873
  const nullishSemantics = getSyntacticNullishnessSemantics(leftTarget);
77835
77874
  if (nullishSemantics !== 3 /* Sometimes */) {
77836
77875
  if (node.parent.kind === 226 /* BinaryExpression */) {
@@ -81934,7 +81973,7 @@ function createTypeChecker(host) {
81934
81973
  if (isReferenceToType(type, resolver.getGlobalIterableType(
81935
81974
  /*reportErrors*/
81936
81975
  false
81937
- )) || isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(
81976
+ )) || isReferenceToType(type, resolver.getGlobalIteratorObjectType(
81938
81977
  /*reportErrors*/
81939
81978
  false
81940
81979
  )) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(
@@ -81955,6 +81994,20 @@ function createTypeChecker(host) {
81955
81994
  void 0
81956
81995
  ) || returnType, nextType));
81957
81996
  }
81997
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
81998
+ const [yieldType] = getTypeArguments(type);
81999
+ const returnType = getBuiltinIteratorReturnType();
82000
+ const nextType = unknownType;
82001
+ return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(
82002
+ yieldType,
82003
+ /*errorNode*/
82004
+ void 0
82005
+ ) || yieldType, resolver.resolveIterationType(
82006
+ returnType,
82007
+ /*errorNode*/
82008
+ void 0
82009
+ ) || returnType, nextType));
82010
+ }
81958
82011
  }
81959
82012
  function getPropertyNameForKnownSymbolName(symbolName2) {
81960
82013
  const ctorType = getGlobalESSymbolConstructorSymbol(
@@ -82018,13 +82071,13 @@ function createTypeChecker(host) {
82018
82071
  return getCachedIterationTypes(type, resolver.iteratorCacheKey);
82019
82072
  }
82020
82073
  function getIterationTypesOfIteratorFast(type, resolver) {
82021
- if (isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(
82074
+ if (isReferenceToType(type, resolver.getGlobalIterableIteratorType(
82022
82075
  /*reportErrors*/
82023
82076
  false
82024
- )) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(
82077
+ )) || isReferenceToType(type, resolver.getGlobalIteratorType(
82025
82078
  /*reportErrors*/
82026
82079
  false
82027
- )) || isReferenceToType(type, resolver.getGlobalIteratorType(
82080
+ )) || isReferenceToType(type, resolver.getGlobalIteratorObjectType(
82028
82081
  /*reportErrors*/
82029
82082
  false
82030
82083
  )) || isReferenceToType(type, resolver.getGlobalGeneratorType(
@@ -82034,6 +82087,12 @@ function createTypeChecker(host) {
82034
82087
  const [yieldType, returnType, nextType] = getTypeArguments(type);
82035
82088
  return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
82036
82089
  }
82090
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
82091
+ const [yieldType] = getTypeArguments(type);
82092
+ const returnType = getBuiltinIteratorReturnType();
82093
+ const nextType = unknownType;
82094
+ return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
82095
+ }
82037
82096
  }
82038
82097
  function isIteratorResult(type, kind) {
82039
82098
  const doneType = getTypeOfPropertyOfType(type, "done") || falseType;
@@ -92206,7 +92265,7 @@ function transformTypeScript(context) {
92206
92265
  return updated;
92207
92266
  }
92208
92267
  function visitParenthesizedExpression(node) {
92209
- const innerExpression = skipOuterExpressions(node.expression, ~6 /* Assertions */);
92268
+ const innerExpression = skipOuterExpressions(node.expression, ~(6 /* Assertions */ | 16 /* ExpressionsWithTypeArguments */));
92210
92269
  if (isAssertionExpression(innerExpression) || isSatisfiesExpression(innerExpression)) {
92211
92270
  const expression = visitNode(node.expression, visitor, isExpression);
92212
92271
  Debug.assert(expression);
@@ -7346,9 +7346,10 @@ declare namespace ts {
7346
7346
  TypeAssertions = 2,
7347
7347
  NonNullAssertions = 4,
7348
7348
  PartiallyEmittedExpressions = 8,
7349
+ ExpressionsWithTypeArguments = 16,
7349
7350
  Assertions = 6,
7350
- All = 15,
7351
- ExcludeJSDocTypeAssertion = 16,
7351
+ All = 31,
7352
+ ExcludeJSDocTypeAssertion = -2147483648,
7352
7353
  }
7353
7354
  type ImmediatelyInvokedFunctionExpression = CallExpression & {
7354
7355
  readonly expression: FunctionExpression;