This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.

41 lines
929 B
JavaScript
Raw Permalink Normal View History

2021-04-02 02:24:13 +03:00
'use strict';
var immediate = require('immediate');
var argsarray = require('argsarray');
var WebSQLDatabase = require('./websql/WebSQLDatabase');
function customOpenDatabase(SQLiteDatabase) {
function createDb(dbName, dbVersion) {
var sqliteDatabase = new SQLiteDatabase(dbName);
return new WebSQLDatabase(dbVersion, sqliteDatabase);
}
function openDatabase(args) {
if (args.length < 4) {
throw new Error('Failed to execute \'openDatabase\': ' +
'4 arguments required, but only ' + args.length + ' present');
}
var dbName = args[0];
var dbVersion = args[1];
// db description and size are ignored
var callback = args[4];
var db = createDb(dbName, dbVersion);
if (typeof callback === 'function') {
immediate(function () {
callback(db);
});
}
return db;
}
return argsarray(openDatabase);
}
module.exports = customOpenDatabase;