CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
driver.cjs138 linesDownload Raw Back to singlestore
1"use strict";2var __defProp = Object.defineProperty;3var __getOwnPropDesc = Object.getOwnPropertyDescriptor;4var __getOwnPropNames = Object.getOwnPropertyNames;5var __hasOwnProp = Object.prototype.hasOwnProperty;6var __export = (target, all) => {7  for (var name in all)8    __defProp(target, name, { get: all[name], enumerable: true });9};10var __copyProps = (to, from, except, desc) => {11  if (from && typeof from === "object" || typeof from === "function") {12    for (let key of __getOwnPropNames(from))13      if (!__hasOwnProp.call(to, key) && key !== except)14        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });15  }16  return to;17};18var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);19var driver_exports = {};20__export(driver_exports, {21  SingleStoreDatabase: () => import_db2.SingleStoreDatabase,22  SingleStoreDriverDatabase: () => SingleStoreDriverDatabase,23  SingleStoreDriverDriver: () => SingleStoreDriverDriver,24  drizzle: () => drizzle25});26module.exports = __toCommonJS(driver_exports);27var import_mysql2 = require("mysql2");28var import_entity = require("../entity.cjs");29var import_logger = require("../logger.cjs");30var import_relations = require("../relations.cjs");31var import_db = require("../singlestore-core/db.cjs");32var import_dialect = require("../singlestore-core/dialect.cjs");33var import_utils = require("../utils.cjs");34var import_version = require("../version.cjs");35var import_session = require("./session.cjs");36var import_db2 = require("../singlestore-core/db.cjs");37class SingleStoreDriverDriver {38  constructor(client, dialect, options = {}) {39    this.client = client;40    this.dialect = dialect;41    this.options = options;42  }43  static [import_entity.entityKind] = "SingleStoreDriverDriver";44  createSession(schema) {45    return new import_session.SingleStoreDriverSession(this.client, this.dialect, schema, {46      logger: this.options.logger,47      cache: this.options.cache48    });49  }50}51class SingleStoreDriverDatabase extends import_db.SingleStoreDatabase {52  static [import_entity.entityKind] = "SingleStoreDriverDatabase";53}54function construct(client, config = {}) {55  const dialect = new import_dialect.SingleStoreDialect({ casing: config.casing });56  let logger;57  if (config.logger === true) {58    logger = new import_logger.DefaultLogger();59  } else if (config.logger !== false) {60    logger = config.logger;61  }62  const clientForInstance = isCallbackClient(client) ? client.promise() : client;63  let schema;64  if (config.schema) {65    const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(66      config.schema,67      import_relations.createTableRelationsHelpers68    );69    schema = {70      fullSchema: config.schema,71      schema: tablesConfig.tables,72      tableNamesMap: tablesConfig.tableNamesMap73    };74  }75  const driver = new SingleStoreDriverDriver(clientForInstance, dialect, {76    logger,77    cache: config.cache78  });79  const session = driver.createSession(schema);80  const db = new SingleStoreDriverDatabase(dialect, session, schema);81  db.$client = client;82  db.$cache = config.cache;83  if (db.$cache) {84    db.$cache["invalidate"] = config.cache?.onMutate;85  }86  return db;87}88function isCallbackClient(client) {89  return typeof client.promise === "function";90}91const CONNECTION_ATTRS = {92  _connector_name: "SingleStore Drizzle ORM Driver",93  _connector_version: import_version.npmVersion94};95function drizzle(...params) {96  if (typeof params[0] === "string") {97    const connectionString = params[0];98    const instance = (0, import_mysql2.createPool)({99      uri: connectionString,100      connectAttributes: CONNECTION_ATTRS101    });102    return construct(instance, params[1]);103  }104  if ((0, import_utils.isConfig)(params[0])) {105    const { connection, client, ...drizzleConfig } = params[0];106    if (client) return construct(client, drizzleConfig);107    let opts = {};108    opts = typeof connection === "string" ? {109      uri: connection,110      supportBigNumbers: true,111      connectAttributes: CONNECTION_ATTRS112    } : {113      ...connection,114      connectAttributes: {115        ...connection.connectAttributes,116        ...CONNECTION_ATTRS117      }118    };119    const instance = (0, import_mysql2.createPool)(opts);120    const db = construct(instance, drizzleConfig);121    return db;122  }123  return construct(params[0], params[1]);124}125((drizzle2) => {126  function mock(config) {127    return construct({}, config);128  }129  drizzle2.mock = mock;130})(drizzle || (drizzle = {}));131// Annotate the CommonJS export names for ESM import in node:1320 && (module.exports = {133  SingleStoreDatabase,134  SingleStoreDriverDatabase,135  SingleStoreDriverDriver,136  drizzle137});138//# sourceMappingURL=driver.cjs.map