import _curry2 from "./internal/_curry2.js"; import _dispatchable from "./internal/_dispatchable.js"; import _xdrop from "./internal/_xdrop.js"; import slice from "./slice.js"; /** * 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); })); export default drop;