"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDatabase = createDatabase; const kysely_1 = require("kysely"); const better_sqlite3_1 = __importDefault(require("better-sqlite3")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); function createDatabase(config) { if (config.driver === 'postgres') { // eslint-disable-next-line @typescript-eslint/no-require-imports const { Pool } = require('pg'); // eslint-disable-next-line @typescript-eslint/no-require-imports const { PostgresDialect } = require('kysely'); return new kysely_1.Kysely({ dialect: new PostgresDialect({ pool: new Pool({ connectionString: config.url }) }), }); } fs_1.default.mkdirSync(path_1.default.dirname(config.path), { recursive: true }); return new kysely_1.Kysely({ dialect: new kysely_1.SqliteDialect({ database: new better_sqlite3_1.default(config.path) }), }); }