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

Function drizzle

drizzle-orm/src/expo-sqlite/driver.ts:21–53  ·  view source on GitHub ↗
(
	client: SQLiteDatabase,
	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: SQLiteDatabase,
23 config: DrizzleConfig<TSchema> = {},
24): ExpoSQLiteDatabase<TSchema> & {
25 $client: SQLiteDatabase;
26} {
27 const dialect = new SQLiteSyncDialect({ 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 ExpoSQLiteSession(client, dialect, schema, { logger });
49 const db = new ExpoSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase<TSchema>;
50 (<any> db).$client = client;
51
52 return db as any;
53}

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected