import { curryN } from "@unboxing/function"; import { sliceArray } from "./slice"; interface Take { (n: number, xs: string): string; (n: number, xs: ArrayLike): T[]; (n: number): { (xs: string): string; (xs: ArrayLike): T[]; }; } /** * Returns the first `n` elements of the given array or string */ export const takeArray = curryN(2, (n: number, arr: ArrayLike = []) => sliceArray(0, n, arr)) as Take