Permalink
Cannot retrieve contributors at this time
/** | |
* Creates a function that invokes `func` with arguments reversed. | |
* | |
* @since 4.0.0 | |
* @category Function | |
* @param {Function} func The function to flip arguments for. | |
* @returns {Function} Returns the new flipped function. | |
* @see reverse | |
* @example | |
* | |
* const flipped = flip((...args) => args) | |
* | |
* flipped('a', 'b', 'c', 'd') | |
* // => ['d', 'c', 'b', 'a'] | |
*/ | |
function flip(func) { | |
if (typeof func !== 'function') { | |
throw new TypeError('Expected a function') | |
} | |
return function(...args) { | |
return func.apply(this, args.reverse()) | |
} | |
} | |
export default flip |