NonFunctionKeys
NonFunctionKeys
@example
type MixedProps = {name: string; setName: (name: string) => void; someKeys?: string; someFn?: (...args: any) => any;};
// Expect: "name | someKey"
type Keys = NonFunctionKeys<MixedProps>;
type NonFunctionKeys<T extends object> = [K in keyof T]-?: NonUndefined<T[K]> extends Function ? never : K[keyof T];