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

Generated using TypeDoc