UNPKG

kysely

Version:
52 lines (51 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SqliteDialect = void 0; const sqlite_driver_js_1 = require("./sqlite-driver.js"); const sqlite_query_compiler_js_1 = require("./sqlite-query-compiler.js"); const sqlite_introspector_js_1 = require("./sqlite-introspector.js"); const sqlite_adapter_js_1 = require("./sqlite-adapter.js"); const object_utils_js_1 = require("../../util/object-utils.js"); /** * SQLite dialect that uses the [better-sqlite3](https://github.com/JoshuaWise/better-sqlite3) library. * * The constructor takes an instance of {@link SqliteDialectConfig}. * * ```ts * import Database from 'better-sqlite3' * * new SqliteDialect({ * database: new Database('db.sqlite') * }) * ``` * * If you want the pool to only be created once it's first used, `database` * can be a function: * * ```ts * import Database from 'better-sqlite3' * * new SqliteDialect({ * database: async () => new Database('db.sqlite') * }) * ``` */ class SqliteDialect { #config; constructor(config) { this.#config = (0, object_utils_js_1.freeze)({ ...config }); } createDriver() { return new sqlite_driver_js_1.SqliteDriver(this.#config); } createQueryCompiler() { return new sqlite_query_compiler_js_1.SqliteQueryCompiler(); } createAdapter() { return new sqlite_adapter_js_1.SqliteAdapter(); } createIntrospector(db) { return new sqlite_introspector_js_1.SqliteIntrospector(db); } } exports.SqliteDialect = SqliteDialect;