| @@ -52,7 +52,7 function _parse(value: any, context: Act | |||
|
|
52 | 52 | return t; |
|
|
53 | 53 | } |
|
|
54 | 54 | |
|
|
55 |
export type Cleaner<T> = ((x: T) => void) | MatchingMemberKeys<() => void |
|
|
|
55 | export type Cleaner<T> = ((x: T) => void) | MatchingMemberKeys<T, () => void>; | |
|
|
56 | 56 | |
|
|
57 | 57 | export type InjectionSpec<T> = { |
|
|
58 | 58 | [m in keyof T]?: any; |
| @@ -9,13 +9,13 export type Factory<T = {}> = (...args: | |||
|
|
9 | 9 | |
|
|
10 | 10 | export type Predicate<T = any> = (x: T) => boolean; |
|
|
11 | 11 | |
|
|
12 |
export type MatchingMemberKeys<T, |
|
|
|
12 | export type MatchingMemberKeys<T, U> = { [K in keyof T]: T[K] extends U ? K : never}[keyof T]; | |
|
|
13 | 13 | |
|
|
14 |
export type NotMatchingMemberKeys<T, |
|
|
|
14 | export type NotMatchingMemberKeys<T, U> = { [K in keyof T]: T[K] extends U ? never : K}[keyof T]; | |
|
|
15 | 15 | |
|
|
16 |
export type ExtractMembers<T, |
|
|
|
16 | export type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>; | |
|
|
17 | 17 | |
|
|
18 |
export type ExcludeMembers<T, |
|
|
|
18 | export type ExcludeMembers<T, U> = Pick<T, NotMatchingMemberKeys<T, U>>; | |
|
|
19 | 19 | |
|
|
20 | 20 | export interface MapOf<T> { |
|
|
21 | 21 | [key: string]: T; |
General Comments 0
You need to be logged in to leave comments.
Login now
