mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
26 lines
581 B
JavaScript
26 lines
581 B
JavaScript
/**
|
|
* 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
|