UNPKG

462 BTypeScriptView Raw
1import { At } from '../Any/At';
2import { Replace } from '../Union/Replace';
3import { x } from '../Any/x';
4import { Exclude } from '../Union/Exclude';
5/**
6 * Modify `O` with `OMod` & the [[x]] placeholder
7 * @param O to copy from
8 * @param OMod to copy to
9 * @returns [[Object]]
10 * @example
11 * ```ts
12 * ```
13 */
14export declare type Modify<O extends object, OMod extends object> = {
15 [K in keyof OMod]: Replace<OMod[K], x, Exclude<At<O, K>, undefined>>;
16} & {};