Type alias Project<Entity, AST, Scalars, P, Cache>
Project
<Entity, AST, Scalars, P, Cache>: 0 extends 1 & Cache ? any : Selector<Projection<Entity, AST>, P> extends infer S
? S extends "empty" ? { __projection
: "empty"; } : S extends "unknown" ? Cache extends { model
: infer Model
; } ? PartialDeep<Model> & { __projection
: "unknown"; } : PartialDeep<GenerateModel<Entity, AST, Scalars, "relation">> & { __projection
: "unknown"; } : S extends "all" ? Cache extends { insertResult
: infer InsertResult
; } ? InsertResult & { __projection
: "all"; } : GenerateModel<Entity, AST, Scalars, "relation"> & { __projection
: "all"; } : DecorateModel<OmitNever<{ [ K in keyof P]: K extends keyof AST[Entity]["fields"] ? AST[Entity]["fields"][K] extends { astName
: infer ASTName
; type
: infer Type
; } ? ASTName extends string ? P[K] extends true ? Type extends "scalar" ? Scalars[ASTName]["type"] : GenerateModel<ASTName, AST, Scalars, "relation"> : Project<ASTName, AST, Scalars, P[K]> : never : never : never }>, Entity, AST> & { __projection
: P; } : never
Type Parameters
-
Entity extends string
-
-
-
P
-
Cache extends CachedTypes | null = null