@@ -561,7 +561,7 @@ interface Math {
561561 */
562562 atan ( x : number ) : number ;
563563 /**
564- * Returns the angle (in radians) from the X axis to a point (y,x) .
564+ * Returns the angle (in radians) from the X axis to a point.
565565 * @param y A numeric expression representing the cartesian y-coordinate.
566566 * @param x A numeric expression representing the cartesian x-coordinate.
567567 */
@@ -1237,11 +1237,41 @@ interface SymbolConstructor {
12371237 isConcatSpreadable : symbol ;
12381238
12391239 /**
1240- * A method that returns the default iterator for an object.Called by the semantics of the
1240+ * A method that returns the default iterator for an object. Called by the semantics of the
12411241 * for-of statement.
12421242 */
12431243 iterator : symbol ;
12441244
1245+ /**
1246+ * A regular expression method that matches the regular expression against a string. Called
1247+ * by the String.prototype.match method.
1248+ */
1249+ match : symbol ;
1250+
1251+ /**
1252+ * A regular expression method that replaces matched substrings of a string. Called by the
1253+ * String.prototype.replace method.
1254+ */
1255+ replace : symbol ;
1256+
1257+ /**
1258+ * A regular expression method that returns the index within a string that matches the
1259+ * regular expression. Called by the String.prototype.search method.
1260+ */
1261+ search : symbol ;
1262+
1263+ /**
1264+ * A function valued property that is the constructor function that is used to create
1265+ * derived objects.
1266+ */
1267+ species : symbol ;
1268+
1269+ /**
1270+ * A regular expression method that splits a string at the indices that match the regular
1271+ * expression. Called by the String.prototype.split method.
1272+ */
1273+ split : symbol ;
1274+
12451275 /**
12461276 * A method that converts an object to a corresponding primitive value.Called by the ToPrimitive
12471277 * abstract operation.
@@ -1472,6 +1502,11 @@ interface Array<T> {
14721502 copyWithin ( target : number , start : number , end ?: number ) : T [ ] ;
14731503}
14741504
1505+ interface IArguments {
1506+ /** Iterator */
1507+ [ Symbol . iterator ] ( ) : IterableIterator < any > ;
1508+ }
1509+
14751510interface ArrayConstructor {
14761511 /**
14771512 * Creates an array from an array-like object.
@@ -1628,7 +1663,7 @@ interface IteratorResult<T> {
16281663}
16291664
16301665interface Iterator < T > {
1631- next ( ) : IteratorResult < T > ;
1666+ next ( value ?: any ) : IteratorResult < T > ;
16321667 return ?( value ?: any ) : IteratorResult < T > ;
16331668 throw ?( e ?: any ) : IteratorResult < T > ;
16341669}
@@ -1656,14 +1691,6 @@ interface GeneratorFunctionConstructor {
16561691}
16571692declare var GeneratorFunction : GeneratorFunctionConstructor ;
16581693
1659- interface Generator < T > extends IterableIterator < T > {
1660- next ( value ?: any ) : IteratorResult < T > ;
1661- throw ( exception : any ) : IteratorResult < T > ;
1662- return ( value : T ) : IteratorResult < T > ;
1663- [ Symbol . iterator ] ( ) : Generator < T > ;
1664- [ Symbol . toStringTag ] : string ;
1665- }
1666-
16671694interface Math {
16681695 /**
16691696 * Returns the number of leading zero bits in the 32-bit binary representation of a number.
@@ -4728,6 +4755,17 @@ declare module Reflect {
47284755 function setPrototypeOf ( target : any , proto : any ) : boolean ;
47294756}
47304757
4758+ interface PromiseLike < T > {
4759+ /**
4760+ * Attaches callbacks for the resolution and/or rejection of the Promise.
4761+ * @param onfulfilled The callback to execute when the Promise is resolved.
4762+ * @param onrejected The callback to execute when the Promise is rejected.
4763+ * @returns A Promise for the completion of which ever callback is executed.
4764+ */
4765+ then < TResult > ( onfulfilled ?: ( value : T ) => TResult | PromiseLike < TResult > , onrejected ?: ( reason : any ) => TResult | PromiseLike < TResult > ) : PromiseLike < TResult > ;
4766+ then < TResult > ( onfulfilled ?: ( value : T ) => TResult | PromiseLike < TResult > , onrejected ?: ( reason : any ) => void ) : PromiseLike < TResult > ;
4767+ }
4768+
47314769/**
47324770 * Represents the completion of an asynchronous operation
47334771 */
@@ -4738,14 +4776,17 @@ interface Promise<T> {
47384776 * @param onrejected The callback to execute when the Promise is rejected.
47394777 * @returns A Promise for the completion of which ever callback is executed.
47404778 */
4741- then < TResult > ( onfulfilled ?: ( value : T ) => TResult | Promise < TResult > , onrejected ?: ( reason : any ) => TResult | Promise < TResult > ) : Promise < TResult > ;
4779+ then < TResult > ( onfulfilled ?: ( value : T ) => TResult | PromiseLike < TResult > , onrejected ?: ( reason : any ) => TResult | PromiseLike < TResult > ) : Promise < TResult > ;
4780+ then < TResult > ( onfulfilled ?: ( value : T ) => TResult | PromiseLike < TResult > , onrejected ?: ( reason : any ) => void ) : Promise < TResult > ;
47424781
47434782 /**
47444783 * Attaches a callback for only the rejection of the Promise.
47454784 * @param onrejected The callback to execute when the Promise is rejected.
47464785 * @returns A Promise for the completion of the callback.
47474786 */
4748- catch ( onrejected ?: ( reason : any ) => T | Promise < T > ) : Promise < T > ;
4787+ catch ( onrejected ?: ( reason : any ) => T | PromiseLike < T > ) : Promise < T > ;
4788+
4789+ [ Symbol . toStringTag ] : string ;
47494790}
47504791
47514792interface PromiseConstructor {
@@ -4756,37 +4797,27 @@ interface PromiseConstructor {
47564797
47574798 /**
47584799 * Creates a new Promise.
4759- * @param init A callback used to initialize the promise. This callback is passed two arguments:
4800+ * @param executor A callback used to initialize the promise. This callback is passed two arguments:
47604801 * a resolve callback used resolve the promise with a value or the result of another promise,
47614802 * and a reject callback used to reject the promise with a provided reason or error.
47624803 */
4763- new < T > ( init : ( resolve : ( value ?: T | Promise < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
4764-
4765- < T > ( init : ( resolve : ( value ?: T | Promise < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
4804+ new < T > ( executor : ( resolve : ( value ?: T | PromiseLike < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
47664805
47674806 /**
47684807 * Creates a Promise that is resolved with an array of results when all of the provided Promises
47694808 * resolve, or rejected when any Promise is rejected.
47704809 * @param values An array of Promises.
47714810 * @returns A new Promise.
47724811 */
4773- all < T > ( values : ( T | Promise < T > ) [ ] ) : Promise < T [ ] > ;
4774-
4775- /**
4776- * Creates a Promise that is resolved with an array of results when all of the provided Promises
4777- * resolve, or rejected when any Promise is rejected.
4778- * @param values An array of values.
4779- * @returns A new Promise.
4780- */
4781- all ( values : Promise < void > [ ] ) : Promise < void > ;
4812+ all < T > ( values : Iterable < T | PromiseLike < T > > ) : Promise < T [ ] > ;
47824813
47834814 /**
47844815 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
47854816 * or rejected.
47864817 * @param values An array of Promises.
47874818 * @returns A new Promise.
47884819 */
4789- race < T > ( values : ( T | Promise < T > ) [ ] ) : Promise < T > ;
4820+ race < T > ( values : Iterable < T | PromiseLike < T > > ) : Promise < T > ;
47904821
47914822 /**
47924823 * Creates a new rejected promise for the provided reason.
@@ -4807,13 +4838,15 @@ interface PromiseConstructor {
48074838 * @param value A promise.
48084839 * @returns A promise whose internal state matches the provided promise.
48094840 */
4810- resolve < T > ( value : T | Promise < T > ) : Promise < T > ;
4841+ resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
48114842
48124843 /**
48134844 * Creates a new resolved promise .
48144845 * @returns A resolved promise.
48154846 */
48164847 resolve ( ) : Promise < void > ;
4848+
4849+ [ Symbol . species ] : Function ;
48174850}
48184851
48194852declare var Promise : PromiseConstructor ;
0 commit comments