1234567891011121314151617181920212223242526272829303132333435363738 |
- 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 2 parameters. 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, b) -> z)
- * @param {Function} fn The function to wrap.
- * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of
- * arity 2.
- * @see R.nAry, R.unary
- * @example
- *
- * const takesThreeArgs = function(a, b, c) {
- * return [a, b, c];
- * };
- * takesThreeArgs.length; //=> 3
- * takesThreeArgs(1, 2, 3); //=> [1, 2, 3]
- *
- * const takesTwoArgs = R.binary(takesThreeArgs);
- * takesTwoArgs.length; //=> 2
- * // Only 2 arguments are passed to the wrapped function
- * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]
- * @symb R.binary(f)(a, b, c) = f(a, b)
- */
- var binary =
- /*#__PURE__*/
- _curry1(function binary(fn) {
- return nAry(2, fn);
- });
- export default binary;
|