/** @module array/popIndex.ts */ import { untypedCurry } from '../function/untypedCurry' import { ValueAt } from '../helper-types' export function popIndex( index: I, arr: A[] ): [A, A[]] // export function popIndex( index: I, arr: A ): [ValueAt, A] // export function popIndex( index: I ): ( arr: B ) => [ ValueAt < B, I > , B ] export function popIndex( index: number ): ( arr: A[] ) => [A, A[]] /** * Todo */ export function popIndex( ...args ) { return untypedCurry( ( index, arr ) => [ arr[ index ], [ ...arr.slice( 0, index ), ...arr.slice( index + 1, arr.length ) ] ] ) } export default popIndex