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 ]