From b2d0ad57ddf251a109d536cdc49fb6505dbdc50c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 11 Jul 2023 15:41:48 +0200 Subject: sqlite3 backend for idb-bridge / wallet-core --- packages/idb-bridge/src/testingdb.ts | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 packages/idb-bridge/src/testingdb.ts (limited to 'packages/idb-bridge/src/testingdb.ts') diff --git a/packages/idb-bridge/src/testingdb.ts b/packages/idb-bridge/src/testingdb.ts new file mode 100644 index 000000000..c6abffa0f --- /dev/null +++ b/packages/idb-bridge/src/testingdb.ts @@ -0,0 +1,43 @@ +/* + Copyright 2023 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see + */ + +import { createSqliteBackend } from "./SqliteBackend.js"; +import { BridgeIDBFactory } from "./bridge-idb.js"; +import { IDBFactory } from "./idbtypes.js"; +import { createNodeSqlite3Impl } from "./node-sqlite3-impl.js"; + +let idbFactory: IDBFactory | undefined = undefined; + +export async function initTestIndexedDB(): Promise { + // const backend = new MemoryBackend(); + // backend.enableTracing = true; + + const sqlite3Impl = await createNodeSqlite3Impl(); + + const backend = await createSqliteBackend(sqlite3Impl, { + filename: ":memory:", + }); + + idbFactory = new BridgeIDBFactory(backend); + backend.enableTracing = true; + BridgeIDBFactory.enableTracing = false; +} + +export function useTestIndexedDb(): IDBFactory { + if (!idbFactory) { + throw Error("indexeddb factory not initialized"); + } + return idbFactory; +} -- cgit v1.2.3