CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
driver.js46 linesDownload Raw Back to op-sqlite
1import { entityKind } from "../entity.js";2import { DefaultLogger } from "../logger.js";3import {4  createTableRelationsHelpers,5  extractTablesRelationalConfig6} from "../relations.js";7import { BaseSQLiteDatabase } from "../sqlite-core/db.js";8import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";9import { OPSQLiteSession } from "./session.js";10class OPSQLiteDatabase extends BaseSQLiteDatabase {11  static [entityKind] = "OPSQLiteDatabase";12}13function drizzle(client, config = {}) {14  const dialect = new SQLiteAsyncDialect({ casing: config.casing });15  let logger;16  if (config.logger === true) {17    logger = new DefaultLogger();18  } else if (config.logger !== false) {19    logger = config.logger;20  }21  let schema;22  if (config.schema) {23    const tablesConfig = extractTablesRelationalConfig(24      config.schema,25      createTableRelationsHelpers26    );27    schema = {28      fullSchema: config.schema,29      schema: tablesConfig.tables,30      tableNamesMap: tablesConfig.tableNamesMap31    };32  }33  const session = new OPSQLiteSession(client, dialect, schema, { logger, cache: config.cache });34  const db = new OPSQLiteDatabase("async", dialect, session, schema);35  db.$client = client;36  db.$cache = config.cache;37  if (db.$cache) {38    db.$cache["invalidate"] = config.cache?.onMutate;39  }40  return db;41}42export {43  OPSQLiteDatabase,44  drizzle45};46//# sourceMappingURL=driver.js.map