UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

31 lines 1.1 kB
import { AnyArray } from './_types'; declare type IsPickKey<T extends { [k: string]: unknown; }, Keys extends string> = Keys extends keyof T ? 'ON' : 'OFF'; /** * Creates an object composed of the picked `object` properties. * @param object the target object * @param names the properties names * @signature R.pick(object, [prop1, prop2]) * @example * P.pick({ a: 1, b: 2, c: 3, d: 4 }, ['a', 'd']) // => { a: 1, d: 4 } * @example * P.pipe({ a: 1, b: 2, c: 3, d: 4 }, R.pick(['a', 'd'])) // => { a: 1, d: 4 } * @data_first * @category Object */ export declare function pick<T extends {}, Q extends string>(object: T, names: AnyArray<Q>): IsPickKey<T, Q> extends 'ON' ? { [k in Q]: T[k]; } : { [k in keyof T]?: T[k]; }; export declare function pick<T extends {}, K extends keyof T>(object: T, names: readonly K[]): { [k in K]: T[k]; }; export declare function pick<T extends {}, Q extends string>(names: readonly Q[]): (object: T) => IsPickKey<T, Q> extends 'ON' ? { [k in Q]: T[k]; } : { [k in keyof T]?: T[k]; }; export {}; //# sourceMappingURL=pick.d.ts.map