@@ -311,9 +311,14 @@ interface CallableFunction extends Function {
311
311
/**
312
312
* Calls the function with the specified object as the this value and the elements of specified array as the arguments.
313
313
* @param thisArg The object to be used as the this object.
314
- * @param args An array of argument values to be passed to the function.
315
314
*/
316
315
apply < T , R > ( this : ( this : T ) => R , thisArg : T ) : R ;
316
+
317
+ /**
318
+ * Calls the function with the specified object as the this value and the elements of specified array as the arguments.
319
+ * @param thisArg The object to be used as the this object.
320
+ * @param args An array of argument values to be passed to the function.
321
+ */
317
322
apply < T , A extends any [ ] , R > ( this : ( this : T , ...args : A ) => R , thisArg : T , args : A ) : R ;
318
323
319
324
/**
@@ -327,23 +332,29 @@ interface CallableFunction extends Function {
327
332
* For a given function, creates a bound function that has the same body as the original function.
328
333
* The this object of the bound function is associated with the specified object, and has the specified initial parameters.
329
334
* @param thisArg The object to be used as the this object.
330
- * @param args Arguments to bind to the parameters of the function.
331
335
*/
332
336
bind < T > ( this : T , thisArg : ThisParameterType < T > ) : OmitThisParameter < T > ;
333
- bind < T , A0 , A extends any [ ] , R > ( this : ( this : T , arg0 : A0 , ...args : A ) => R , thisArg : T , arg0 : A0 ) : ( ...args : A ) => R ;
334
- bind < T , A0 , A1 , A extends any [ ] , R > ( this : ( this : T , arg0 : A0 , arg1 : A1 , ...args : A ) => R , thisArg : T , arg0 : A0 , arg1 : A1 ) : ( ...args : A ) => R ;
335
- bind < T , A0 , A1 , A2 , A extends any [ ] , R > ( this : ( this : T , arg0 : A0 , arg1 : A1 , arg2 : A2 , ...args : A ) => R , thisArg : T , arg0 : A0 , arg1 : A1 , arg2 : A2 ) : ( ...args : A ) => R ;
336
- bind < T , A0 , A1 , A2 , A3 , A extends any [ ] , R > ( this : ( this : T , arg0 : A0 , arg1 : A1 , arg2 : A2 , arg3 : A3 , ...args : A ) => R , thisArg : T , arg0 : A0 , arg1 : A1 , arg2 : A2 , arg3 : A3 ) : ( ...args : A ) => R ;
337
- bind < T , AX , R > ( this : ( this : T , ...args : AX [ ] ) => R , thisArg : T , ...args : AX [ ] ) : ( ...args : AX [ ] ) => R ;
337
+
338
+ /**
339
+ * For a given function, creates a bound function that has the same body as the original function.
340
+ * The this object of the bound function is associated with the specified object, and has the specified initial parameters.
341
+ * @param thisArg The object to be used as the this object.
342
+ * @param args Arguments to bind to the parameters of the function.
343
+ */
344
+ bind < T , A extends any [ ] , B extends any [ ] , R > ( this : ( this : T , ...args : [ ...A , ...B ] ) => R , thisArg : T , ...args : A ) : ( ...args : B ) => R ;
338
345
}
339
346
340
347
interface NewableFunction extends Function {
341
348
/**
342
349
* Calls the function with the specified object as the this value and the elements of specified array as the arguments.
343
350
* @param thisArg The object to be used as the this object.
344
- * @param args An array of argument values to be passed to the function.
345
351
*/
346
352
apply < T > ( this : new ( ) => T , thisArg : T ) : void ;
353
+ /**
354
+ * Calls the function with the specified object as the this value and the elements of specified array as the arguments.
355
+ * @param thisArg The object to be used as the this object.
356
+ * @param args An array of argument values to be passed to the function.
357
+ */
347
358
apply < T , A extends any [ ] > ( this : new ( ...args : A ) => T , thisArg : T , args : A ) : void ;
348
359
349
360
/**
@@ -357,14 +368,16 @@ interface NewableFunction extends Function {
357
368
* For a given function, creates a bound function that has the same body as the original function.
358
369
* The this object of the bound function is associated with the specified object, and has the specified initial parameters.
359
370
* @param thisArg The object to be used as the this object.
360
- * @param args Arguments to bind to the parameters of the function.
361
371
*/
362
372
bind < T > ( this : T , thisArg : any ) : T ;
363
- bind < A0 , A extends any [ ] , R > ( this : new ( arg0 : A0 , ...args : A ) => R , thisArg : any , arg0 : A0 ) : new ( ...args : A ) => R ;
364
- bind < A0 , A1 , A extends any [ ] , R > ( this : new ( arg0 : A0 , arg1 : A1 , ...args : A ) => R , thisArg : any , arg0 : A0 , arg1 : A1 ) : new ( ...args : A ) => R ;
365
- bind < A0 , A1 , A2 , A extends any [ ] , R > ( this : new ( arg0 : A0 , arg1 : A1 , arg2 : A2 , ...args : A ) => R , thisArg : any , arg0 : A0 , arg1 : A1 , arg2 : A2 ) : new ( ...args : A ) => R ;
366
- bind < A0 , A1 , A2 , A3 , A extends any [ ] , R > ( this : new ( arg0 : A0 , arg1 : A1 , arg2 : A2 , arg3 : A3 , ...args : A ) => R , thisArg : any , arg0 : A0 , arg1 : A1 , arg2 : A2 , arg3 : A3 ) : new ( ...args : A ) => R ;
367
- bind < AX , R > ( this : new ( ...args : AX [ ] ) => R , thisArg : any , ...args : AX [ ] ) : new ( ...args : AX [ ] ) => R ;
373
+
374
+ /**
375
+ * For a given function, creates a bound function that has the same body as the original function.
376
+ * The this object of the bound function is associated with the specified object, and has the specified initial parameters.
377
+ * @param thisArg The object to be used as the this object.
378
+ * @param args Arguments to bind to the parameters of the function.
379
+ */
380
+ bind < A extends any [ ] , B extends any [ ] , R > ( this : new ( ...args : [ ...A , ...B ] ) => R , thisArg : any , ...args : A ) : new ( ...args : B ) => R ;
368
381
}
369
382
370
383
interface IArguments {
0 commit comments