@opengis/fastify-table
Version:
core-plugins
27 lines (26 loc) • 1 kB
JavaScript
import path from "node:path";
const { name: execName } = path.parse(process.argv0);
// import Database from 'better-sqlite3'; // error with bun
const { default: Database } = execName === "bun"
? { default: (await import("bun:sqlite")).Database }
: await import("better-sqlite3");
import config from "../../../../config.js";
import sqliteClients from "../sqliteClients.js";
import init from "./init.js";
function getSqliteAsync({ name, readonly = false, fileMustExist = false, statement_timeout: timeout = 10000, } = {}) {
if (!config.sqlite)
return null;
if (sqliteClients.client?.tlist) {
return sqliteClients.client;
}
const dbConfig = {
readonly,
fileMustExist,
timeout,
verbose: config.trace ? console.log : undefined,
};
sqliteClients.client = new Database(name || ":memory:", execName === "bun" ? undefined : dbConfig);
init(sqliteClients.client);
return sqliteClients.client;
}
export default getSqliteAsync;