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
  a78183a3_6dd7_afcd_42a4_8db93d42693e["drizzle()"]
  59c162f8_73c0_8428_6675_320694336518["driver.ts"]
  a78183a3_6dd7_afcd_42a4_8db93d42693e -->|defined in| 59c162f8_73c0_8428_6675_320694336518
  500ce032_ed8a_720f_f17a_8237f8fc187a["construct()"]
  a78183a3_6dd7_afcd_42a4_8db93d42693e -->|calls| 500ce032_ed8a_720f_f17a_8237f8fc187a
  style a78183a3_6dd7_afcd_42a4_8db93d42693e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/neon-serverless/driver.ts lines 91–147

export function drizzle<
	TSchema extends Record<string, unknown> = Record<string, never>,
	TClient extends NeonClient = Pool,
>(
	...params: [
		TClient | string,
	] | [
		TClient | string,
		DrizzleConfig<TSchema>,
	] | [
		(
			& DrizzleConfig<TSchema>
			& ({
				connection: string | PoolConfig;
			} | {
				client: TClient;
			})
			& {
				ws?: any;
			}
		),
	]
): NeonDatabase<TSchema> & {
	$client: NeonClient extends TClient ? Pool : TClient;
} {
	if (typeof params[0] === 'string') {
		const instance = new Pool({
			connectionString: params[0],
		});

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

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

		if (ws) {
			neonConfig.webSocketConstructor = ws;
		}

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

		const instance = typeof connection === 'string'
			? new Pool({
				connectionString: connection,
			})
			: new Pool(connection);

		return construct(instance, drizzleConfig) as any;
	}

	return construct(params[0] as TClient, 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/neon-serverless/driver.ts.
Where is drizzle() defined?
drizzle() is defined in drizzle-orm/src/neon-serverless/driver.ts at line 91.
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