CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
driver-core.js49 linesDownload Raw Back to libsql
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 { LibSQLSession } from "./session.js";10class LibSQLDatabase extends BaseSQLiteDatabase {11  static [entityKind] = "LibSQLDatabase";12  async batch(batch) {13    return this.session.batch(batch);14  }15}16function construct(client, config = {}) {17  const dialect = new SQLiteAsyncDialect({ casing: config.casing });18  let logger;19  if (config.logger === true) {20    logger = new DefaultLogger();21  } else if (config.logger !== false) {22    logger = config.logger;23  }24  let schema;25  if (config.schema) {26    const tablesConfig = extractTablesRelationalConfig(27      config.schema,28      createTableRelationsHelpers29    );30    schema = {31      fullSchema: config.schema,32      schema: tablesConfig.tables,33      tableNamesMap: tablesConfig.tableNamesMap34    };35  }36  const session = new LibSQLSession(client, dialect, schema, { logger, cache: config.cache }, void 0);37  const db = new LibSQLDatabase("async", dialect, session, schema);38  db.$client = client;39  db.$cache = config.cache;40  if (db.$cache) {41    db.$cache["invalidate"] = config.cache?.onMutate;42  }43  return db;44}45export {46  LibSQLDatabase,47  construct48};49//# sourceMappingURL=driver-core.js.map