Files
openpanel/packages/hasura/src/interfaces.ts
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

11 lines
381 B
TypeScript

export type GetFieldsFromList<T extends Record<string, any>> = {
[K in keyof T]: T[K] extends Array<infer U> ? U : never;
}[keyof T];
export type GetFields<T extends Record<any, any>, K = keyof T> = {
[P in keyof NonNullable<T[K]>]: NonNullable<T[K]>[P];
};
// get "object" field from given type
export type GetVariables<T extends Record<any, any>> = GetFields<T, "object">;