godot-sqlite-kysely
Version:
Kysely dialect for godot-sqlite. Adds SQLite support to Godot/GodotJS.
51 lines (50 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GodotSQLiteKyselyDriver = void 0;
const GodotSQLiteKyselyWorkerConnection_1 = require("./GodotSQLiteKyselyWorkerConnection");
const GodotSQLiteKyselySyncConnection_1 = require("./GodotSQLiteKyselySyncConnection");
const utils_1 = require("./utils");
class GodotSQLiteKyselyDriver {
#config;
#connection;
constructor(config) {
this.#config = config;
}
async init() { }
async acquireConnection() {
let connection = this.#connection;
if (!connection) {
const config = this.#config;
if (config.connection) {
connection = new GodotSQLiteKyselySyncConnection_1.GodotSQLiteKyselySyncConnection(config.connection);
}
else {
connection = config.workerModule
? new GodotSQLiteKyselyWorkerConnection_1.GodotSQLiteKyselyWorkerConnection(config, config.workerModule)
: new GodotSQLiteKyselySyncConnection_1.GodotSQLiteKyselySyncConnection((0, utils_1.createSQLiteConnection)(config));
}
this.#connection = connection;
}
return connection;
}
async releaseConnection(_connection) {
// Not implemented. No pooling.
}
beginTransaction(connection, _settings) {
return connection.beginTransaction();
}
commitTransaction(connection) {
return connection.commitTransaction();
}
rollbackTransaction(connection) {
return connection.rollbackTransaction();
}
async destroy() {
if (!this.#connection || this.#config.connection) {
return;
}
this.#connection.close();
this.#connection = undefined;
}
}
exports.GodotSQLiteKyselyDriver = GodotSQLiteKyselyDriver;