/** @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 ),
] )