|                                        |  | var toInteger = require('./toInteger');
/** Error message constants. */var FUNC_ERROR_TEXT = 'Expected a function';
/** * Creates a function that invokes `func`, with the `this` binding and arguments * of the created function, while it's called less than `n` times. Subsequent * calls to the created function return the result of the last `func` invocation. * * @static * @memberOf _ * @since 3.0.0 * @category Function * @param {number} n The number of calls at which `func` is no longer invoked. * @param {Function} func The function to restrict. * @returns {Function} Returns the new restricted function. * @example * * jQuery(element).on('click', _.before(5, addContactToList)); * // => Allows adding up to 4 contacts to the list.
 */function before(n, func) {  var result;  if (typeof func != 'function') {    throw new TypeError(FUNC_ERROR_TEXT);  }  n = toInteger(n);  return function() {    if (--n > 0) {      result = func.apply(this, arguments);    }    if (n <= 1) {      func = undefined;    }    return result;  };}
module.exports = before;
 |