text: import _curry from "../privates/_curry";
  
  /**
   * Builds an auto-curried function. The resulting function can be called multiple times with
   * any number of arguments, and the original function will be applied only when the specified
   * (or derived) arity is consumed.<br/>
   * Currying will start from the leftmost argument: use {@link module:lamb.curryableRight|curryableRight}
   * for right currying.
   * @example
   * const collectFourElements = _.curryable(_.list, 4);
   *
   * collectFourElements(2)(3)(4)(5) // => [2, 3, 4, 5]
   * collectFourElements(2)(3, 4)(5) // => [2, 3, 4, 5]
   * collectFourElements(2, 3, 4, 5) // => [2, 3, 4, 5]
   * collectFourElements(2, 3)(4, 5) // => [2, 3, 4, 5]
   *
   * @memberof module:lamb
   * @category Function
   * @see {@link module:lamb.curryableRight|curryableRight}
   * @see {@link module:lamb.curry|curry}, {@link module:lamb.curryRight|curryRight}
   * @see {@link module:lamb.partial|partial}, {@link module:lamb.partialRight|partialRight}
   * @see {@link module:lamb.asPartial|asPartial}
   * @since 0.6.0
   * @param {Function} fn
   * @param {Number} [arity=fn.length]
   * @returns {Function}
   */
  function curryable (fn, arity) {
      return _curry(fn, arity, false, true);
  }
  
  export default curryable;
  