@nestjs-mod/afat
Version:
Common utilites for AFAT (Angular, Formly, Antd, Transloco)
15 lines (14 loc) • 523 B
TypeScript
type MarkFunctionProperties<Component> = {
[Key in keyof Component]: Component[Key] extends Function ? never : Key;
};
type ExcludeFunctionPropertyNames<T> = MarkFunctionProperties<T>[keyof T];
type ExcludeFunctions<T> = Pick<T, ExcludeFunctionPropertyNames<T>>;
export type NgChanges<Component, Props = ExcludeFunctions<Component>> = {
[Key in keyof Props]: {
previousValue: Props[Key];
currentValue: Props[Key];
firstChange: boolean;
isFirstChange(): boolean;
};
};
export {};