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

construct() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  fa543535_6d4f_661a_3ebc_bbf2d910a800["construct()"]
  e3ae5b13_82ea_5605_6ffb_0726b1b8fbca["driver-core.ts"]
  fa543535_6d4f_661a_3ebc_bbf2d910a800 -->|defined in| e3ae5b13_82ea_5605_6ffb_0726b1b8fbca
  23f55775_9184_a728_9fd0_9ee6478da1d9["drizzle()"]
  23f55775_9184_a728_9fd0_9ee6478da1d9 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  58978b67_48f5_6224_10db_c9fc737b09e3["mock()"]
  58978b67_48f5_6224_10db_c9fc737b09e3 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  6f2a11ac_e441_9546_e911_2d73e383441c["drizzle()"]
  6f2a11ac_e441_9546_e911_2d73e383441c -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  707ba1c3_d5cd_2198_1bba_1b6abfe24d16["mock()"]
  707ba1c3_d5cd_2198_1bba_1b6abfe24d16 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  d4ea1395_7a4d_6f3d_4d80_9590563dc903["drizzle()"]
  d4ea1395_7a4d_6f3d_4d80_9590563dc903 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  d1ff47e8_1555_509c_781b_b6f677e8fec4["mock()"]
  d1ff47e8_1555_509c_781b_b6f677e8fec4 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  a8d3c17c_51d3_d72f_23fa_7a970734aa5a["drizzle()"]
  a8d3c17c_51d3_d72f_23fa_7a970734aa5a -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  a4e774a1_5f9a_bcef_482b_a6d4779fd89e["mock()"]
  a4e774a1_5f9a_bcef_482b_a6d4779fd89e -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  807d0cb1_0d76_4842_87ac_226c861e0053["drizzle()"]
  807d0cb1_0d76_4842_87ac_226c861e0053 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  e5557091_bedf_9ec6_6334_e72ab1c550de["mock()"]
  e5557091_bedf_9ec6_6334_e72ab1c550de -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  05df01db_4a87_e810_5fb4_3bcd15fc6d71["drizzle()"]
  05df01db_4a87_e810_5fb4_3bcd15fc6d71 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  d5de6216_168e_60e0_efce_b072890ee21a["mock()"]
  d5de6216_168e_60e0_efce_b072890ee21a -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  d90dbdab_cd29_29c6_7599_5e27dd953a30["drizzle()"]
  d90dbdab_cd29_29c6_7599_5e27dd953a30 -->|calls| fa543535_6d4f_661a_3ebc_bbf2d910a800
  style fa543535_6d4f_661a_3ebc_bbf2d910a800 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/libsql/driver-core.ts lines 33–67

export function construct<
	TSchema extends Record<string, unknown> = Record<string, never>,
>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> & {
	$client: Client;
} {
	const dialect = new SQLiteAsyncDialect({ 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 session = new LibSQLSession(client, dialect, schema, { logger, cache: config.cache }, undefined);
	const db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;
	(<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

Frequently Asked Questions

What does construct() do?
construct() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/libsql/driver-core.ts.
Where is construct() defined?
construct() is defined in drizzle-orm/src/libsql/driver-core.ts at line 33.
What calls construct()?
construct() is called by 14 function(s): drizzle, drizzle, drizzle, drizzle, drizzle, drizzle, drizzle, mock, and 6 more.

Analyze Your Own Codebase

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

Try Supermodel Free