/** @module array/splitAt.ts */ import { untypedCurry } from '../function/untypedCurry' interface SplitAt { ( index: number, arr: A[] ): [A[], A[]] ( index: number ): ( arr: A[] ) => [A[], A[]] } /** * Split an array at a given index * @param index * @sig n -> a[] -> [ a[], a[] ] * @example * splitAt(2,[1,2,3,4,5,6]) // [ [1,2],[3,4,5,6] ] */ export const splitAt: SplitAt = untypedCurry( ( index, arr ) => [ arr.slice( 0, index ), arr.slice( index, Infinity ), ] )