swc/crates/swc_bundler/tests/.cache/deno/b7fba0ec9aeddbf762691643b51aab6e01fc60e0.ts
2021-11-09 20:42:49 +09:00

40 lines
1.1 KiB
TypeScript

// Loaded from https://deno.land/x/ramda@v0.27.2/source/unary.js
import _curry1 from './internal/_curry1.js';
import nAry from './nAry.js';
/**
* Wraps a function of any arity (including nullary) in a function that accepts
* exactly 1 parameter. Any extraneous parameters will not be passed to the
* supplied function.
*
* @func
* @memberOf R
* @since v0.2.0
* @category Function
* @sig (a -> b -> c -> ... -> z) -> (a -> z)
* @param {Function} fn The function to wrap.
* @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of
* arity 1.
* @see R.binary, R.nAry
* @example
*
* const takesTwoArgs = function(a, b) {
* return [a, b];
* };
* takesTwoArgs.length; //=> 2
* takesTwoArgs(1, 2); //=> [1, 2]
*
* const takesOneArg = R.unary(takesTwoArgs);
* takesOneArg.length; //=> 1
* // Only 1 argument is passed to the wrapped function
* takesOneArg(1, 2); //=> [1, undefined]
* @symb R.unary(f)(a, b, c) = f(a)
*/
var unary = _curry1(function unary(fn) {
return nAry(1, fn);
});
export default unary;