import { curryN } from "@unboxing/function"; import { sliceArray } from "./slice"; interface Drop { (n: number, xs: string): string; (n: number, xs: ArrayLike): T[]; (n: number): { (xs: string): string; (xs: ArrayLike): T[]; }; } /** * Returns all but the first `n` elements of the given list, string. */ export const dropArray = curryN(2, (n: number, xs: ArrayLike) => sliceArray(Math.max(0, n), Infinity, xs)) as Drop