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