typescript 5.6.0-dev.20240804 → 5.6.0-dev.20240806

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.20240804`;
21
+ var version = `${versionMajorMinor}.0-dev.20240806`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -46161,8 +46161,9 @@ function createTypeChecker(host) {
46161
46161
  getGlobalIteratorType: getGlobalAsyncIteratorType,
46162
46162
  getGlobalIterableType: getGlobalAsyncIterableType,
46163
46163
  getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType,
46164
- getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType,
46164
+ getGlobalIteratorObjectType: getGlobalAsyncIteratorObjectType,
46165
46165
  getGlobalGeneratorType: getGlobalAsyncGeneratorType,
46166
+ getGlobalBuiltinIteratorTypes: getGlobalBuiltinAsyncIteratorTypes,
46166
46167
  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
46168
  mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method,
46168
46169
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,
@@ -46175,8 +46176,9 @@ function createTypeChecker(host) {
46175
46176
  getGlobalIteratorType,
46176
46177
  getGlobalIterableType,
46177
46178
  getGlobalIterableIteratorType,
46178
- getGlobalBuiltinIteratorType,
46179
+ getGlobalIteratorObjectType,
46179
46180
  getGlobalGeneratorType,
46181
+ getGlobalBuiltinIteratorTypes,
46180
46182
  resolveIterationType: (type, _errorNode) => type,
46181
46183
  mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method,
46182
46184
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_iterator_must_be_a_method,
@@ -46214,14 +46216,16 @@ function createTypeChecker(host) {
46214
46216
  var deferredGlobalIterableType;
46215
46217
  var deferredGlobalIteratorType;
46216
46218
  var deferredGlobalIterableIteratorType;
46217
- var deferredGlobalBuiltinIteratorType;
46219
+ var deferredGlobalIteratorObjectType;
46218
46220
  var deferredGlobalGeneratorType;
46219
46221
  var deferredGlobalIteratorYieldResultType;
46220
46222
  var deferredGlobalIteratorReturnResultType;
46221
46223
  var deferredGlobalAsyncIterableType;
46222
46224
  var deferredGlobalAsyncIteratorType;
46223
46225
  var deferredGlobalAsyncIterableIteratorType;
46224
- var deferredGlobalBuiltinAsyncIteratorType;
46226
+ var deferredGlobalBuiltinIteratorTypes;
46227
+ var deferredGlobalBuiltinAsyncIteratorTypes;
46228
+ var deferredGlobalAsyncIteratorObjectType;
46225
46229
  var deferredGlobalAsyncGeneratorType;
46226
46230
  var deferredGlobalTemplateStringsArrayType;
46227
46231
  var deferredGlobalImportMetaType;
@@ -55304,6 +55308,17 @@ function createTypeChecker(host) {
55304
55308
  function getNonMissingTypeOfSymbol(symbol) {
55305
55309
  return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* Optional */));
55306
55310
  }
55311
+ function isReferenceToSomeType(type, targets) {
55312
+ if (type === void 0 || (getObjectFlags(type) & 4 /* Reference */) === 0) {
55313
+ return false;
55314
+ }
55315
+ for (const target of targets) {
55316
+ if (type.target === target) {
55317
+ return true;
55318
+ }
55319
+ }
55320
+ return false;
55321
+ }
55307
55322
  function isReferenceToType(type, target) {
55308
55323
  return type !== void 0 && target !== void 0 && (getObjectFlags(type) & 4 /* Reference */) !== 0 && type.target === target;
55309
55324
  }
@@ -55726,7 +55741,7 @@ function createTypeChecker(host) {
55726
55741
  links.instantiations.set(getTypeListId(typeParameters), type);
55727
55742
  }
55728
55743
  if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") {
55729
- type = strictBuiltinIteratorReturn ? undefinedType : anyType;
55744
+ type = getBuiltinIteratorReturnType();
55730
55745
  }
55731
55746
  } else {
55732
55747
  type = errorType;
@@ -58903,6 +58918,18 @@ function createTypeChecker(host) {
58903
58918
  const symbol = getGlobalTypeSymbol(name, reportErrors2);
58904
58919
  return symbol || reportErrors2 ? getTypeOfGlobalSymbol(symbol, arity) : void 0;
58905
58920
  }
58921
+ function getGlobalBuiltinTypes(typeNames, arity) {
58922
+ let types;
58923
+ for (const typeName of typeNames) {
58924
+ types = append(types, getGlobalType(
58925
+ typeName,
58926
+ arity,
58927
+ /*reportErrors*/
58928
+ false
58929
+ ));
58930
+ }
58931
+ return types ?? emptyArray;
58932
+ }
58906
58933
  function getGlobalTypedPropertyDescriptorType() {
58907
58934
  return deferredGlobalTypedPropertyDescriptorType || (deferredGlobalTypedPropertyDescriptorType = getGlobalType(
58908
58935
  "TypedPropertyDescriptor",
@@ -59025,9 +59052,12 @@ function createTypeChecker(host) {
59025
59052
  reportErrors2
59026
59053
  )) || emptyGenericType;
59027
59054
  }
59028
- function getGlobalBuiltinAsyncIteratorType(reportErrors2) {
59029
- return deferredGlobalBuiltinAsyncIteratorType || (deferredGlobalBuiltinAsyncIteratorType = getGlobalType(
59030
- "BuiltinAsyncIterator",
59055
+ function getGlobalBuiltinAsyncIteratorTypes() {
59056
+ return deferredGlobalBuiltinAsyncIteratorTypes ?? (deferredGlobalBuiltinAsyncIteratorTypes = getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"], 1));
59057
+ }
59058
+ function getGlobalAsyncIteratorObjectType(reportErrors2) {
59059
+ return deferredGlobalAsyncIteratorObjectType || (deferredGlobalAsyncIteratorObjectType = getGlobalType(
59060
+ "AsyncIteratorObject",
59031
59061
  /*arity*/
59032
59062
  3,
59033
59063
  reportErrors2
@@ -59065,9 +59095,15 @@ function createTypeChecker(host) {
59065
59095
  reportErrors2
59066
59096
  )) || emptyGenericType;
59067
59097
  }
59068
- function getGlobalBuiltinIteratorType(reportErrors2) {
59069
- return deferredGlobalBuiltinIteratorType || (deferredGlobalBuiltinIteratorType = getGlobalType(
59070
- "BuiltinIterator",
59098
+ function getBuiltinIteratorReturnType() {
59099
+ return strictBuiltinIteratorReturn ? undefinedType : anyType;
59100
+ }
59101
+ function getGlobalBuiltinIteratorTypes() {
59102
+ return deferredGlobalBuiltinIteratorTypes ?? (deferredGlobalBuiltinIteratorTypes = getGlobalBuiltinTypes(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
59103
+ }
59104
+ function getGlobalIteratorObjectType(reportErrors2) {
59105
+ return deferredGlobalIteratorObjectType || (deferredGlobalIteratorObjectType = getGlobalType(
59106
+ "IteratorObject",
59071
59107
  /*arity*/
59072
59108
  3,
59073
59109
  reportErrors2
@@ -81934,7 +81970,7 @@ function createTypeChecker(host) {
81934
81970
  if (isReferenceToType(type, resolver.getGlobalIterableType(
81935
81971
  /*reportErrors*/
81936
81972
  false
81937
- )) || isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(
81973
+ )) || isReferenceToType(type, resolver.getGlobalIteratorObjectType(
81938
81974
  /*reportErrors*/
81939
81975
  false
81940
81976
  )) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(
@@ -81955,6 +81991,20 @@ function createTypeChecker(host) {
81955
81991
  void 0
81956
81992
  ) || returnType, nextType));
81957
81993
  }
81994
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
81995
+ const [yieldType] = getTypeArguments(type);
81996
+ const returnType = getBuiltinIteratorReturnType();
81997
+ const nextType = unknownType;
81998
+ return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(
81999
+ yieldType,
82000
+ /*errorNode*/
82001
+ void 0
82002
+ ) || yieldType, resolver.resolveIterationType(
82003
+ returnType,
82004
+ /*errorNode*/
82005
+ void 0
82006
+ ) || returnType, nextType));
82007
+ }
81958
82008
  }
81959
82009
  function getPropertyNameForKnownSymbolName(symbolName2) {
81960
82010
  const ctorType = getGlobalESSymbolConstructorSymbol(
@@ -82018,13 +82068,13 @@ function createTypeChecker(host) {
82018
82068
  return getCachedIterationTypes(type, resolver.iteratorCacheKey);
82019
82069
  }
82020
82070
  function getIterationTypesOfIteratorFast(type, resolver) {
82021
- if (isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(
82071
+ if (isReferenceToType(type, resolver.getGlobalIterableIteratorType(
82022
82072
  /*reportErrors*/
82023
82073
  false
82024
- )) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(
82074
+ )) || isReferenceToType(type, resolver.getGlobalIteratorType(
82025
82075
  /*reportErrors*/
82026
82076
  false
82027
- )) || isReferenceToType(type, resolver.getGlobalIteratorType(
82077
+ )) || isReferenceToType(type, resolver.getGlobalIteratorObjectType(
82028
82078
  /*reportErrors*/
82029
82079
  false
82030
82080
  )) || isReferenceToType(type, resolver.getGlobalGeneratorType(
@@ -82034,6 +82084,12 @@ function createTypeChecker(host) {
82034
82084
  const [yieldType, returnType, nextType] = getTypeArguments(type);
82035
82085
  return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
82036
82086
  }
82087
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
82088
+ const [yieldType] = getTypeArguments(type);
82089
+ const returnType = getBuiltinIteratorReturnType();
82090
+ const nextType = unknownType;
82091
+ return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
82092
+ }
82037
82093
  }
82038
82094
  function isIteratorResult(type, kind) {
82039
82095
  const doneType = getTypeOfPropertyOfType(type, "done") || falseType;
package/lib/typescript.js CHANGED
@@ -2260,7 +2260,7 @@ module.exports = __toCommonJS(typescript_exports);
2260
2260
 
2261
2261
  // src/compiler/corePublic.ts
2262
2262
  var versionMajorMinor = "5.6";
2263
- var version = `${versionMajorMinor}.0-dev.20240804`;
2263
+ var version = `${versionMajorMinor}.0-dev.20240806`;
2264
2264
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2265
2265
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2266
2266
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -50780,8 +50780,9 @@ function createTypeChecker(host) {
50780
50780
  getGlobalIteratorType: getGlobalAsyncIteratorType,
50781
50781
  getGlobalIterableType: getGlobalAsyncIterableType,
50782
50782
  getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType,
50783
- getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType,
50783
+ getGlobalIteratorObjectType: getGlobalAsyncIteratorObjectType,
50784
50784
  getGlobalGeneratorType: getGlobalAsyncGeneratorType,
50785
+ getGlobalBuiltinIteratorTypes: getGlobalBuiltinAsyncIteratorTypes,
50785
50786
  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),
50786
50787
  mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method,
50787
50788
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,
@@ -50794,8 +50795,9 @@ function createTypeChecker(host) {
50794
50795
  getGlobalIteratorType,
50795
50796
  getGlobalIterableType,
50796
50797
  getGlobalIterableIteratorType,
50797
- getGlobalBuiltinIteratorType,
50798
+ getGlobalIteratorObjectType,
50798
50799
  getGlobalGeneratorType,
50800
+ getGlobalBuiltinIteratorTypes,
50799
50801
  resolveIterationType: (type, _errorNode) => type,
50800
50802
  mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method,
50801
50803
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_iterator_must_be_a_method,
@@ -50833,14 +50835,16 @@ function createTypeChecker(host) {
50833
50835
  var deferredGlobalIterableType;
50834
50836
  var deferredGlobalIteratorType;
50835
50837
  var deferredGlobalIterableIteratorType;
50836
- var deferredGlobalBuiltinIteratorType;
50838
+ var deferredGlobalIteratorObjectType;
50837
50839
  var deferredGlobalGeneratorType;
50838
50840
  var deferredGlobalIteratorYieldResultType;
50839
50841
  var deferredGlobalIteratorReturnResultType;
50840
50842
  var deferredGlobalAsyncIterableType;
50841
50843
  var deferredGlobalAsyncIteratorType;
50842
50844
  var deferredGlobalAsyncIterableIteratorType;
50843
- var deferredGlobalBuiltinAsyncIteratorType;
50845
+ var deferredGlobalBuiltinIteratorTypes;
50846
+ var deferredGlobalBuiltinAsyncIteratorTypes;
50847
+ var deferredGlobalAsyncIteratorObjectType;
50844
50848
  var deferredGlobalAsyncGeneratorType;
50845
50849
  var deferredGlobalTemplateStringsArrayType;
50846
50850
  var deferredGlobalImportMetaType;
@@ -59923,6 +59927,17 @@ function createTypeChecker(host) {
59923
59927
  function getNonMissingTypeOfSymbol(symbol) {
59924
59928
  return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* Optional */));
59925
59929
  }
59930
+ function isReferenceToSomeType(type, targets) {
59931
+ if (type === void 0 || (getObjectFlags(type) & 4 /* Reference */) === 0) {
59932
+ return false;
59933
+ }
59934
+ for (const target of targets) {
59935
+ if (type.target === target) {
59936
+ return true;
59937
+ }
59938
+ }
59939
+ return false;
59940
+ }
59926
59941
  function isReferenceToType2(type, target) {
59927
59942
  return type !== void 0 && target !== void 0 && (getObjectFlags(type) & 4 /* Reference */) !== 0 && type.target === target;
59928
59943
  }
@@ -60345,7 +60360,7 @@ function createTypeChecker(host) {
60345
60360
  links.instantiations.set(getTypeListId(typeParameters), type);
60346
60361
  }
60347
60362
  if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") {
60348
- type = strictBuiltinIteratorReturn ? undefinedType : anyType;
60363
+ type = getBuiltinIteratorReturnType();
60349
60364
  }
60350
60365
  } else {
60351
60366
  type = errorType;
@@ -63522,6 +63537,18 @@ function createTypeChecker(host) {
63522
63537
  const symbol = getGlobalTypeSymbol(name, reportErrors2);
63523
63538
  return symbol || reportErrors2 ? getTypeOfGlobalSymbol(symbol, arity) : void 0;
63524
63539
  }
63540
+ function getGlobalBuiltinTypes(typeNames, arity) {
63541
+ let types;
63542
+ for (const typeName of typeNames) {
63543
+ types = append(types, getGlobalType(
63544
+ typeName,
63545
+ arity,
63546
+ /*reportErrors*/
63547
+ false
63548
+ ));
63549
+ }
63550
+ return types ?? emptyArray;
63551
+ }
63525
63552
  function getGlobalTypedPropertyDescriptorType() {
63526
63553
  return deferredGlobalTypedPropertyDescriptorType || (deferredGlobalTypedPropertyDescriptorType = getGlobalType(
63527
63554
  "TypedPropertyDescriptor",
@@ -63644,9 +63671,12 @@ function createTypeChecker(host) {
63644
63671
  reportErrors2
63645
63672
  )) || emptyGenericType;
63646
63673
  }
63647
- function getGlobalBuiltinAsyncIteratorType(reportErrors2) {
63648
- return deferredGlobalBuiltinAsyncIteratorType || (deferredGlobalBuiltinAsyncIteratorType = getGlobalType(
63649
- "BuiltinAsyncIterator",
63674
+ function getGlobalBuiltinAsyncIteratorTypes() {
63675
+ return deferredGlobalBuiltinAsyncIteratorTypes ?? (deferredGlobalBuiltinAsyncIteratorTypes = getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"], 1));
63676
+ }
63677
+ function getGlobalAsyncIteratorObjectType(reportErrors2) {
63678
+ return deferredGlobalAsyncIteratorObjectType || (deferredGlobalAsyncIteratorObjectType = getGlobalType(
63679
+ "AsyncIteratorObject",
63650
63680
  /*arity*/
63651
63681
  3,
63652
63682
  reportErrors2
@@ -63684,9 +63714,15 @@ function createTypeChecker(host) {
63684
63714
  reportErrors2
63685
63715
  )) || emptyGenericType;
63686
63716
  }
63687
- function getGlobalBuiltinIteratorType(reportErrors2) {
63688
- return deferredGlobalBuiltinIteratorType || (deferredGlobalBuiltinIteratorType = getGlobalType(
63689
- "BuiltinIterator",
63717
+ function getBuiltinIteratorReturnType() {
63718
+ return strictBuiltinIteratorReturn ? undefinedType : anyType;
63719
+ }
63720
+ function getGlobalBuiltinIteratorTypes() {
63721
+ return deferredGlobalBuiltinIteratorTypes ?? (deferredGlobalBuiltinIteratorTypes = getGlobalBuiltinTypes(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
63722
+ }
63723
+ function getGlobalIteratorObjectType(reportErrors2) {
63724
+ return deferredGlobalIteratorObjectType || (deferredGlobalIteratorObjectType = getGlobalType(
63725
+ "IteratorObject",
63690
63726
  /*arity*/
63691
63727
  3,
63692
63728
  reportErrors2
@@ -86553,7 +86589,7 @@ function createTypeChecker(host) {
86553
86589
  if (isReferenceToType2(type, resolver.getGlobalIterableType(
86554
86590
  /*reportErrors*/
86555
86591
  false
86556
- )) || isReferenceToType2(type, resolver.getGlobalBuiltinIteratorType(
86592
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorObjectType(
86557
86593
  /*reportErrors*/
86558
86594
  false
86559
86595
  )) || isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
@@ -86574,6 +86610,20 @@ function createTypeChecker(host) {
86574
86610
  void 0
86575
86611
  ) || returnType, nextType));
86576
86612
  }
86613
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
86614
+ const [yieldType] = getTypeArguments(type);
86615
+ const returnType = getBuiltinIteratorReturnType();
86616
+ const nextType = unknownType;
86617
+ return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(
86618
+ yieldType,
86619
+ /*errorNode*/
86620
+ void 0
86621
+ ) || yieldType, resolver.resolveIterationType(
86622
+ returnType,
86623
+ /*errorNode*/
86624
+ void 0
86625
+ ) || returnType, nextType));
86626
+ }
86577
86627
  }
86578
86628
  function getPropertyNameForKnownSymbolName(symbolName2) {
86579
86629
  const ctorType = getGlobalESSymbolConstructorSymbol(
@@ -86637,13 +86687,13 @@ function createTypeChecker(host) {
86637
86687
  return getCachedIterationTypes(type, resolver.iteratorCacheKey);
86638
86688
  }
86639
86689
  function getIterationTypesOfIteratorFast(type, resolver) {
86640
- if (isReferenceToType2(type, resolver.getGlobalBuiltinIteratorType(
86690
+ if (isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
86641
86691
  /*reportErrors*/
86642
86692
  false
86643
- )) || isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
86693
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorType(
86644
86694
  /*reportErrors*/
86645
86695
  false
86646
- )) || isReferenceToType2(type, resolver.getGlobalIteratorType(
86696
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorObjectType(
86647
86697
  /*reportErrors*/
86648
86698
  false
86649
86699
  )) || isReferenceToType2(type, resolver.getGlobalGeneratorType(
@@ -86653,6 +86703,12 @@ function createTypeChecker(host) {
86653
86703
  const [yieldType, returnType, nextType] = getTypeArguments(type);
86654
86704
  return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
86655
86705
  }
86706
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
86707
+ const [yieldType] = getTypeArguments(type);
86708
+ const returnType = getBuiltinIteratorReturnType();
86709
+ const nextType = unknownType;
86710
+ return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
86711
+ }
86656
86712
  }
86657
86713
  function isIteratorResult(type, kind) {
86658
86714
  const doneType = getTypeOfPropertyOfType(type, "done") || falseType;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.6.0-dev.20240804",
5
+ "version": "5.6.0-dev.20240806",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -114,5 +114,5 @@
114
114
  "node": "20.1.0",
115
115
  "npm": "8.19.4"
116
116
  },
117
- "gitHead": "aafdfe5b3f76f5c41abeec412ce73c86da94c75f"
117
+ "gitHead": "a745d1b20501c1c305ab2c338137318a8cd331a9"
118
118
  }