* A method that returns the default iterator for an object. Called by the semantics of the\r
* for-of statement.\r
*/\r
- readonly iterator: symbol;\r
+ readonly iterator: unique symbol;\r
}\r
\r
interface IteratorYieldResult<TYield> {\r
interface WeakMap<K extends object, V> { }\r
\r
interface WeakMapConstructor {\r
- new <K extends object, V>(iterable: Iterable<[K, V]>): WeakMap<K, V>;\r
+ new <K extends object, V>(iterable: Iterable<readonly [K, V]>): WeakMap<K, V>;\r
}\r
\r
interface Set<T> {\r
* @param values An iterable of Promises.\r
* @returns A new Promise.\r
*/\r
- all<T>(values: Iterable<T | PromiseLike<T>>): Promise<T[]>;\r
+ all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;\r
\r
/**\r
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved\r
* @param values An iterable of Promises.\r
* @returns A new Promise.\r
*/\r
- race<T>(values: Iterable<T>): Promise<T extends PromiseLike<infer U> ? U : T>;\r
-\r
- /**\r
- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved\r
- * or rejected.\r
- * @param values An iterable of Promises.\r
- * @returns A new Promise.\r
- */\r
- race<T>(values: Iterable<T | PromiseLike<T>>): Promise<T>;\r
+ race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\r
}\r
\r
interface String {\r