AK-21/Graphite-Industrial-Intelligence
0
1import { DefaultLogger } from "../logger.js";2import {3 createTableRelationsHelpers,4 extractTablesRelationalConfig5} from "../relations.js";6import { BaseSQLiteDatabase } from "../sqlite-core/db.js";7import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";8import { SQLJsSession } from "./session.js";9function drizzle(client, config = {}) {10 const dialect = new SQLiteSyncDialect({ casing: config.casing });11 let logger;12 if (config.logger === true) {13 logger = new DefaultLogger();14 } else if (config.logger !== false) {15 logger = config.logger;16 }17 let schema;18 if (config.schema) {19 const tablesConfig = extractTablesRelationalConfig(20 config.schema,21 createTableRelationsHelpers22 );23 schema = {24 fullSchema: config.schema,25 schema: tablesConfig.tables,26 tableNamesMap: tablesConfig.tableNamesMap27 };28 }29 const session = new SQLJsSession(client, dialect, schema, { logger });30 return new BaseSQLiteDatabase("sync", dialect, session, schema);31}32export {33 drizzle34};35//# sourceMappingURL=driver.js.map