import { curryN } from "@unboxing/function"; import {prop} from '@unboxing/object' import { map } from "./map"; import { Prop } from '@unboxing/core' interface Pluck {

(p: P, list: ArrayLike>): T[];

(p: P): (list: ArrayLike>) => T[]; } /** * Returns a new list by plucking the same named property off all objects in the list supplied. */ export const pluck = curryN(2,

(key: string, arr: ArrayLike> = []) => map(prop(key), arr) ) as Pluck