OmitByValue
OmitByValue
@example
type Props = { req: number; reqUndef: number | undefined; opt?: string; };
// Expect: { reqUndef: number | undefined; opt?: string; }
type Props = OmitByValue<Props, number>;
// Expect: { opt?: string; }
type Props = OmitByValue<Props, number | undefined>;
type OmitByValue<T, ValueType> = Pick<T, [Key in keyof T]-?: T[Key] extends ValueType ? never : Key[keyof T]>;