Skip to main content
Module

x/ramda/unapply.js

:ram: Practical functional Javascript
Go to Latest
File
import _curry1 from './internal/_curry1';

/** * Takes a function `fn`, which takes a single array argument, and returns a * function which: * * - takes any number of positional arguments; * - passes these arguments to `fn` as an array; and * - returns the result. * * In other words, `R.unapply` derives a variadic function from a function which * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply). * * @func * @memberOf R * @since v0.8.0 * @category Function * @sig ([*...] -> a) -> (*... -> a) * @param {Function} fn * @return {Function} * @see R.apply * @example * * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]' * @symb R.unapply(f)(a, b) = f([a, b]) */var unapply = _curry1(function unapply(fn) { return function() { return fn(Array.prototype.slice.call(arguments, 0)); };});export default unapply;