Skip to main content

Type alias: ModelRelationDotKey<M, Depth>

ModelRelationDotKey<M, Depth>: [Depth] extends [0] ? never : keyof ModelInferSchema<M> extends infer K ? K extends string & keyof ModelInferSchema<M> & keyof ModelValues<M> ? ModelInferSchema<M>[K] extends never ? never : ModelInferSchema<M>[K] extends ModelRelation<any, infer T> ? T extends any[] ? K | `${K}.${ModelRelationDotKey<T[number], Prev[Depth]>}` : K | `${K}.${ModelRelationDotKey<T, Prev[Depth]>}` : never : never : never

Model class or instance relations key (supports nested relation using dot separator).

Example

const keys: ModelRelationDotKey<Post>[] = ['comments', 'comments.author', 'tags'];

Type parameters

M

Depth extends number = 5

Source

packages/core/src/model/types.ts:512