ManualViewBuilder Class — drizzle-orm Architecture
Architecture documentation for the ManualViewBuilder class in view.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 07f020a4_fffb_5518_d2d8_cd96e03c64d5["ManualViewBuilder"] a44cb974_fe5a_c572_a91a_51fe8c82034c["view.ts"] 07f020a4_fffb_5518_d2d8_cd96e03c64d5 -->|defined in| a44cb974_fe5a_c572_a91a_51fe8c82034c fe461d04_cebd_2765_e4e8_c5ac8fdf8a38["constructor()"] 07f020a4_fffb_5518_d2d8_cd96e03c64d5 -->|method| fe461d04_cebd_2765_e4e8_c5ac8fdf8a38 2bb0fa00_3bb8_5c60_fe7f_1573b3d19458["existing()"] 07f020a4_fffb_5518_d2d8_cd96e03c64d5 -->|method| 2bb0fa00_3bb8_5c60_fe7f_1573b3d19458 51d78266_c8a4_9dce_f70d_c72c1c5d8deb["as()"] 07f020a4_fffb_5518_d2d8_cd96e03c64d5 -->|method| 51d78266_c8a4_9dce_f70d_c72c1c5d8deb
Relationship Graph
Source Code
drizzle-orm/src/pg-core/view.ts lines 75–131
export class ManualViewBuilder<
TName extends string = string,
TColumns extends Record<string, PgColumnBuilderBase> = Record<string, PgColumnBuilderBase>,
> extends DefaultViewBuilderCore<{ name: TName; columns: TColumns }> {
static override readonly [entityKind]: string = 'PgManualViewBuilder';
private columns: Record<string, PgColumn>;
constructor(
name: TName,
columns: TColumns,
schema: string | undefined,
) {
super(name, schema);
this.columns = getTableColumns(pgTable(name, columns));
}
existing(): PgViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'pg'>> {
return new Proxy(
new PgView({
pgConfig: undefined,
config: {
name: this.name,
schema: this.schema,
selectedFields: this.columns,
query: undefined,
},
}),
new SelectionProxyHandler({
alias: this.name,
sqlBehavior: 'error',
sqlAliasedBehavior: 'alias',
replaceOriginalName: true,
}),
) as PgViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'pg'>>;
}
as(query: SQL): PgViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'pg'>> {
return new Proxy(
new PgView({
pgConfig: this.config,
config: {
name: this.name,
schema: this.schema,
selectedFields: this.columns,
query: query.inlineParams(),
},
}),
new SelectionProxyHandler({
alias: this.name,
sqlBehavior: 'error',
sqlAliasedBehavior: 'alias',
replaceOriginalName: true,
}),
) as PgViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'pg'>>;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the ManualViewBuilder class?
ManualViewBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/view.ts.
Where is ManualViewBuilder defined?
ManualViewBuilder is defined in drizzle-orm/src/pg-core/view.ts at line 75.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free