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

drizzle() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  ec3cb042_b195_d01f_e6fd_a004d95f110b["drizzle()"]
  ade454a0_abf8_c234_ac4a_1a7e60fde376["driver.ts"]
  ec3cb042_b195_d01f_e6fd_a004d95f110b -->|defined in| ade454a0_abf8_c234_ac4a_1a7e60fde376
  aaba1db0_7026_c440_5b36_3feb79ae38e8["construct()"]
  ec3cb042_b195_d01f_e6fd_a004d95f110b -->|calls| aaba1db0_7026_c440_5b36_3feb79ae38e8
  de468185_feb7_af5b_54d8_82e9fa6216c9["values()"]
  ec3cb042_b195_d01f_e6fd_a004d95f110b -->|calls| de468185_feb7_af5b_54d8_82e9fa6216c9
  style ec3cb042_b195_d01f_e6fd_a004d95f110b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/bun-sqlite/driver.ts lines 85–143

export function drizzle<
	TSchema extends Record<string, unknown> = Record<string, never>,
	TClient extends Database = Database,
>(
	...params:
		| []
		| [
			TClient | string,
		]
		| [
			TClient | string,
			DrizzleConfig<TSchema>,
		]
		| [
			(
				& DrizzleConfig<TSchema>
				& ({
					connection?: DrizzleBunSqliteDatabaseConfig;
				} | {
					client: TClient;
				})
			),
		]
): BunSQLiteDatabase<TSchema> & {
	$client: TClient;
} {
	if (params[0] === undefined || typeof params[0] === 'string') {
		const instance = params[0] === undefined ? new Database() : new Database(params[0]);

		return construct(instance, params[1]) as any;
	}

	if (isConfig(params[0])) {
		const { connection, client, ...drizzleConfig } = params[0] as
			& ({
				connection?: DrizzleBunSqliteDatabaseConfig | string;
				client?: TClient;
			})
			& DrizzleConfig<TSchema>;

		if (client) return construct(client, drizzleConfig) as any;

		if (typeof connection === 'object') {
			const { source, ...opts } = connection;

			const options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;

			const instance = new Database(source, options);

			return construct(instance, drizzleConfig) as any;
		}

		const instance = new Database(connection);

		return construct(instance, drizzleConfig) as any;
	}

	return construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;
}

Domain

Subdomains

Frequently Asked Questions

What does drizzle() do?
drizzle() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/bun-sqlite/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/bun-sqlite/driver.ts at line 85.
What does drizzle() call?
drizzle() calls 2 function(s): construct, values.

Analyze Your Own Codebase

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

Try Supermodel Free