Home / Function/ as() — drizzle-orm Function Reference

as() — drizzle-orm Function Reference

Architecture documentation for the as() function in view.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  84d5669b_099c_86aa_033e_98a49f85661c["as()"]
  45cecfc5_0507_51c1_fd8c_a51242ef4668["ViewBuilder"]
  84d5669b_099c_86aa_033e_98a49f85661c -->|defined in| 45cecfc5_0507_51c1_fd8c_a51242ef4668
  style 84d5669b_099c_86aa_033e_98a49f85661c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/view.ts lines 60–85

	as<TSelectedFields extends ColumnsSelection>(
		qb: TypedQueryBuilder<TSelectedFields> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelectedFields>),
	): MySqlViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'mysql'>> {
		if (typeof qb === 'function') {
			qb = qb(new QueryBuilder());
		}
		const selectionProxy = new SelectionProxyHandler<TSelectedFields>({
			alias: this.name,
			sqlBehavior: 'error',
			sqlAliasedBehavior: 'alias',
			replaceOriginalName: true,
		});
		const aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);
		return new Proxy(
			new MySqlView({
				mysqlConfig: this.config,
				config: {
					name: this.name,
					schema: this.schema,
					selectedFields: aliasedSelection,
					query: qb.getSQL().inlineParams(),
				},
			}),
			selectionProxy as any,
		) as MySqlViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'mysql'>>;
	}

Domain

Subdomains

Frequently Asked Questions

What does as() do?
as() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/view.ts.
Where is as() defined?
as() is defined in drizzle-orm/src/mysql-core/view.ts at line 60.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free