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
  8a735c63_1434_c930_313a_785cb08187d1["drizzle()"]
  84c51149_b6db_0b9a_6291_ce0d0f0b183c["driver.ts"]
  8a735c63_1434_c930_313a_785cb08187d1 -->|defined in| 84c51149_b6db_0b9a_6291_ce0d0f0b183c
  db63f71b_7d24_8ddd_e53f_e0073f40480e["construct()"]
  8a735c63_1434_c930_313a_785cb08187d1 -->|calls| db63f71b_7d24_8ddd_e53f_e0073f40480e
  style 8a735c63_1434_c930_313a_785cb08187d1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/better-sqlite3/driver.ts lines 68–123

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

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

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

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

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

			const instance = new Client(source, options);

			return construct(instance, drizzleConfig) as any;
		}

		const instance = new Client(connection);

		return construct(instance, drizzleConfig) as any;
	}

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

Domain

Subdomains

Calls

Frequently Asked Questions

What does drizzle() do?
drizzle() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/better-sqlite3/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/better-sqlite3/driver.ts at line 68.
What does drizzle() call?
drizzle() calls 1 function(s): construct.

Analyze Your Own Codebase

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

Try Supermodel Free