MCPcopy
hub / github.com/drizzle-team/drizzle-orm / drizzle

Function drizzle

drizzle-orm/src/op-sqlite/driver.ts:21–57  ·  view source on GitHub ↗
(
	client: OPSQLiteConnection,
	config: DrizzleConfig<TSchema> = {},
)

Source from the content-addressed store, hash-verified

19}
20
21export function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(
22 client: OPSQLiteConnection,
23 config: DrizzleConfig<TSchema> = {},
24): OPSQLiteDatabase<TSchema> & {
25 $client: OPSQLiteConnection;
26} {
27 const dialect = new SQLiteAsyncDialect({ casing: config.casing });
28 let logger;
29 if (config.logger === true) {
30 logger = new DefaultLogger();
31 } else if (config.logger !== false) {
32 logger = config.logger;
33 }
34
35 let schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;
36 if (config.schema) {
37 const tablesConfig = extractTablesRelationalConfig(
38 config.schema,
39 createTableRelationsHelpers,
40 );
41 schema = {
42 fullSchema: config.schema,
43 schema: tablesConfig.tables,
44 tableNamesMap: tablesConfig.tableNamesMap,
45 };
46 }
47
48 const session = new OPSQLiteSession(client, dialect, schema, { logger, cache: config.cache });
49 const db = new OPSQLiteDatabase('async', dialect, session, schema) as OPSQLiteDatabase<TSchema>;
50 (<any> db).$client = client;
51 (<any> db).$cache = config.cache;
52 if ((<any> db).$cache) {
53 (<any> db).$cache['invalidate'] = config.cache?.onMutate;
54 }
55
56 return db as any;
57}

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected