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 1d254cb5_b6b3_1a9b_793c_794527dee644["ManualViewBuilder"] d25d55b4_d8a4_6f19_2b5c_2ef3a5375746["view.ts"] 1d254cb5_b6b3_1a9b_793c_794527dee644 -->|defined in| d25d55b4_d8a4_6f19_2b5c_2ef3a5375746 694ef068_cb38_db38_2fe8_748b62453192["constructor()"] 1d254cb5_b6b3_1a9b_793c_794527dee644 -->|method| 694ef068_cb38_db38_2fe8_748b62453192 50fca238_f126_9907_7b54_1a80279c568c["existing()"] 1d254cb5_b6b3_1a9b_793c_794527dee644 -->|method| 50fca238_f126_9907_7b54_1a80279c568c 08eaabed_a5b2_e70c_cf41_5aa75a588256["as()"] 1d254cb5_b6b3_1a9b_793c_794527dee644 -->|method| 08eaabed_a5b2_e70c_cf41_5aa75a588256
Relationship Graph
Source Code
drizzle-orm/src/sqlite-core/view.ts lines 69–124
export class ManualViewBuilder<
TName extends string = string,
TColumns extends Record<string, SQLiteColumnBuilderBase> = Record<string, SQLiteColumnBuilderBase>,
> extends ViewBuilderCore<
{ name: TName; columns: TColumns }
> {
static override readonly [entityKind]: string = 'SQLiteManualViewBuilder';
private columns: Record<string, SQLiteColumn>;
constructor(
name: TName,
columns: TColumns,
) {
super(name);
this.columns = getTableColumns(sqliteTable(name, columns)) as BuildColumns<TName, TColumns, 'sqlite'>;
}
existing(): SQLiteViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'sqlite'>> {
return new Proxy(
new SQLiteView({
config: {
name: this.name,
schema: undefined,
selectedFields: this.columns,
query: undefined,
},
}),
new SelectionProxyHandler({
alias: this.name,
sqlBehavior: 'error',
sqlAliasedBehavior: 'alias',
replaceOriginalName: true,
}),
) as SQLiteViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'sqlite'>>;
}
as(query: SQL): SQLiteViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'sqlite'>> {
return new Proxy(
new SQLiteView({
config: {
name: this.name,
schema: undefined,
selectedFields: this.columns,
query: query.inlineParams(),
},
}),
new SelectionProxyHandler({
alias: this.name,
sqlBehavior: 'error',
sqlAliasedBehavior: 'alias',
replaceOriginalName: true,
}),
) as SQLiteViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'sqlite'>>;
}
}
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/sqlite-core/view.ts.
Where is ManualViewBuilder defined?
ManualViewBuilder is defined in drizzle-orm/src/sqlite-core/view.ts at line 69.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free