mirror of
https://github.com/hexastack/hexabot
synced 2024-11-25 21:37:59 +00:00
fix(api): exclude functions as nested types
This commit is contained in:
parent
7a7ebb21bc
commit
2781abbc56
@ -16,11 +16,14 @@ export type TFilterKeysOfNeverType<T> = Omit<T, TFilterKeysOfType<T, []>>;
|
||||
|
||||
export type NestedKeys<T> = T extends object
|
||||
? {
|
||||
[K in keyof T]: Array<any> extends T[K]
|
||||
? Exclude<K, symbol>
|
||||
: K extends symbol
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
[K in keyof T]: T[K] extends Function
|
||||
? never
|
||||
: Array<any> extends T[K]
|
||||
? Exclude<K, symbol>
|
||||
: `${Exclude<K, symbol>}${'' | `.${NestedKeys<T[K]>}`}`;
|
||||
: K extends symbol
|
||||
? Exclude<K, symbol>
|
||||
: `${Exclude<K, symbol>}${'' | `.${NestedKeys<T[K]>}`}`;
|
||||
}[keyof T]
|
||||
: never;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user