zapier-async-storage
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -6,22 +6,28 @@ 'use strict'; | ||
}); | ||
var clearStore = function clearStore(dbInstance, storeName) { | ||
var _constants = require('./constants'); | ||
var clearStore = function clearStore(dbInstance, name) { | ||
return new Promise(function (resolve, reject) { | ||
try { | ||
var transaction = dbInstance.transaction(storeName, 'readwrite'); | ||
var objectStore = transaction.objectStore(storeName); | ||
var transaction = dbInstance.transaction(name, _constants.READ_WRITE); | ||
var objectStore = transaction.objectStore(name); | ||
objectStore.clear(); | ||
var req = objectStore.clear(); | ||
var onError = function onError() { | ||
var err = req.error ? req.error : req.transaction.error; | ||
reject(err); | ||
}; | ||
transaction.oncomplete = function () { | ||
return resolve(dbInstance); | ||
return resolve(); | ||
}; | ||
transaction.onabort = function () { | ||
return reject(transaction); | ||
}; | ||
transaction.onerror = function (e) { | ||
return reject(e); | ||
}; | ||
} catch (e) { | ||
// If the specified store is not found, then resolve, no operation needed | ||
resolve(); | ||
transaction.onabort = onError; | ||
transaction.onerror = onError; | ||
} catch (err) { | ||
reject({ | ||
storeName: name, | ||
error: err | ||
}); | ||
} | ||
@@ -28,0 +34,0 @@ }); |
@@ -11,6 +11,2 @@ 'use strict'; | ||
var _clearStore = require('./clearStore'); | ||
var _clearStore2 = _interopRequireDefault(_clearStore); | ||
var _initStorage = require('./initStorage'); | ||
@@ -157,6 +153,28 @@ | ||
// Clear the provided store name | ||
function clear(name) { | ||
return databaseReadyPromise.then(function (dbInstance) { | ||
return (0, _clearStore2.default)(dbInstance, name); | ||
return new Promise(function (resolve, reject) { | ||
try { | ||
var transaction = dbInstance.transaction(name, 'readwrite'); | ||
var objectStore = transaction.objectStore(name); | ||
var req = objectStore.clear(); | ||
var onError = function onError() { | ||
var err = req.error ? req.error : req.transaction.error; | ||
reject(err); | ||
}; | ||
transaction.oncomplete = function () { | ||
return resolve(); | ||
}; | ||
transaction.onabort = onError; | ||
transaction.onerror = onError; | ||
} catch (err) { | ||
reject({ | ||
storeName: name, | ||
error: err | ||
}); | ||
} | ||
}); | ||
}); | ||
@@ -163,0 +181,0 @@ } |
@@ -9,26 +9,2 @@ 'use strict'; | ||
var clearStore = function clearStore(dbInstance, storeName) { | ||
return new Promise(function (resolve, reject) { | ||
try { | ||
var transaction = dbInstance.transaction(storeName, 'readwrite'); | ||
var objectStore = transaction.objectStore(storeName); | ||
objectStore.clear(); | ||
transaction.oncomplete = function () { | ||
return resolve(dbInstance); | ||
}; | ||
transaction.onabort = function () { | ||
return reject(transaction); | ||
}; | ||
transaction.onerror = function (e) { | ||
return reject(e); | ||
}; | ||
} catch (e) { | ||
// If the specified store is not found, then resolve, no operation needed | ||
resolve(); | ||
} | ||
}); | ||
}; | ||
function getIndexedDB() { | ||
@@ -59,2 +35,29 @@ if (typeof window.indexedDB !== 'undefined') { | ||
var clearStore = function clearStore(dbInstance, name) { | ||
return new Promise(function (resolve, reject) { | ||
try { | ||
var transaction = dbInstance.transaction(name, READ_WRITE); | ||
var objectStore = transaction.objectStore(name); | ||
var req = objectStore.clear(); | ||
var onError = function onError() { | ||
var err = req.error ? req.error : req.transaction.error; | ||
reject(err); | ||
}; | ||
transaction.oncomplete = function () { | ||
return resolve(); | ||
}; | ||
transaction.onabort = onError; | ||
transaction.onerror = onError; | ||
} catch (err) { | ||
reject({ | ||
storeName: name, | ||
error: err | ||
}); | ||
} | ||
}); | ||
}; | ||
var defaultOptions = { | ||
@@ -343,6 +346,28 @@ autoIncrement: true, | ||
// Clear the provided store name | ||
function clear(name) { | ||
return databaseReadyPromise.then(function (dbInstance) { | ||
return clearStore(dbInstance, name); | ||
return new Promise(function (resolve, reject) { | ||
try { | ||
var transaction = dbInstance.transaction(name, 'readwrite'); | ||
var objectStore = transaction.objectStore(name); | ||
var req = objectStore.clear(); | ||
var onError = function onError() { | ||
var err = req.error ? req.error : req.transaction.error; | ||
reject(err); | ||
}; | ||
transaction.oncomplete = function () { | ||
return resolve(); | ||
}; | ||
transaction.onabort = onError; | ||
transaction.onerror = onError; | ||
} catch (err) { | ||
reject({ | ||
storeName: name, | ||
error: err | ||
}); | ||
} | ||
}); | ||
}); | ||
@@ -466,16 +491,2 @@ } | ||
var destroyDatabase = function destroyDatabase(dbName) { | ||
return new Promise(function (resolve, reject) { | ||
var DBDeleteRequest = window.indexedDB.deleteDatabase(dbName); | ||
DBDeleteRequest.onerror = function (event) { | ||
return reject(event); | ||
}; | ||
DBDeleteRequest.onsuccess = function (event) { | ||
return resolve(event); | ||
}; | ||
}); | ||
}; | ||
exports.createStorageInstance = createInstance; | ||
exports.destroyDatabase = destroyDatabase; |
{ | ||
"name": "zapier-async-storage", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Minimalist wrapper for IndexedDB", | ||
@@ -5,0 +5,0 @@ "main": "build/index.js", |
31858
895
14