reverseArguments
Create a function that invokes a provided function with arguments in reverse order.
Usage
var reverseArguments = require( '@stdlib/utils/reverse-arguments' );
reverseArguments( fcn[, thisArg] )
Returns a function that invokes a provided function with arguments in reverse order.
function foo( a, b ) { return [ a, b ]; } var bar = reverseArguments( foo ); var out = bar( 1, 2 ); // returns [ 2, 1 ]
To set the this context when invoking the provided function, provide a thisArg.
function Foo() { this.x = 1; this.y = 2; } Foo.prototype.scale = function scale( a, b ) { return [ this.x*a, this.y*b ]; }; var ctx = { 'x': 10, 'y': 20 }; var foo = new Foo(); var bar = reverseArguments( foo.scale, ctx ); var out = bar( 1, 2 ); // returns [ 20, 20 ]
Examples
var reverseArguments = require( '@stdlib/utils/reverse-arguments' ); function foo( a, b, c ) { return [ a, b, c ]; } var bar = reverseArguments( foo ); var out = foo( 1, 2, 3 ); // returns [ 1, 2, 3 ] out = bar( 1, 2, 3 ); // returns [ 3, 2, 1 ]
See Also
@stdlib/utils/mask-arguments: create a function that invokes a provided function according to an argument mask.@stdlib/utils/reorder-arguments: create a function that invokes a provided function with reordered arguments.