##// END OF EJS Templates
Fixed MatchingMemberKeys, ExtractMembers type parameter names and order
cin -
r156:1a8a956a013f v1.4.0 default
parent child
Show More
@@ -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, T>;
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, From> = { [K in keyof From]: From[K] extends T ? K : never}[keyof From];
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, From> = { [K in keyof From]: From[K] extends T ? never : K}[keyof From];
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, From> = Pick<From, MatchingMemberKeys<T, From>>;
16 export type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>;
17 17
18 export type ExcludeMembers<T, From> = Pick<From, NotMatchingMemberKeys<T, From>>;
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