BuildSubquerySelection Type — drizzle-orm Architecture
Architecture documentation for the BuildSubquerySelection type/interface in select.types.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 0c874713_f5e9_1fef_39bc_052f37613324["BuildSubquerySelection"] 7e7f8434_4765_0a70_b7fa_d197dd2fa706["select.types.ts"] 0c874713_f5e9_1fef_39bc_052f37613324 -->|defined in| 7e7f8434_4765_0a70_b7fa_d197dd2fa706 style 0c874713_f5e9_1fef_39bc_052f37613324 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/query-builders/select.types.ts lines 116–131
export type BuildSubquerySelection<
TSelection extends ColumnsSelection,
TNullability extends Record<string, JoinNullability>,
> = TSelection extends never ? any
:
& {
[Key in keyof TSelection]: TSelection[Key] extends SQL
? DrizzleTypeError<'You cannot reference this field without assigning it an alias first - use `.as(<alias>)`'>
: TSelection[Key] extends SQL.Aliased ? TSelection[Key]
: TSelection[Key] extends Table ? BuildSubquerySelection<TSelection[Key]['_']['columns'], TNullability>
: TSelection[Key] extends Column
? ApplyNullabilityToColumn<TSelection[Key], TNullability[TSelection[Key]['_']['tableName']]>
: TSelection[Key] extends ColumnsSelection ? BuildSubquerySelection<TSelection[Key], TNullability>
: never;
}
& {};
Source
Frequently Asked Questions
What is the BuildSubquerySelection type?
BuildSubquerySelection is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/query-builders/select.types.ts.
Where is BuildSubquerySelection defined?
BuildSubquerySelection is defined in drizzle-orm/src/query-builders/select.types.ts at line 116.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free