UNPKG

redux-persist-cordova-sqlite

Version:
63 lines (58 loc) 2.14 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * 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); }); }); } }; }; exports.sqlLiteStorage = sqlLiteStorage; //# sourceMappingURL=index.js.map