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

construct() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  068740e8_2543_b6bc_c68c_e62bdd7764f1["construct()"]
  a31a3294_138f_5fe3_66a6_78efb3064274["driver.ts"]
  068740e8_2543_b6bc_c68c_e62bdd7764f1 -->|defined in| a31a3294_138f_5fe3_66a6_78efb3064274
  324d63d2_4784_427e_6adb_09eb9e7ab5a4["drizzle()"]
  324d63d2_4784_427e_6adb_09eb9e7ab5a4 -->|calls| 068740e8_2543_b6bc_c68c_e62bdd7764f1
  f3d99c01_2cf7_3063_3808_089afded7ac8["mock()"]
  f3d99c01_2cf7_3063_3808_089afded7ac8 -->|calls| 068740e8_2543_b6bc_c68c_e62bdd7764f1
  9790b2b7_cbde_3e69_866f_d233ccb4262d["createSession()"]
  068740e8_2543_b6bc_c68c_e62bdd7764f1 -->|calls| 9790b2b7_cbde_3e69_866f_d233ccb4262d
  style 068740e8_2543_b6bc_c68c_e62bdd7764f1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/neon-http/driver.ts lines 124–169

function construct<
	TSchema extends Record<string, unknown> = Record<string, never>,
	TClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,
>(
	client: TClient,
	config: DrizzleConfig<TSchema> = {},
): NeonHttpDatabase<TSchema> & {
	$client: TClient;
} {
	const dialect = new PgDialect({ casing: config.casing });
	let logger;
	if (config.logger === true) {
		logger = new DefaultLogger();
	} else if (config.logger !== false) {
		logger = config.logger;
	}

	let schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;
	if (config.schema) {
		const tablesConfig = extractTablesRelationalConfig(
			config.schema,
			createTableRelationsHelpers,
		);
		schema = {
			fullSchema: config.schema,
			schema: tablesConfig.tables,
			tableNamesMap: tablesConfig.tableNamesMap,
		};
	}

	const driver = new NeonHttpDriver(client, dialect, { logger, cache: config.cache });
	const session = driver.createSession(schema);

	const db = new NeonHttpDatabase(
		dialect,
		session,
		schema as RelationalSchemaConfig<ExtractTablesWithRelations<TSchema>> | undefined,
	);
	(<any> db).$client = client;
	(<any> db).$cache = config.cache;
	if ((<any> db).$cache) {
		(<any> db).$cache['invalidate'] = config.cache?.onMutate;
	}

	return db as any;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does construct() do?
construct() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/neon-http/driver.ts.
Where is construct() defined?
construct() is defined in drizzle-orm/src/neon-http/driver.ts at line 124.
What does construct() call?
construct() calls 1 function(s): createSession.
What calls construct()?
construct() is called by 2 function(s): drizzle, mock.

Analyze Your Own Codebase

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

Try Supermodel Free