/** * OmitByType * @desc From `T` remove a set of properties by value matching `ValueType`. * Credit: [Piotr Lewandowski](https://medium.com/dailyjs/typescript-create-a-condition-based-subset-types-9d902cea5b8c) * @example * type Props = { req: number; reqUndef: number | undefined; opt?: string; }; * * // Expect: { reqUndef: number | undefined; opt?: string; } * type Props = OmitByType; * // Expect: { opt?: string; } * type Props = OmitByType; */ export type OmitByType = Pick;