typescript 5.6.0-dev.20240718 → 5.6.0-dev.20240720

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.
@@ -38,39 +38,45 @@ interface IteratorReturnResult<TReturn> {
38
38
 
39
39
  type IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | IteratorReturnResult<TReturn>;
40
40
 
41
- interface Iterator<T, TReturn = any, TNext = undefined> {
41
+ interface Iterator<T, TReturn = any, TNext = any> {
42
42
  // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
43
- next(...args: [] | [TNext]): IteratorResult<T, TReturn>;
43
+ next(...[value]: [] | [TNext]): IteratorResult<T, TReturn>;
44
44
  return?(value?: TReturn): IteratorResult<T, TReturn>;
45
45
  throw?(e?: any): IteratorResult<T, TReturn>;
46
46
  }
47
47
 
48
- interface Iterable<T> {
49
- [Symbol.iterator](): Iterator<T>;
48
+ interface Iterable<T, TReturn = any, TNext = any> {
49
+ [Symbol.iterator](): Iterator<T, TReturn, TNext>;
50
50
  }
51
51
 
52
- interface IterableIterator<T> extends Iterator<T> {
53
- [Symbol.iterator](): IterableIterator<T>;
52
+ interface IterableIterator<T, TReturn = any, TNext = any> extends Iterator<T, TReturn, TNext> {
53
+ [Symbol.iterator](): IterableIterator<T, TReturn, TNext>;
54
54
  }
55
55
 
56
+ interface BuiltinIterator<T, TReturn = any, TNext = any> extends Iterator<T, TReturn, TNext> {
57
+ [Symbol.iterator](): BuiltinIterator<T, TReturn, TNext>;
58
+ }
59
+
60
+ type BuiltinIteratorReturn = intrinsic;
61
+
56
62
  interface Array<T> {
57
63
  /** Iterator */
58
- [Symbol.iterator](): IterableIterator<T>;
64
+ [Symbol.iterator](): BuiltinIterator<T, BuiltinIteratorReturn>;
59
65
 
60
66
  /**
61
67
  * Returns an iterable of key, value pairs for every entry in the array
62
68
  */
63
- entries(): IterableIterator<[number, T]>;
69
+ entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>;
64
70
 
65
71
  /**
66
72
  * Returns an iterable of keys in the array
67
73
  */
68
- keys(): IterableIterator<number>;
74
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
69
75
 
70
76
  /**
71
77
  * Returns an iterable of values in the array
72
78
  */
73
- values(): IterableIterator<T>;
79
+ values(): BuiltinIterator<T, BuiltinIteratorReturn>;
74
80
  }
75
81
 
76
82
  interface ArrayConstructor {
@@ -91,67 +97,67 @@ interface ArrayConstructor {
91
97
 
92
98
  interface ReadonlyArray<T> {
93
99
  /** Iterator of values in the array. */
94
- [Symbol.iterator](): IterableIterator<T>;
100
+ [Symbol.iterator](): BuiltinIterator<T, BuiltinIteratorReturn>;
95
101
 
96
102
  /**
97
103
  * Returns an iterable of key, value pairs for every entry in the array
98
104
  */
99
- entries(): IterableIterator<[number, T]>;
105
+ entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>;
100
106
 
101
107
  /**
102
108
  * Returns an iterable of keys in the array
103
109
  */
104
- keys(): IterableIterator<number>;
110
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
105
111
 
106
112
  /**
107
113
  * Returns an iterable of values in the array
108
114
  */
109
- values(): IterableIterator<T>;
115
+ values(): BuiltinIterator<T, BuiltinIteratorReturn>;
110
116
  }
111
117
 
112
118
  interface IArguments {
113
119
  /** Iterator */
114
- [Symbol.iterator](): IterableIterator<any>;
120
+ [Symbol.iterator](): BuiltinIterator<any, BuiltinIteratorReturn>;
115
121
  }
116
122
 
117
123
  interface Map<K, V> {
118
124
  /** Returns an iterable of entries in the map. */
119
- [Symbol.iterator](): IterableIterator<[K, V]>;
125
+ [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>;
120
126
 
121
127
  /**
122
128
  * Returns an iterable of key, value pairs for every entry in the map.
123
129
  */
124
- entries(): IterableIterator<[K, V]>;
130
+ entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>;
125
131
 
126
132
  /**
127
133
  * Returns an iterable of keys in the map
128
134
  */
129
- keys(): IterableIterator<K>;
135
+ keys(): BuiltinIterator<K, BuiltinIteratorReturn>;
130
136
 
131
137
  /**
132
138
  * Returns an iterable of values in the map
133
139
  */
134
- values(): IterableIterator<V>;
140
+ values(): BuiltinIterator<V, BuiltinIteratorReturn>;
135
141
  }
136
142
 
137
143
  interface ReadonlyMap<K, V> {
138
144
  /** Returns an iterable of entries in the map. */
139
- [Symbol.iterator](): IterableIterator<[K, V]>;
145
+ [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>;
140
146
 
141
147
  /**
142
148
  * Returns an iterable of key, value pairs for every entry in the map.
143
149
  */
144
- entries(): IterableIterator<[K, V]>;
150
+ entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>;
145
151
 
146
152
  /**
147
153
  * Returns an iterable of keys in the map
148
154
  */
149
- keys(): IterableIterator<K>;
155
+ keys(): BuiltinIterator<K, BuiltinIteratorReturn>;
150
156
 
151
157
  /**
152
158
  * Returns an iterable of values in the map
153
159
  */
154
- values(): IterableIterator<V>;
160
+ values(): BuiltinIterator<V, BuiltinIteratorReturn>;
155
161
  }
156
162
 
157
163
  interface MapConstructor {
@@ -167,40 +173,40 @@ interface WeakMapConstructor {
167
173
 
168
174
  interface Set<T> {
169
175
  /** Iterates over values in the set. */
170
- [Symbol.iterator](): IterableIterator<T>;
176
+ [Symbol.iterator](): BuiltinIterator<T, BuiltinIteratorReturn>;
171
177
  /**
172
178
  * Returns an iterable of [v,v] pairs for every value `v` in the set.
173
179
  */
174
- entries(): IterableIterator<[T, T]>;
180
+ entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>;
175
181
  /**
176
182
  * Despite its name, returns an iterable of the values in the set.
177
183
  */
178
- keys(): IterableIterator<T>;
184
+ keys(): BuiltinIterator<T, BuiltinIteratorReturn>;
179
185
 
180
186
  /**
181
187
  * Returns an iterable of values in the set.
182
188
  */
183
- values(): IterableIterator<T>;
189
+ values(): BuiltinIterator<T, BuiltinIteratorReturn>;
184
190
  }
185
191
 
186
192
  interface ReadonlySet<T> {
187
193
  /** Iterates over values in the set. */
188
- [Symbol.iterator](): IterableIterator<T>;
194
+ [Symbol.iterator](): BuiltinIterator<T, BuiltinIteratorReturn>;
189
195
 
190
196
  /**
191
197
  * Returns an iterable of [v,v] pairs for every value `v` in the set.
192
198
  */
193
- entries(): IterableIterator<[T, T]>;
199
+ entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>;
194
200
 
195
201
  /**
196
202
  * Despite its name, returns an iterable of the values in the set.
197
203
  */
198
- keys(): IterableIterator<T>;
204
+ keys(): BuiltinIterator<T, BuiltinIteratorReturn>;
199
205
 
200
206
  /**
201
207
  * Returns an iterable of values in the set.
202
208
  */
203
- values(): IterableIterator<T>;
209
+ values(): BuiltinIterator<T, BuiltinIteratorReturn>;
204
210
  }
205
211
 
206
212
  interface SetConstructor {
@@ -235,23 +241,23 @@ interface PromiseConstructor {
235
241
 
236
242
  interface String {
237
243
  /** Iterator */
238
- [Symbol.iterator](): IterableIterator<string>;
244
+ [Symbol.iterator](): BuiltinIterator<string, BuiltinIteratorReturn>;
239
245
  }
240
246
 
241
247
  interface Int8Array {
242
- [Symbol.iterator](): IterableIterator<number>;
248
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
243
249
  /**
244
250
  * Returns an array of key, value pairs for every entry in the array
245
251
  */
246
- entries(): IterableIterator<[number, number]>;
252
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
247
253
  /**
248
254
  * Returns an list of keys in the array
249
255
  */
250
- keys(): IterableIterator<number>;
256
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
251
257
  /**
252
258
  * Returns an list of values in the array
253
259
  */
254
- values(): IterableIterator<number>;
260
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
255
261
  }
256
262
 
257
263
  interface Int8ArrayConstructor {
@@ -267,19 +273,19 @@ interface Int8ArrayConstructor {
267
273
  }
268
274
 
269
275
  interface Uint8Array {
270
- [Symbol.iterator](): IterableIterator<number>;
276
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
271
277
  /**
272
278
  * Returns an array of key, value pairs for every entry in the array
273
279
  */
274
- entries(): IterableIterator<[number, number]>;
280
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
275
281
  /**
276
282
  * Returns an list of keys in the array
277
283
  */
278
- keys(): IterableIterator<number>;
284
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
279
285
  /**
280
286
  * Returns an list of values in the array
281
287
  */
282
- values(): IterableIterator<number>;
288
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
283
289
  }
284
290
 
285
291
  interface Uint8ArrayConstructor {
@@ -295,21 +301,21 @@ interface Uint8ArrayConstructor {
295
301
  }
296
302
 
297
303
  interface Uint8ClampedArray {
298
- [Symbol.iterator](): IterableIterator<number>;
304
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
299
305
  /**
300
306
  * Returns an array of key, value pairs for every entry in the array
301
307
  */
302
- entries(): IterableIterator<[number, number]>;
308
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
303
309
 
304
310
  /**
305
311
  * Returns an list of keys in the array
306
312
  */
307
- keys(): IterableIterator<number>;
313
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
308
314
 
309
315
  /**
310
316
  * Returns an list of values in the array
311
317
  */
312
- values(): IterableIterator<number>;
318
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
313
319
  }
314
320
 
315
321
  interface Uint8ClampedArrayConstructor {
@@ -325,21 +331,21 @@ interface Uint8ClampedArrayConstructor {
325
331
  }
326
332
 
327
333
  interface Int16Array {
328
- [Symbol.iterator](): IterableIterator<number>;
334
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
329
335
  /**
330
336
  * Returns an array of key, value pairs for every entry in the array
331
337
  */
332
- entries(): IterableIterator<[number, number]>;
338
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
333
339
 
334
340
  /**
335
341
  * Returns an list of keys in the array
336
342
  */
337
- keys(): IterableIterator<number>;
343
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
338
344
 
339
345
  /**
340
346
  * Returns an list of values in the array
341
347
  */
342
- values(): IterableIterator<number>;
348
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
343
349
  }
344
350
 
345
351
  interface Int16ArrayConstructor {
@@ -355,19 +361,19 @@ interface Int16ArrayConstructor {
355
361
  }
356
362
 
357
363
  interface Uint16Array {
358
- [Symbol.iterator](): IterableIterator<number>;
364
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
359
365
  /**
360
366
  * Returns an array of key, value pairs for every entry in the array
361
367
  */
362
- entries(): IterableIterator<[number, number]>;
368
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
363
369
  /**
364
370
  * Returns an list of keys in the array
365
371
  */
366
- keys(): IterableIterator<number>;
372
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
367
373
  /**
368
374
  * Returns an list of values in the array
369
375
  */
370
- values(): IterableIterator<number>;
376
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
371
377
  }
372
378
 
373
379
  interface Uint16ArrayConstructor {
@@ -383,19 +389,19 @@ interface Uint16ArrayConstructor {
383
389
  }
384
390
 
385
391
  interface Int32Array {
386
- [Symbol.iterator](): IterableIterator<number>;
392
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
387
393
  /**
388
394
  * Returns an array of key, value pairs for every entry in the array
389
395
  */
390
- entries(): IterableIterator<[number, number]>;
396
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
391
397
  /**
392
398
  * Returns an list of keys in the array
393
399
  */
394
- keys(): IterableIterator<number>;
400
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
395
401
  /**
396
402
  * Returns an list of values in the array
397
403
  */
398
- values(): IterableIterator<number>;
404
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
399
405
  }
400
406
 
401
407
  interface Int32ArrayConstructor {
@@ -411,19 +417,19 @@ interface Int32ArrayConstructor {
411
417
  }
412
418
 
413
419
  interface Uint32Array {
414
- [Symbol.iterator](): IterableIterator<number>;
420
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
415
421
  /**
416
422
  * Returns an array of key, value pairs for every entry in the array
417
423
  */
418
- entries(): IterableIterator<[number, number]>;
424
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
419
425
  /**
420
426
  * Returns an list of keys in the array
421
427
  */
422
- keys(): IterableIterator<number>;
428
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
423
429
  /**
424
430
  * Returns an list of values in the array
425
431
  */
426
- values(): IterableIterator<number>;
432
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
427
433
  }
428
434
 
429
435
  interface Uint32ArrayConstructor {
@@ -439,19 +445,19 @@ interface Uint32ArrayConstructor {
439
445
  }
440
446
 
441
447
  interface Float32Array {
442
- [Symbol.iterator](): IterableIterator<number>;
448
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
443
449
  /**
444
450
  * Returns an array of key, value pairs for every entry in the array
445
451
  */
446
- entries(): IterableIterator<[number, number]>;
452
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
447
453
  /**
448
454
  * Returns an list of keys in the array
449
455
  */
450
- keys(): IterableIterator<number>;
456
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
451
457
  /**
452
458
  * Returns an list of values in the array
453
459
  */
454
- values(): IterableIterator<number>;
460
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
455
461
  }
456
462
 
457
463
  interface Float32ArrayConstructor {
@@ -467,19 +473,19 @@ interface Float32ArrayConstructor {
467
473
  }
468
474
 
469
475
  interface Float64Array {
470
- [Symbol.iterator](): IterableIterator<number>;
476
+ [Symbol.iterator](): BuiltinIterator<number, BuiltinIteratorReturn>;
471
477
  /**
472
478
  * Returns an array of key, value pairs for every entry in the array
473
479
  */
474
- entries(): IterableIterator<[number, number]>;
480
+ entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>;
475
481
  /**
476
482
  * Returns an list of keys in the array
477
483
  */
478
- keys(): IterableIterator<number>;
484
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
479
485
  /**
480
486
  * Returns an list of values in the array
481
487
  */
482
- values(): IterableIterator<number>;
488
+ values(): BuiltinIterator<number, BuiltinIteratorReturn>;
483
489
  }
484
490
 
485
491
  interface Float64ArrayConstructor {
@@ -18,9 +18,9 @@ and limitations under the License.
18
18
 
19
19
  /// <reference lib="es2018.asynciterable" />
20
20
 
21
- interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> extends AsyncIterator<T, TReturn, TNext> {
21
+ interface AsyncGenerator<T = unknown, TReturn = any, TNext = any> extends AsyncBuiltinIterator<T, TReturn, TNext> {
22
22
  // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
23
- next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;
23
+ next(...[value]: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;
24
24
  return(value: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;
25
25
  throw(e: any): Promise<IteratorResult<T, TReturn>>;
26
26
  [Symbol.asyncIterator](): AsyncGenerator<T, TReturn, TNext>;
@@ -27,17 +27,21 @@ interface SymbolConstructor {
27
27
  readonly asyncIterator: unique symbol;
28
28
  }
29
29
 
30
- interface AsyncIterator<T, TReturn = any, TNext = undefined> {
30
+ interface AsyncIterator<T, TReturn = any, TNext = any> {
31
31
  // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
32
- next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;
32
+ next(...[value]: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;
33
33
  return?(value?: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;
34
34
  throw?(e?: any): Promise<IteratorResult<T, TReturn>>;
35
35
  }
36
36
 
37
- interface AsyncIterable<T> {
38
- [Symbol.asyncIterator](): AsyncIterator<T>;
37
+ interface AsyncIterable<T, TReturn = any, TNext = any> {
38
+ [Symbol.asyncIterator](): AsyncIterator<T, TReturn, TNext>;
39
39
  }
40
40
 
41
- interface AsyncIterableIterator<T> extends AsyncIterator<T> {
42
- [Symbol.asyncIterator](): AsyncIterableIterator<T>;
41
+ interface AsyncIterableIterator<T, TReturn = any, TNext = any> extends AsyncIterator<T, TReturn, TNext> {
42
+ [Symbol.asyncIterator](): AsyncIterableIterator<T, TReturn, TNext>;
43
+ }
44
+
45
+ interface AsyncBuiltinIterator<T, TReturn = any, TNext = any> extends AsyncIterator<T, TReturn, TNext> {
46
+ [Symbol.asyncIterator](): AsyncBuiltinIterator<T, TReturn, TNext>;
43
47
  }
@@ -171,7 +171,7 @@ interface BigInt64Array {
171
171
  copyWithin(target: number, start: number, end?: number): this;
172
172
 
173
173
  /** Yields index, value pairs for every entry in the array. */
174
- entries(): IterableIterator<[number, bigint]>;
174
+ entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>;
175
175
 
176
176
  /**
177
177
  * Determines whether all the members of an array satisfy the specified test.
@@ -256,7 +256,7 @@ interface BigInt64Array {
256
256
  join(separator?: string): string;
257
257
 
258
258
  /** Yields each index in the array. */
259
- keys(): IterableIterator<number>;
259
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
260
260
 
261
261
  /**
262
262
  * Returns the index of the last occurrence of a value in an array.
@@ -378,9 +378,9 @@ interface BigInt64Array {
378
378
  valueOf(): BigInt64Array;
379
379
 
380
380
  /** Yields each value in the array. */
381
- values(): IterableIterator<bigint>;
381
+ values(): BuiltinIterator<bigint, BuiltinIteratorReturn>;
382
382
 
383
- [Symbol.iterator](): IterableIterator<bigint>;
383
+ [Symbol.iterator](): BuiltinIterator<bigint, BuiltinIteratorReturn>;
384
384
 
385
385
  readonly [Symbol.toStringTag]: "BigInt64Array";
386
386
 
@@ -443,7 +443,7 @@ interface BigUint64Array {
443
443
  copyWithin(target: number, start: number, end?: number): this;
444
444
 
445
445
  /** Yields index, value pairs for every entry in the array. */
446
- entries(): IterableIterator<[number, bigint]>;
446
+ entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>;
447
447
 
448
448
  /**
449
449
  * Determines whether all the members of an array satisfy the specified test.
@@ -528,7 +528,7 @@ interface BigUint64Array {
528
528
  join(separator?: string): string;
529
529
 
530
530
  /** Yields each index in the array. */
531
- keys(): IterableIterator<number>;
531
+ keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
532
532
 
533
533
  /**
534
534
  * Returns the index of the last occurrence of a value in an array.
@@ -650,9 +650,9 @@ interface BigUint64Array {
650
650
  valueOf(): BigUint64Array;
651
651
 
652
652
  /** Yields each value in the array. */
653
- values(): IterableIterator<bigint>;
653
+ values(): BuiltinIterator<bigint, BuiltinIteratorReturn>;
654
654
 
655
- [Symbol.iterator](): IterableIterator<bigint>;
655
+ [Symbol.iterator](): BuiltinIterator<bigint, BuiltinIteratorReturn>;
656
656
 
657
657
  readonly [Symbol.toStringTag]: "BigUint64Array";
658
658
 
@@ -24,7 +24,7 @@ interface String {
24
24
  * containing the results of that search.
25
25
  * @param regexp A variable name or string literal containing the regular expression pattern and flags.
26
26
  */
27
- matchAll(regexp: RegExp): IterableIterator<RegExpExecArray>;
27
+ matchAll(regexp: RegExp): BuiltinIterator<RegExpExecArray, BuiltinIteratorReturn>;
28
28
 
29
29
  /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */
30
30
  toLocaleLowerCase(locales?: Intl.LocalesArgument): string;
@@ -33,5 +33,5 @@ interface RegExp {
33
33
  * containing the results of that search.
34
34
  * @param string A string to search within.
35
35
  */
36
- [Symbol.matchAll](str: string): IterableIterator<RegExpMatchArray>;
36
+ [Symbol.matchAll](str: string): BuiltinIterator<RegExpMatchArray, BuiltinIteratorReturn>;
37
37
  }
@@ -55,7 +55,7 @@ declare namespace Intl {
55
55
  containing(codeUnitIndex?: number): SegmentData;
56
56
 
57
57
  /** Returns an iterator to iterate over the segments. */
58
- [Symbol.iterator](): IterableIterator<SegmentData>;
58
+ [Symbol.iterator](): BuiltinIterator<SegmentData, BuiltinIteratorReturn>;
59
59
  }
60
60
 
61
61
  interface SegmentData {
@@ -26,3 +26,4 @@ and limitations under the License.
26
26
  /// <reference lib="esnext.array" />
27
27
  /// <reference lib="esnext.regexp" />
28
28
  /// <reference lib="esnext.string" />
29
+ /// <reference lib="esnext.iterator" />