@stencil/core 4.38.0 → 4.38.1

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.
Files changed (90) hide show
  1. package/cli/index.cjs +1 -1
  2. package/cli/index.js +1 -1
  3. package/cli/package.json +1 -1
  4. package/compiler/lib.decorators.d.ts +13 -15
  5. package/compiler/lib.dom.asynciterable.d.ts +14 -6
  6. package/compiler/lib.dom.d.ts +15847 -5014
  7. package/compiler/lib.dom.iterable.d.ts +207 -111
  8. package/compiler/lib.es2015.core.d.ts +9 -9
  9. package/compiler/lib.es2015.generator.d.ts +2 -2
  10. package/compiler/lib.es2015.iterable.d.ts +214 -104
  11. package/compiler/lib.es2015.symbol.wellknown.d.ts +11 -11
  12. package/compiler/lib.es2016.array.include.d.ts +9 -9
  13. package/compiler/lib.es2016.intl.d.ts +1 -1
  14. package/compiler/lib.es2017.arraybuffer.d.ts +21 -0
  15. package/compiler/lib.es2017.d.ts +3 -2
  16. package/compiler/lib.es2017.object.d.ts +4 -4
  17. package/compiler/lib.es2017.sharedmemory.d.ts +15 -15
  18. package/compiler/lib.es2017.typedarrays.d.ts +9 -9
  19. package/compiler/lib.es2018.asyncgenerator.d.ts +2 -2
  20. package/compiler/lib.es2018.asynciterable.d.ts +16 -6
  21. package/compiler/lib.es2020.bigint.d.ts +100 -62
  22. package/compiler/lib.es2020.intl.d.ts +36 -36
  23. package/compiler/lib.es2020.sharedmemory.d.ts +13 -11
  24. package/compiler/lib.es2020.string.d.ts +3 -1
  25. package/compiler/lib.es2020.symbol.wellknown.d.ts +5 -1
  26. package/compiler/lib.es2021.intl.d.ts +17 -17
  27. package/compiler/lib.es2021.weakref.d.ts +2 -0
  28. package/compiler/lib.es2022.array.d.ts +11 -11
  29. package/compiler/lib.es2022.d.ts +1 -2
  30. package/compiler/lib.es2022.error.d.ts +2 -0
  31. package/compiler/lib.es2022.intl.d.ts +39 -11
  32. package/compiler/lib.es2023.array.d.ts +79 -79
  33. package/compiler/lib.es2024.arraybuffer.d.ts +65 -0
  34. package/compiler/lib.es2024.collection.d.ts +29 -0
  35. package/compiler/lib.es2024.d.ts +26 -0
  36. package/compiler/lib.es2024.full.d.ts +24 -0
  37. package/compiler/lib.es2024.promise.d.ts +35 -0
  38. package/compiler/{lib.es2022.sharedmemory.d.ts → lib.es2024.sharedmemory.d.ts} +29 -0
  39. package/compiler/lib.es5.d.ts +321 -305
  40. package/compiler/lib.esnext.array.d.ts +1 -1
  41. package/compiler/lib.esnext.collection.d.ts +1 -11
  42. package/compiler/lib.esnext.d.ts +6 -5
  43. package/compiler/lib.esnext.disposable.d.ts +8 -0
  44. package/compiler/lib.esnext.error.d.ts +24 -0
  45. package/compiler/lib.esnext.float16.d.ts +445 -0
  46. package/compiler/lib.esnext.iterator.d.ts +148 -0
  47. package/compiler/lib.esnext.promise.d.ts +11 -12
  48. package/compiler/lib.esnext.sharedmemory.d.ts +25 -0
  49. package/compiler/lib.webworker.asynciterable.d.ts +14 -6
  50. package/compiler/lib.webworker.d.ts +5113 -1394
  51. package/compiler/lib.webworker.iterable.d.ts +125 -61
  52. package/compiler/package.json +1 -1
  53. package/compiler/stencil.js +20679 -15213
  54. package/dev-server/client/index.js +1 -1
  55. package/dev-server/client/package.json +1 -1
  56. package/dev-server/connector.html +2 -2
  57. package/dev-server/index.js +1 -1
  58. package/dev-server/package.json +1 -1
  59. package/dev-server/server-process.js +2 -2
  60. package/internal/app-data/package.json +1 -1
  61. package/internal/app-globals/package.json +1 -1
  62. package/internal/client/index.js +5 -2
  63. package/internal/client/package.json +1 -1
  64. package/internal/client/patch-browser.js +1 -1
  65. package/internal/hydrate/index.js +5 -2
  66. package/internal/hydrate/package.json +1 -1
  67. package/internal/hydrate/runner.js +2 -2
  68. package/internal/package.json +1 -1
  69. package/internal/stencil-public-runtime.d.ts +2 -1
  70. package/internal/testing/index.js +4 -1
  71. package/internal/testing/package.json +1 -1
  72. package/mock-doc/index.cjs +2 -2
  73. package/mock-doc/index.d.ts +2 -2
  74. package/mock-doc/index.js +2 -2
  75. package/mock-doc/package.json +1 -1
  76. package/package.json +9 -9
  77. package/screenshot/index.js +1 -1
  78. package/screenshot/package.json +1 -1
  79. package/screenshot/pixel-match.js +1 -1
  80. package/screenshot/screenshot-fs.d.ts +1 -1
  81. package/sys/node/index.js +1 -1
  82. package/sys/node/package.json +1 -1
  83. package/sys/node/worker.js +1 -1
  84. package/testing/index.d.ts +1 -1
  85. package/testing/index.js +93 -1
  86. package/testing/mocks.d.ts +1 -0
  87. package/testing/package.json +1 -1
  88. /package/compiler/{lib.esnext.object.d.ts → lib.es2024.object.d.ts} +0 -0
  89. /package/compiler/{lib.esnext.regexp.d.ts → lib.es2024.regexp.d.ts} +0 -0
  90. /package/compiler/{lib.esnext.string.d.ts → lib.es2024.string.d.ts} +0 -0
