export type Writable = { -readonly [P in keyof T]: T[P]; }; /** * Omit all the keys from `Value` that are not present in `Options` and are `true`. * * For example: * ```ts * type Value = {a: number, b: string, c: boolean}; * type Options = {a: true, b: false, c: true}; * type Result = PickOptions; // {a: number, c: boolean} * ``` */ export type PickOptions>, Options extends { readonly [key: string]: boolean | undefined; }> = Pick;