@dotup/dotup-ts-types
Version:
Typescript types and helper
29 lines (28 loc) • 1.21 kB
TypeScript
export declare type AsyncCallbackFunction1<TResult, TArg> = (arg: TArg, callback: (err: Error, buf: TResult) => void) => void;
export declare type AsyncCallbackFunction2<TResult, TArg1, TArg2> = (arg1: TArg1, arg2: TArg2, callback: (err: Error, buf: TResult) => void) => void;
export declare type TypedProperty<T> = {
[key: string]: T;
};
export declare type TypeSaveProperty<T> = {
[K in keyof T]: T[K];
};
export declare type FunctionNamesOnly<T> = {
[K in keyof T]: T[K] extends Function ? K : never;
}[keyof T];
export declare type FunctionsOnly<T> = Pick<T, FunctionNamesOnly<T>>;
export declare type PropertyNamesOnly<T> = {
[K in keyof T]: T[K] extends Function ? never : K;
}[keyof T];
export declare type PropertiesOfType<T, TResult> = {
[K in keyof T]: T[K] extends TResult ? K : never;
}[keyof T];
export declare type PropertiesOnly<T> = Pick<T, PropertyNamesOnly<T>>;
export declare type Nested<T extends string, TContent> = {
[P in T]: TContent;
};
export declare type PartialNested<T extends string, TContent> = {
[P in T]?: TContent;
};
export declare type Weaken<T, K extends keyof T> = {
[P in keyof T]: P extends K ? unknown : T[P];
};