BuildQueryResult Type — drizzle-orm Architecture
Architecture documentation for the BuildQueryResult type/interface in relations.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 83e78079_d43c_d440_5674_d2461a1b4a89["BuildQueryResult"] 2f47d090_425d_2e56_2395_4c4d912316f0["relations.ts"] 83e78079_d43c_d440_5674_d2461a1b4a89 -->|defined in| 2f47d090_425d_2e56_2395_4c4d912316f0 style 83e78079_d43c_d440_5674_d2461a1b4a89 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/relations.ts lines 349–404
export type BuildQueryResult<
TSchema extends TablesRelationalConfig,
TTableConfig extends TableRelationalConfig,
TFullSelection extends true | Record<string, unknown>,
> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>
: TFullSelection extends Record<string, unknown> ? Simplify<
& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<
{
[
K in Equal<
Exclude<
TFullSelection['columns'][
& keyof TFullSelection['columns']
& keyof TTableConfig['columns']
],
undefined
>,
false
> extends true ? Exclude<
keyof TTableConfig['columns'],
NonUndefinedKeysOnly<TFullSelection['columns']>
>
:
& {
[K in keyof TFullSelection['columns']]: Equal<
TFullSelection['columns'][K],
true
> extends true ? K
: never;
}[keyof TFullSelection['columns']]
& keyof TTableConfig['columns']
]: TTableConfig['columns'][K];
}
>
: InferModelFromColumns<TTableConfig['columns']>)
& (TFullSelection['extras'] extends
| Record<string, unknown>
| ((...args: any[]) => Record<string, unknown>) ? {
[
K in NonUndefinedKeysOnly<
ReturnTypeOrValue<TFullSelection['extras']>
>
]: Assume<
ReturnTypeOrValue<TFullSelection['extras']>[K],
SQL.Aliased
>['_']['type'];
}
: {})
& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<
TSchema,
TFullSelection['with'],
TTableConfig['relations']
>
: {})
>
: never;
Defined In
Source
Frequently Asked Questions
What is the BuildQueryResult type?
BuildQueryResult is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/relations.ts.
Where is BuildQueryResult defined?
BuildQueryResult is defined in drizzle-orm/src/relations.ts at line 349.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free