time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

ary.js (857B)


      1 var createWrap = require('./_createWrap');
      2 
      3 /** Used to compose bitmasks for function metadata. */
      4 var WRAP_ARY_FLAG = 128;
      5 
      6 /**
      7  * Creates a function that invokes `func`, with up to `n` arguments,
      8  * ignoring any additional arguments.
      9  *
     10  * @static
     11  * @memberOf _
     12  * @since 3.0.0
     13  * @category Function
     14  * @param {Function} func The function to cap arguments for.
     15  * @param {number} [n=func.length] The arity cap.
     16  * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
     17  * @returns {Function} Returns the new capped function.
     18  * @example
     19  *
     20  * _.map(['6', '8', '10'], _.ary(parseInt, 1));
     21  * // => [6, 8, 10]
     22  */
     23 function ary(func, n, guard) {
     24   n = guard ? undefined : n;
     25   n = (func && n == null) ? func.length : n;
     26   return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
     27 }
     28 
     29 module.exports = ary;