UNPKG

redux-persist-cordova-sqlite

Version:
59 lines (56 loc) 2.05 kB
/** * Returns a function to avoid eager execution of window.sqlitePlugin.openDatabase * */ var sqlLiteStorage = function sqlLiteStorage() { var db = window.sqlitePlugin.openDatabase({ name: 'redux-store-db', location: 'default' }); return { getItem: function getItem(key) { return new Promise(function (resolve, reject) { try { db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS redux_store (key, value)', []); tx.executeSql('SELECT value FROM redux_store WHERE key = ?', [key], function (tx, rs) { resolve(rs.rows.item(0).value); }); }, function (err) { reject(err); }, function (res) { resolve(res); }); } catch (err) { console.error(err); reject(err); } }); }, setItem: function setItem(key, value) { return new Promise(function (resolve, reject) { db.transaction(function (tx) { tx.executeSql('UPDATE redux_store SET value = ? WHERE key = ?', [value, key]); }, function (err) { reject(err); }, function (res) { resolve(res); }); }); }, removeItem: function removeItem(key) { return new Promise(function (resolve, reject) { db.transaction(function (tx) { tx.executeSql('DELETE FROM redux_store WHERE key = ?', [key]); }, function (err) { reject(err); }, function (res) { console.log(res); resolve(res); }); }); } }; }; export { sqlLiteStorage }; //# sourceMappingURL=index.es.js.map