1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | interface SymbolConstructor {
|
24 | |
25 |
|
26 |
|
27 |
|
28 | readonly iterator: unique symbol;
|
29 | }
|
30 |
|
31 | interface IteratorYieldResult<TYield> {
|
32 | done?: false;
|
33 | value: TYield;
|
34 | }
|
35 |
|
36 | interface IteratorReturnResult<TReturn> {
|
37 | done: true;
|
38 | value: TReturn;
|
39 | }
|
40 |
|
41 | type IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | IteratorReturnResult<TReturn>;
|
42 |
|
43 | interface Iterator<T, TReturn = any, TNext = undefined> {
|
44 |
|
45 | next(...args: [] | [TNext]): IteratorResult<T, TReturn>;
|
46 | return?(value?: TReturn): IteratorResult<T, TReturn>;
|
47 | throw?(e?: any): IteratorResult<T, TReturn>;
|
48 | }
|
49 |
|
50 | interface Iterable<T> {
|
51 | [Symbol.iterator](): Iterator<T>;
|
52 | }
|
53 |
|
54 | interface IterableIterator<T> extends Iterator<T> {
|
55 | [Symbol.iterator](): IterableIterator<T>;
|
56 | }
|
57 |
|
58 | interface Array<T> {
|
59 |
|
60 | [Symbol.iterator](): IterableIterator<T>;
|
61 |
|
62 | |
63 |
|
64 |
|
65 | entries(): IterableIterator<[number, T]>;
|
66 |
|
67 | |
68 |
|
69 |
|
70 | keys(): IterableIterator<number>;
|
71 |
|
72 | |
73 |
|
74 |
|
75 | values(): IterableIterator<T>;
|
76 | }
|
77 |
|
78 | interface ArrayConstructor {
|
79 | |
80 |
|
81 |
|
82 |
|
83 | from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
84 |
|
85 | |
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 | from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
92 | }
|
93 |
|
94 | interface ReadonlyArray<T> {
|
95 | /** Iterator of values in the array. */
|
96 | [Symbol.iterator](): IterableIterator<T>;
|
97 |
|
98 | /**
|
99 | * Returns an iterable of key, value pairs for every entry in the array
|
100 | */
|
101 | entries(): IterableIterator<[number, T]>;
|
102 |
|
103 | /**
|
104 | * Returns an iterable of keys in the array
|
105 | */
|
106 | keys(): IterableIterator<number>;
|
107 |
|
108 | /**
|
109 | * Returns an iterable of values in the array
|
110 | */
|
111 | values(): IterableIterator<T>;
|
112 | }
|
113 |
|
114 | interface IArguments {
|
115 | /** Iterator */
|
116 | [Symbol.iterator](): IterableIterator<any>;
|
117 | }
|
118 |
|
119 | interface Map<K, V> {
|
120 | /** Returns an iterable of entries in the map. */
|
121 | [Symbol.iterator](): IterableIterator<[K, V]>;
|
122 |
|
123 | /**
|
124 | * Returns an iterable of key, value pairs for every entry in the map.
|
125 | */
|
126 | entries(): IterableIterator<[K, V]>;
|
127 |
|
128 | /**
|
129 | * Returns an iterable of keys in the map
|
130 | */
|
131 | keys(): IterableIterator<K>;
|
132 |
|
133 | /**
|
134 | * Returns an iterable of values in the map
|
135 | */
|
136 | values(): IterableIterator<V>;
|
137 | }
|
138 |
|
139 | interface ReadonlyMap<K, V> {
|
140 | /** Returns an iterable of entries in the map. */
|
141 | [Symbol.iterator](): IterableIterator<[K, V]>;
|
142 |
|
143 | /**
|
144 | * Returns an iterable of key, value pairs for every entry in the map.
|
145 | */
|
146 | entries(): IterableIterator<[K, V]>;
|
147 |
|
148 | /**
|
149 | * Returns an iterable of keys in the map
|
150 | */
|
151 | keys(): IterableIterator<K>;
|
152 |
|
153 | /**
|
154 | * Returns an iterable of values in the map
|
155 | */
|
156 | values(): IterableIterator<V>;
|
157 | }
|
158 |
|
159 | interface MapConstructor {
|
160 | new(): Map<any, any>;
|
161 | new <K, V>(iterable?: Iterable<readonly [K, V]> | null): Map<K, V>;
|
162 | }
|
163 |
|
164 | interface WeakMap<K extends object, V> { }
|
165 |
|
166 | interface WeakMapConstructor {
|
167 | new <K extends object, V>(iterable: Iterable<readonly [K, V]>): WeakMap<K, V>;
|
168 | }
|
169 |
|
170 | interface Set<T> {
|
171 | /** Iterates over values in the set. */
|
172 | [Symbol.iterator](): IterableIterator<T>;
|
173 | /**
|
174 | * Returns an iterable of [v,v] pairs for every value `v` in the set.
|
175 | */
|
176 | entries(): IterableIterator<[T, T]>;
|
177 | /**
|
178 | * Despite its name, returns an iterable of the values in the set.
|
179 | */
|
180 | keys(): IterableIterator<T>;
|
181 |
|
182 | /**
|
183 | * Returns an iterable of values in the set.
|
184 | */
|
185 | values(): IterableIterator<T>;
|
186 | }
|
187 |
|
188 | interface ReadonlySet<T> {
|
189 | /** Iterates over values in the set. */
|
190 | [Symbol.iterator](): IterableIterator<T>;
|
191 |
|
192 | /**
|
193 | * Returns an iterable of [v,v] pairs for every value `v` in the set.
|
194 | */
|
195 | entries(): IterableIterator<[T, T]>;
|
196 |
|
197 | /**
|
198 | * Despite its name, returns an iterable of the values in the set.
|
199 | */
|
200 | keys(): IterableIterator<T>;
|
201 |
|
202 | /**
|
203 | * Returns an iterable of values in the set.
|
204 | */
|
205 | values(): IterableIterator<T>;
|
206 | }
|
207 |
|
208 | interface SetConstructor {
|
209 | new <T>(iterable?: Iterable<T> | null): Set<T>;
|
210 | }
|
211 |
|
212 | interface WeakSet<T extends object> { }
|
213 |
|
214 | interface WeakSetConstructor {
|
215 | new <T extends object = object>(iterable: Iterable<T>): WeakSet<T>;
|
216 | }
|
217 |
|
218 | interface Promise<T> { }
|
219 |
|
220 | interface PromiseConstructor {
|
221 | /**
|
222 | * Creates a Promise that is resolved with an array of results when all of the provided Promises
|
223 | * resolve, or rejected when any Promise is rejected.
|
224 | * @param values An iterable of Promises.
|
225 | * @returns A new Promise.
|
226 | */
|
227 | all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;
|
228 |
|
229 | /**
|
230 | * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
|
231 | * or rejected.
|
232 | * @param values An iterable of Promises.
|
233 | * @returns A new Promise.
|
234 | */
|
235 | race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
|
236 | }
|
237 |
|
238 | interface String {
|
239 | /** Iterator */
|
240 | [Symbol.iterator](): IterableIterator<string>;
|
241 | }
|
242 |
|
243 | interface Int8Array {
|
244 | [Symbol.iterator](): IterableIterator<number>;
|
245 | /**
|
246 | * Returns an array of key, value pairs for every entry in the array
|
247 | */
|
248 | entries(): IterableIterator<[number, number]>;
|
249 | /**
|
250 | * Returns an list of keys in the array
|
251 | */
|
252 | keys(): IterableIterator<number>;
|
253 | /**
|
254 | * Returns an list of values in the array
|
255 | */
|
256 | values(): IterableIterator<number>;
|
257 | }
|
258 |
|
259 | interface Int8ArrayConstructor {
|
260 | new (elements: Iterable<number>): Int8Array;
|
261 |
|
262 | /**
|
263 | * Creates an array from an array-like or iterable object.
|
264 | * @param arrayLike An array-like or iterable object to convert to an array.
|
265 | * @param mapfn A mapping function to call on every element of the array.
|
266 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
267 | */
|
268 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array;
|
269 | }
|
270 |
|
271 | interface Uint8Array {
|
272 | [Symbol.iterator](): IterableIterator<number>;
|
273 | /**
|
274 | * Returns an array of key, value pairs for every entry in the array
|
275 | */
|
276 | entries(): IterableIterator<[number, number]>;
|
277 | /**
|
278 | * Returns an list of keys in the array
|
279 | */
|
280 | keys(): IterableIterator<number>;
|
281 | /**
|
282 | * Returns an list of values in the array
|
283 | */
|
284 | values(): IterableIterator<number>;
|
285 | }
|
286 |
|
287 | interface Uint8ArrayConstructor {
|
288 | new (elements: Iterable<number>): Uint8Array;
|
289 |
|
290 | /**
|
291 | * Creates an array from an array-like or iterable object.
|
292 | * @param arrayLike An array-like or iterable object to convert to an array.
|
293 | * @param mapfn A mapping function to call on every element of the array.
|
294 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
295 | */
|
296 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array;
|
297 | }
|
298 |
|
299 | interface Uint8ClampedArray {
|
300 | [Symbol.iterator](): IterableIterator<number>;
|
301 | /**
|
302 | * Returns an array of key, value pairs for every entry in the array
|
303 | */
|
304 | entries(): IterableIterator<[number, number]>;
|
305 |
|
306 | /**
|
307 | * Returns an list of keys in the array
|
308 | */
|
309 | keys(): IterableIterator<number>;
|
310 |
|
311 | /**
|
312 | * Returns an list of values in the array
|
313 | */
|
314 | values(): IterableIterator<number>;
|
315 | }
|
316 |
|
317 | interface Uint8ClampedArrayConstructor {
|
318 | new (elements: Iterable<number>): Uint8ClampedArray;
|
319 |
|
320 |
|
321 | /**
|
322 | * Creates an array from an array-like or iterable object.
|
323 | * @param arrayLike An array-like or iterable object to convert to an array.
|
324 | * @param mapfn A mapping function to call on every element of the array.
|
325 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
326 | */
|
327 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray;
|
328 | }
|
329 |
|
330 | interface Int16Array {
|
331 | [Symbol.iterator](): IterableIterator<number>;
|
332 | /**
|
333 | * Returns an array of key, value pairs for every entry in the array
|
334 | */
|
335 | entries(): IterableIterator<[number, number]>;
|
336 |
|
337 | /**
|
338 | * Returns an list of keys in the array
|
339 | */
|
340 | keys(): IterableIterator<number>;
|
341 |
|
342 | /**
|
343 | * Returns an list of values in the array
|
344 | */
|
345 | values(): IterableIterator<number>;
|
346 | }
|
347 |
|
348 | interface Int16ArrayConstructor {
|
349 | new (elements: Iterable<number>): Int16Array;
|
350 |
|
351 | /**
|
352 | * Creates an array from an array-like or iterable object.
|
353 | * @param arrayLike An array-like or iterable object to convert to an array.
|
354 | * @param mapfn A mapping function to call on every element of the array.
|
355 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
356 | */
|
357 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array;
|
358 | }
|
359 |
|
360 | interface Uint16Array {
|
361 | [Symbol.iterator](): IterableIterator<number>;
|
362 | /**
|
363 | * Returns an array of key, value pairs for every entry in the array
|
364 | */
|
365 | entries(): IterableIterator<[number, number]>;
|
366 | /**
|
367 | * Returns an list of keys in the array
|
368 | */
|
369 | keys(): IterableIterator<number>;
|
370 | /**
|
371 | * Returns an list of values in the array
|
372 | */
|
373 | values(): IterableIterator<number>;
|
374 | }
|
375 |
|
376 | interface Uint16ArrayConstructor {
|
377 | new (elements: Iterable<number>): Uint16Array;
|
378 |
|
379 | /**
|
380 | * Creates an array from an array-like or iterable object.
|
381 | * @param arrayLike An array-like or iterable object to convert to an array.
|
382 | * @param mapfn A mapping function to call on every element of the array.
|
383 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
384 | */
|
385 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array;
|
386 | }
|
387 |
|
388 | interface Int32Array {
|
389 | [Symbol.iterator](): IterableIterator<number>;
|
390 | /**
|
391 | * Returns an array of key, value pairs for every entry in the array
|
392 | */
|
393 | entries(): IterableIterator<[number, number]>;
|
394 | /**
|
395 | * Returns an list of keys in the array
|
396 | */
|
397 | keys(): IterableIterator<number>;
|
398 | /**
|
399 | * Returns an list of values in the array
|
400 | */
|
401 | values(): IterableIterator<number>;
|
402 | }
|
403 |
|
404 | interface Int32ArrayConstructor {
|
405 | new (elements: Iterable<number>): Int32Array;
|
406 |
|
407 | /**
|
408 | * Creates an array from an array-like or iterable object.
|
409 | * @param arrayLike An array-like or iterable object to convert to an array.
|
410 | * @param mapfn A mapping function to call on every element of the array.
|
411 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
412 | */
|
413 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array;
|
414 | }
|
415 |
|
416 | interface Uint32Array {
|
417 | [Symbol.iterator](): IterableIterator<number>;
|
418 | /**
|
419 | * Returns an array of key, value pairs for every entry in the array
|
420 | */
|
421 | entries(): IterableIterator<[number, number]>;
|
422 | /**
|
423 | * Returns an list of keys in the array
|
424 | */
|
425 | keys(): IterableIterator<number>;
|
426 | /**
|
427 | * Returns an list of values in the array
|
428 | */
|
429 | values(): IterableIterator<number>;
|
430 | }
|
431 |
|
432 | interface Uint32ArrayConstructor {
|
433 | new (elements: Iterable<number>): Uint32Array;
|
434 |
|
435 | /**
|
436 | * Creates an array from an array-like or iterable object.
|
437 | * @param arrayLike An array-like or iterable object to convert to an array.
|
438 | * @param mapfn A mapping function to call on every element of the array.
|
439 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
440 | */
|
441 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array;
|
442 | }
|
443 |
|
444 | interface Float32Array {
|
445 | [Symbol.iterator](): IterableIterator<number>;
|
446 | /**
|
447 | * Returns an array of key, value pairs for every entry in the array
|
448 | */
|
449 | entries(): IterableIterator<[number, number]>;
|
450 | /**
|
451 | * Returns an list of keys in the array
|
452 | */
|
453 | keys(): IterableIterator<number>;
|
454 | /**
|
455 | * Returns an list of values in the array
|
456 | */
|
457 | values(): IterableIterator<number>;
|
458 | }
|
459 |
|
460 | interface Float32ArrayConstructor {
|
461 | new (elements: Iterable<number>): Float32Array;
|
462 |
|
463 | /**
|
464 | * Creates an array from an array-like or iterable object.
|
465 | * @param arrayLike An array-like or iterable object to convert to an array.
|
466 | * @param mapfn A mapping function to call on every element of the array.
|
467 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
468 | */
|
469 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array;
|
470 | }
|
471 |
|
472 | interface Float64Array {
|
473 | [Symbol.iterator](): IterableIterator<number>;
|
474 | /**
|
475 | * Returns an array of key, value pairs for every entry in the array
|
476 | */
|
477 | entries(): IterableIterator<[number, number]>;
|
478 | /**
|
479 | * Returns an list of keys in the array
|
480 | */
|
481 | keys(): IterableIterator<number>;
|
482 | /**
|
483 | * Returns an list of values in the array
|
484 | */
|
485 | values(): IterableIterator<number>;
|
486 | }
|
487 |
|
488 | interface Float64ArrayConstructor {
|
489 | new (elements: Iterable<number>): Float64Array;
|
490 |
|
491 | /**
|
492 | * Creates an array from an array-like or iterable object.
|
493 | * @param arrayLike An array-like or iterable object to convert to an array.
|
494 | * @param mapfn A mapping function to call on every element of the array.
|
495 | * @param thisArg Value of 'this' used to invoke the mapfn.
|
496 | */
|
497 | from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
|
498 | }
|
499 |
|
\ | No newline at end of file |