mizzkey/src/utils/type.ts
2017-09-08 04:13:01 +09:00

4 lines
256 B
TypeScript

// https://github.com/Microsoft/TypeScript/issues/12215
export type Diff<T extends string, U extends string> = ({ [P in T]: P } & { [P in U]: never } & { [x: string]: never })[T];
export type Omit<T, K extends keyof T> = { [P in Diff<keyof T, K>]: T[P] };