@@ -38,39 +38,59 @@ 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
+ /**
53
+ * Describes a user-defined {@link Iterator} that is also iterable.
54
+ */
55
+ interface IterableIterator<T, TReturn = any, TNext = any> extends Iterator<T, TReturn, TNext> {
56
+ [Symbol.iterator](): IterableIterator<T, TReturn, TNext>;
57
+ }
58
+
59
+ /**
60
+ * Describes an {@link Iterator} produced by the runtime that inherits from the intrinsic `Iterator.prototype`.
61
+ */
62
+ interface IteratorObject<T, TReturn = unknown, TNext = unknown> extends Iterator<T, TReturn, TNext> {
63
+ [Symbol.iterator](): IteratorObject<T, TReturn, TNext>;
64
+ }
65
+
66
+ /**
67
+ * Defines the `TReturn` type used for built-in iterators produced by `Array`, `Map`, `Set`, and others.
68
+ * This is `undefined` when `strictBuiltInIteratorReturn` is `true`; otherwise, this is `any`.
69
+ */
70
+ type BuiltinIteratorReturn = intrinsic;
71
+
72
+ interface ArrayIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
73
+ [Symbol.iterator](): ArrayIterator<T>;
54
74
  }
55
75
 
56
76
  interface Array<T> {
57
77
  /** Iterator */
58
- [Symbol.iterator](): IterableIterator<T>;
78
+ [Symbol.iterator](): ArrayIterator<T>;
59
79
 
60
80
  /**
61
81
  * Returns an iterable of key, value pairs for every entry in the array
62
82
  */
63
- entries(): IterableIterator<[number, T]>;
83
+ entries(): ArrayIterator<[number, T]>;
64
84
 
65
85
  /**
66
86
  * Returns an iterable of keys in the array
67
87
  */
68
- keys(): IterableIterator<number>;
88
+ keys(): ArrayIterator<number>;
69
89
 
70
90
  /**
71
91
  * Returns an iterable of values in the array
72
92
  */
73
- values(): IterableIterator<T>;
93
+ values(): ArrayIterator<T>;
74
94
  }
75
95
 
