UNPKG

godot-sqlite-kysely

Version:

Kysely dialect for godot-sqlite. Adds SQLite support to Godot/GodotJS.

51 lines (50 loc) 1.84 kB
"use strict"; 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;