UNPKG

machinomy

Version:

Micropayments powered by Ethereum

45 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const sqlite = require("sqlite3"); const SqliteDatastore_1 = require("./SqliteDatastore"); let db = new Map(); class EngineSqlite { constructor(url) { if (url.startsWith('sqlite://')) { url = url.replace('sqlite://', ''); } let found = db.get(url); if (found) { this.datastore = found; } else { this.datastore = new SqliteDatastore_1.default(new sqlite.Database(url)); db.set(url, this.datastore); } } isConnected() { return true; } async connect() { return Promise.resolve(); } async close() { return this.exec(async (client) => { return client.close(); }); } async drop() { return this.exec(async (client) => { let row = await client.get('PRAGMA database_list'); if (row && row.file && row.file.length > 0) { fs.unlinkSync(row.file); } }); } async exec(fn) { return fn(this.datastore); } } exports.default = EngineSqlite; //# sourceMappingURL=EngineSqlite.js.map