76
96
  interface ArrayConstructor {
@@ -91,67 +111,71 @@ interface ArrayConstructor {
91
111
 
92
112
  interface ReadonlyArray<T> {
93
113
  /** Iterator of values in the array. */
94
- [Symbol.iterator](): IterableIterator<T>;
114
+ [Symbol.iterator](): ArrayIterator<T>;
95
115
 
96
116
  /**
97
117
  * Returns an iterable of key, value pairs for every entry in the array
98
118
  */
99
- entries(): IterableIterator<[number, T]>;
119
+ entries(): ArrayIterator<[number, T]>;
100
120
 
101
121
  /**
102
122
  * Returns an iterable of keys in the array
103
123
  */
104
- keys(): IterableIterator<number>;
124
+ keys(): ArrayIterator<number>;
105
125
 
106
126
  /**
107
127
  * Returns an iterable of values in the array
108
128
  */
109
- values(): IterableIterator<T>;
129
+ values(): ArrayIterator<T>;
110
130
  }
111
131
 
112
132
  interface IArguments {
113
133
  /** Iterator */
114
- [Symbol.iterator](): IterableIterator<any>;
134
+ [Symbol.iterator](): ArrayIterator<any>;
135
+ }
136
+
137
+ interface MapIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
138
+ [Symbol.iterator](): MapIterator<T>;
115
139
  }
116
140
 
117
141
  interface Map<K, V> {
118
142
  /** Returns an iterable of entries in the map. */
119
- [Symbol.iterator](): IterableIterator<[K, V]>;
143
+ [Symbol.iterator](): MapIterator<[K, V]>;
120
144
 
121
145
  /**
122
146
  * Returns an iterable of key, value pairs for every entry in the map.
123
147
  */
124
- entries(): IterableIterator<[K, V]>;
148
+ entries(): MapIterator<[K, V]>;
125
149
 
126
150
  /**
127
151
  * Returns an iterable of keys in the map
128
152
  */
129
- keys(): IterableIterator<K>;
153
+ keys(): MapIterator<K>;
130
154
 
131
155
  /**
132
156
  * Returns an iterable of values in the map
133
157
  */
134
- values(): IterableIterator<V>;
158
+ values(): MapIterator<V>;
135
159
  }
136
160
 
137
161
  interface ReadonlyMap<K, V> {
138
162
  /** Returns an iterable of entries in the map. */
139
- [Symbol.iterator](): IterableIterator<[K, V]>;
163
+ [Symbol.iterator](): MapIterator<[K, V]>;
140
164
 
141
165
  /**
142
166
  * Returns an iterable of key, value pairs for every entry in the map.
143
167
  */
144
- entries(): IterableIterator<[K, V]>;
168
+ entries(): MapIterator<[K, V]>;
145
169
 
146
170
  /**
147
171
  * Returns an iterable of keys in the map
148
172
  */
149
- keys(): IterableIterator<K>;
173
+ keys(): MapIterator<K>;
150
174
 
151
175
  /**
152
176
  * Returns an iterable of values in the map
153
177
  */
154
- values(): IterableIterator<V>;
178
+ values(): MapIterator<V>;
155
179
  }
156
180
 
157
181
  interface MapConstructor {
@@ -165,42 +189,48 @@ interface WeakMapConstructor {
165
189
  new <K extends WeakKey, V>(iterable: Iterable<readonly [K, V]>): WeakMap<K, V>;
166
190
  }
167
191
 
192
+ interface SetIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
193
+ [Symbol.iterator](): SetIterator<T>;
194
+ }
195
+
168
196
  interface Set<T> {
169
197
  /** Iterates over values in the set. */
170
- [Symbol.iterator](): IterableIterator<T>;
198
+ [Symbol.iterator](): SetIterator<T>;
199
+
171
200
  /**
172
201
  * Returns an iterable of [v,v] pairs for every value `v` in the set.
173
202
  */
174
- entries(): IterableIterator<[T, T]>;
203
+ entries(): SetIterator<[T, T]>;
204
+
175
205
  /**
176
206
  * Despite its name, returns an iterable of the values in the set.
177
207
  */
178
- keys(): IterableIterator<T>;
208
+ keys(): SetIterator<T>;
179
209
 
180
210
  /**
181
211
  * Returns an iterable of values in the set.
182
212
  */
183
- values(): IterableIterator<T>;
213
+ values(): SetIterator<T>;
184
214
  }
185
215
 
186
216
  interface ReadonlySet<T> {
187
217
  /** Iterates over values in the set. */
188
- [Symbol.iterator](): IterableIterator<T>;
218
+ [Symbol.iterator](): SetIterator<T>;
189
219
 
190
220
  /**
191
221
  * Returns an iterable of [v,v] pairs for every value `v` in the set.
192
222
  */
193
- entries(): IterableIterator<[T, T]>;
223
+ entries(): SetIterator<[T, T]>;
194
224
 
195
225
  /**
196
226
  * Despite its name, returns an iterable of the values in the set.
197
227
  */
198
- keys(): IterableIterator<T>;
228
+ keys(): SetIterator<T>;
199
229
 
200
230
  /**
201
231
  * Returns an iterable of values in the set.
202
232
  */
203
- values(): IterableIterator<T>;
233
+ values(): SetIterator<T>;
204
234
  }
205
235
 
206
236
  interface SetConstructor {
@@ -233,263 +263,343 @@ interface PromiseConstructor {
233
263
  race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
234
264
  }
235
265
 
266
+ interface StringIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
267
+ [Symbol.iterator](): StringIterator<T>;
268
+ }
269
+
236
270
  interface String {
237
271
  /** Iterator */
238
- [Symbol.iterator](): IterableIterator<string>;
272
+ [Symbol.iterator](): StringIterator<string>;
239
273
  }
240
274
 
241
- interface Int8Array {
242
- [Symbol.iterator](): IterableIterator<number>;
275
+ interface Int8Array<TArrayBuffer extends ArrayBufferLike> {
276
+ [Symbol.iterator](): ArrayIterator<number>;
277
+
243
278
  /**
244
279
  * Returns an array of key, value pairs for every entry in the array
245
280
  */
246
- entries(): IterableIterator<[number, number]>;
281
+ entries(): ArrayIterator<[number, number]>;
282
+
247
283
  /**
248
284
  * Returns an list of keys in the array
249
285
  */
250
- keys(): IterableIterator<number>;
286
+ keys(): ArrayIterator<number>;
287
+
251
288
  /**
252
289
  * Returns an list of values in the array
253
290
  */
254
- values(): IterableIterator<number>;
291
+ values(): ArrayIterator<number>;
255
292
  }
256
293
 
257
294
  interface Int8ArrayConstructor {
258
- new (elements: Iterable<number>): Int8Array;
295
+ new (elements: Iterable<number>): Int8Array<ArrayBuffer>;
296
+
297
+ /**
298
+ * Creates an array from an array-like or iterable object.
299
+ * @param elements An iterable object to convert to an array.
300
+ */
301
+ from(elements: Iterable<number>): Int8Array<ArrayBuffer>;
259
302
 
260
303
  /**
261
304
  * Creates an array from an array-like or iterable object.
262
- * @param arrayLike An array-like or iterable object to convert to an array.
305
+ * @param elements An iterable object to convert to an array.
263
306
  * @param mapfn A mapping function to call on every element of the array.
264
307
  * @param thisArg Value of 'this' used to invoke the mapfn.
265
308
  */
266
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array;
309
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int8Array<ArrayBuffer>;
267
310
  }
268
311
 
269
- interface Uint8Array {
270
- [Symbol.iterator](): IterableIterator<number>;
312
+ interface Uint8Array<TArrayBuffer extends ArrayBufferLike> {
313
+ [Symbol.iterator](): ArrayIterator<number>;
314
+
271
315
  /**
272
316
  * Returns an array of key, value pairs for every entry in the array
273
317
  */
274
- entries(): IterableIterator<[number, number]>;
318
+ entries(): ArrayIterator<[number, number]>;
319
+
275
320
  /**
276
321
  * Returns an list of keys in the array
277
322
  */
278
- keys(): IterableIterator<number>;
323
+ keys(): ArrayIterator<number>;
324
+
279
325
  /**
280
326
  * Returns an list of values in the array
281
327
  */
282
- values(): IterableIterator<number>;
328
+ values(): ArrayIterator<number>;
283
329
  }
284
330
 
285
331
  interface Uint8ArrayConstructor {
286
- new (elements: Iterable<number>): Uint8Array;
332
+ new (elements: Iterable<number>): Uint8Array<ArrayBuffer>;
333
+
334
+ /**
335
+ * Creates an array from an array-like or iterable object.
336
+ * @param elements An iterable object to convert to an array.
337
+ */
338
+ from(elements: Iterable<number>): Uint8Array<ArrayBuffer>;
287
339
 
288
340
  /**
289
341
  * Creates an array from an array-like or iterable object.
290
- * @param arrayLike An array-like or iterable object to convert to an array.
342
+ * @param elements An iterable object to convert to an array.
291
343
  * @param mapfn A mapping function to call on every element of the array.
292
344
  * @param thisArg Value of 'this' used to invoke the mapfn.
293
345
  */
294
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array;
346
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint8Array<ArrayBuffer>;
295
347
  }
296
348
 
297
- interface Uint8ClampedArray {
298
- [Symbol.iterator](): IterableIterator<number>;
349
+ interface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {
350
+ [Symbol.iterator](): ArrayIterator<number>;
351
+
299
352
  /**
300
353
  * Returns an array of key, value pairs for every entry in the array
301
354
  */
302
- entries(): IterableIterator<[number, number]>;
355
+ entries(): ArrayIterator<[number, number]>;
303
356
 
304
357
  /**
305
358
  * Returns an list of keys in the array
306
359
  */
307
- keys(): IterableIterator<number>;
360
+ keys(): ArrayIterator<number>;
308
361
 
309
362
  /**
310
363
  * Returns an list of values in the array
311
364
  */
312
- values(): IterableIterator<number>;
365
+ values(): ArrayIterator<number>;
313
366
  }
314
367
 
315
368
  interface Uint8ClampedArrayConstructor {
316
- new (elements: Iterable<number>): Uint8ClampedArray;
369
+ new (elements: Iterable<number>): Uint8ClampedArray<ArrayBuffer>;
370
+
371
+ /**
372
+ * Creates an array from an array-like or iterable object.
373
+ * @param elements An iterable object to convert to an array.
374
+ */
375
+ from(elements: Iterable<number>): Uint8ClampedArray<ArrayBuffer>;
317
376
 
318
377
  /**
319
378
  * Creates an array from an array-like or iterable object.
320
- * @param arrayLike An array-like or iterable object to convert to an array.
379
+ * @param elements An iterable object to convert to an array.
321
380
  * @param mapfn A mapping function to call on every element of the array.
322
381
  * @param thisArg Value of 'this' used to invoke the mapfn.
323
382
  */
324
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray;
383
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;
325
384
  }
326
385
 
327
- interface Int16Array {
328
- [Symbol.iterator](): IterableIterator<number>;
386
+ interface Int16Array<TArrayBuffer extends ArrayBufferLike> {
387
+ [Symbol.iterator](): ArrayIterator<number>;
329
388
  /**
330
389
  * Returns an array of key, value pairs for every entry in the array
331
390
  */
332
- entries(): IterableIterator<[number, number]>;
391
+ entries(): ArrayIterator<[number, number]>;
333
392
 
334
393
  /**
335
394
  * Returns an list of keys in the array
336
395
  */
337
- keys(): IterableIterator<number>;
396
+ keys(): ArrayIterator<number>;
338
397
 
339
398
  /**
340
399
  * Returns an list of values in the array
341
400
  */
342
- values(): IterableIterator<number>;
401
+ values(): ArrayIterator<number>;
343
402
  }
344
403
 
345
404
  interface Int16ArrayConstructor {
346
- new (elements: Iterable<number>): Int16Array;
405
+ new (elements: Iterable<number>): Int16Array<ArrayBuffer>;
406
+
407
+ /**
408
+ * Creates an array from an array-like or iterable object.
409
+ * @param elements An iterable object to convert to an array.
410
+ */
411
+ from(elements: Iterable<number>): Int16Array<ArrayBuffer>;
347
412
 
348
413
  /**
349
414
  * Creates an array from an array-like or iterable object.
350
- * @param arrayLike An array-like or iterable object to convert to an array.
415
+ * @param elements An iterable object to convert to an array.
351
416
  * @param mapfn A mapping function to call on every element of the array.
352
417
  * @param thisArg Value of 'this' used to invoke the mapfn.
353
418
  */
354
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array;
419
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int16Array<ArrayBuffer>;
355
420
  }
356
421
 
357
- interface Uint16Array {
358
- [Symbol.iterator](): IterableIterator<number>;
422
+ interface Uint16Array<TArrayBuffer extends ArrayBufferLike> {
423
+ [Symbol.iterator](): ArrayIterator<number>;
424
+
359
425
  /**
360
426
  * Returns an array of key, value pairs for every entry in the array
361
427
  */
362
- entries(): IterableIterator<[number, number]>;
428
+ entries(): ArrayIterator<[number, number]>;
429
+
363
430
  /**
364
431
  * Returns an list of keys in the array
365
432
  */
366
- keys(): IterableIterator<number>;
433
+ keys(): ArrayIterator<number>;
434
+
367
435
  /**
368
436
  * Returns an list of values in the array
369
437
  */
370
- values(): IterableIterator<number>;
438
+ values(): ArrayIterator<number>;
371
439
  }
372
440
 
373
441
  interface Uint16ArrayConstructor {
374
- new (elements: Iterable<number>): Uint16Array;
442
+ new (elements: Iterable<number>): Uint16Array<ArrayBuffer>;
375
443
 
376
444
  /**
377
445
  * Creates an array from an array-like or iterable object.
378
- * @param arrayLike An array-like or iterable object to convert to an array.
446
+ * @param elements An iterable object to convert to an array.
447
+ */
448
+ from(elements: Iterable<number>): Uint16Array<ArrayBuffer>;
449
+
450
+ /**
451
+ * Creates an array from an array-like or iterable object.
452
+ * @param elements An iterable object to convert to an array.
379
453
  * @param mapfn A mapping function to call on every element of the array.
380
454
  * @param thisArg Value of 'this' used to invoke the mapfn.
381
455
  */
382
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array;
456
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint16Array<ArrayBuffer>;
383
457
  }
384
458
 
385
- interface Int32Array {
386
- [Symbol.iterator](): IterableIterator<number>;
459
+ interface Int32Array<TArrayBuffer extends ArrayBufferLike> {
460
+ [Symbol.iterator](): ArrayIterator<number>;
461
+
387
462
  /**
388
463
  * Returns an array of key, value pairs for every entry in the array
389
464
  */
390
- entries(): IterableIterator<[number, number]>;
465
+ entries(): ArrayIterator<[number, number]>;
466
+
391
467
  /**
392
468
  * Returns an list of keys in the array
393
469
  */
394
- keys(): IterableIterator<number>;
470
+ keys(): ArrayIterator<number>;
471
+
395
472
  /**
396
473
  * Returns an list of values in the array
397
474
  */
398
- values(): IterableIterator<number>;
475
+ values(): ArrayIterator<number>;
399
476
  }
400
477
 
401
478
  interface Int32ArrayConstructor {
402
- new (elements: Iterable<number>): Int32Array;
479
+ new (elements: Iterable<number>): Int32Array<ArrayBuffer>;
480
+
481
+ /**
482
+ * Creates an array from an array-like or iterable object.
483
+ * @param elements An iterable object to convert to an array.
484
+ */
485
+ from(elements: Iterable<number>): Int32Array<ArrayBuffer>;
403
486
 
404
487
  /**
405
488
  * Creates an array from an array-like or iterable object.
406
- * @param arrayLike An array-like or iterable object to convert to an array.
489
+ * @param elements An iterable object to convert to an array.
407
490
  * @param mapfn A mapping function to call on every element of the array.
408
491
  * @param thisArg Value of 'this' used to invoke the mapfn.
409
492
  */
410
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array;
493
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int32Array<ArrayBuffer>;
411
494
  }
412
495
 
413
- interface Uint32Array {
414
- [Symbol.iterator](): IterableIterator<number>;
496
+ interface Uint32Array<TArrayBuffer extends ArrayBufferLike> {
497
+ [Symbol.iterator](): ArrayIterator<number>;
498
+
415
499
  /**
416
500
  * Returns an array of key, value pairs for every entry in the array
417
501
  */
418
- entries(): IterableIterator<[number, number]>;
502
+ entries(): ArrayIterator<[number, number]>;
503
+
419
504
  /**
420
505
  * Returns an list of keys in the array
421
506
  */
422
- keys(): IterableIterator<number>;
507
+ keys(): ArrayIterator<number>;
508
+
423
509
  /**
424
510
  * Returns an list of values in the array
425
511
  */
426
- values(): IterableIterator<number>;
512
+ values(): ArrayIterator<number>;
427
513
  }
428
514
 
429
515
  interface Uint32ArrayConstructor {
430
- new (elements: Iterable<number>): Uint32Array;
516
+ new (elements: Iterable<number>): Uint32Array<ArrayBuffer>;
431
517
 
432
518
  /**
433
519
  * Creates an array from an array-like or iterable object.
434
- * @param arrayLike An array-like or iterable object to convert to an array.
520
+ * @param elements An iterable object to convert to an array.
521
+ */
522
+ from(elements: Iterable<number>): Uint32Array<ArrayBuffer>;
523
+
524
+ /**
525
+ * Creates an array from an array-like or iterable object.
526
+ * @param elements An iterable object to convert to an array.
435
527
  * @param mapfn A mapping function to call on every element of the array.
436
528
  * @param thisArg Value of 'this' used to invoke the mapfn.
437
529
  */
438
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array;
530
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint32Array<ArrayBuffer>;
439
531
  }
440
532
 
441
- interface Float32Array {
442
- [Symbol.iterator](): IterableIterator<number>;
533
+ interface Float32Array<TArrayBuffer extends ArrayBufferLike> {
534
+ [Symbol.iterator](): ArrayIterator<number>;
535
+
443
536
  /**
444
537
  * Returns an array of key, value pairs for every entry in the array
445
538
  */
446
- entries(): IterableIterator<[number, number]>;
539
+ entries(): ArrayIterator<[number, number]>;
540
+
447
541
  /**
448
542
  * Returns an list of keys in the array
449
543
  */
450
- keys(): IterableIterator<number>;
544
+ keys(): ArrayIterator<number>;
545
+
451
546
  /**
452
547
  * Returns an list of values in the array
453
548
  */
454
- values(): IterableIterator<number>;
549
+ values(): ArrayIterator<number>;
455
550
  }
456
551
 
457
552
  interface Float32ArrayConstructor {
458
- new (elements: Iterable<number>): Float32Array;
553
+ new (elements: Iterable<number>): Float32Array<ArrayBuffer>;
459
554
 
460
555
  /**
461
556
  * Creates an array from an array-like or iterable object.
462
- * @param arrayLike An array-like or iterable object to convert to an array.
557
+ * @param elements An iterable object to convert to an array.
558
+ */
559
+ from(elements: Iterable<number>): Float32Array<ArrayBuffer>;
560
+
561
+ /**
562
+ * Creates an array from an array-like or iterable object.
563
+ * @param elements An iterable object to convert to an array.
463
564
  * @param mapfn A mapping function to call on every element of the array.
464
565
  * @param thisArg Value of 'this' used to invoke the mapfn.
465
566
  */
466
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array;
567
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Float32Array<ArrayBuffer>;
467
568
  }
468
569
 
469
- interface Float64Array {
470
- [Symbol.iterator](): IterableIterator<number>;
570
+ interface Float64Array<TArrayBuffer extends ArrayBufferLike> {
571
+ [Symbol.iterator](): ArrayIterator<number>;
572
+
471
573
  /**
472
574
  * Returns an array of key, value pairs for every entry in the array
473
575
  */
474
- entries(): IterableIterator<[number, number]>;
576
+ entries(): ArrayIterator<[number, number]>;
577
+
475
578
  /**
476
579
  * Returns an list of keys in the array
477
580
  */
478
- keys(): IterableIterator<number>;
581
+ keys(): ArrayIterator<number>;
582
+
479
583
  /**
480
584
  * Returns an list of values in the array
481
585
  */
482
- values(): IterableIterator<number>;
586
+ values(): ArrayIterator<number>;
483
587
  }
484
588
 
485
589
  interface Float64ArrayConstructor {
486
- new (elements: Iterable<number>): Float64Array;
590
+ new (elements: Iterable<number>): Float64Array<ArrayBuffer>;
591
+
592
+ /**
593
+ * Creates an array from an array-like or iterable object.
594
+ * @param elements An iterable object to convert to an array.
595
+ */
596
+ from(elements: Iterable<number>): Float64Array<ArrayBuffer>;
487
597
 
488
598
  /**
489
599
  * Creates an array from an array-like or iterable object.
490
- * @param arrayLike An array-like or iterable object to convert to an array.
600
+ * @param elements An iterable object to convert to an array.
491
601
  * @param mapfn A mapping function to call on every element of the array.
492
602
  * @param thisArg Value of 'this' used to invoke the mapfn.
493
603
  */
494
- from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
604
+ from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Float64Array<ArrayBuffer>;
495
605
  }