import { Database } from "./database.mjs"; import { PawSQLiteError } from "./pawsqlite_error.mjs"; import { enableDebug } from "./log.mjs"; // Adapters import { PSQLAdapter } from "./adapters/cordova_pawsqlite/psql_adapter.mjs"; import { WebSQLAdapter } from "./adapters/websql/websql_adapter.mjs"; export default { open: async function(dbName, options = {}) { const adapter = getAdapter(options.adapter); let db = new Database(dbName, adapter); await db.open(); return db; }, delete: function(dbName, options = {}) { const adapter = getAdapter(options.adapter); return adapter.delete(dbName); }, debug: enableDebug, Error: PawSQLiteError }; function getAdapter(adapterName) { if (!adapterName) { adapterName = "pawsqlite"; } else { adapterName = adapterName.toLowerCase(); } if (adapterName === "pawsqlite") { return PSQLAdapter; } else if (adapterName === "websql") { return WebSQLAdapter; } else { throw new PawSQLiteError(`Unknown Adapter: ${adapterName}`); } }