@wesjet/function.js
Version:
wesjet javascript library
21 lines (20 loc) • 665 B
TypeScript
/**
* Copyright (c) Wesbitty, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
*/
type ConvertUndefined<T> = OrUndefined<{
[K in keyof T as undefined extends T[K] ? K : never]-?: T[K];
}>;
type OrUndefined<T> = {
[K in keyof T]: T[K] | undefined;
};
type PickRequired<T> = {
[K in keyof T as undefined extends T[K] ? never : K]: T[K];
};
type ConvertPick<T> = ConvertUndefined<T> & PickRequired<T>;
export declare const pick: <Obj, Keys extends keyof Obj>(obj: Obj, keys: Keys[], filterUndefined?: boolean) => ConvertPick<{ [K in Keys]: Obj[K]; }>;
export {};