var _curry2 = /*#__PURE__*/require('./internal/_curry2'); var _dispatchable = /*#__PURE__*/require('./internal/_dispatchable'); var _xdrop = /*#__PURE__*/require('./internal/_xdrop'); var slice = /*#__PURE__*/require('./slice'); /** * Returns all but the first `n` elements of the given list, string, or * transducer/transformer (or object with a `drop` method). * * Dispatches to the `drop` method of the second argument, if present. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Number -> [a] -> [a] * @sig Number -> String -> String * @param {Number} n * @param {*} list * @return {*} A copy of list without the first `n` elements * @see R.take, R.transduce, R.dropLast, R.dropWhile * @example * * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz'] * R.drop(3, ['foo', 'bar', 'baz']); //=> [] * R.drop(4, ['foo', 'bar', 'baz']); //=> [] * R.drop(3, 'ramda'); //=> 'da' */ var drop = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['drop'], _xdrop, function drop(n, xs) { return slice(Math.max(0, n), Infinity, xs); })); module.exports = drop;