diff options
author | kumavis <aaron@kumavis.me> | 2018-03-15 01:49:54 +0800 |
---|---|---|
committer | kumavis <aaron@kumavis.me> | 2018-03-15 01:49:54 +0800 |
commit | c4e90c9359de3b4c54622bde3f396bc753c9cffb (patch) | |
tree | 3b0b61d4e32f8a6ff0177392f22c989938abbdc7 | |
parent | 39a831e2a08c1dfe6b80edc129a3ace8a2831824 (diff) | |
download | tangerine-wallet-browser-c4e90c9359de3b4c54622bde3f396bc753c9cffb.tar.gz tangerine-wallet-browser-c4e90c9359de3b4c54622bde3f396bc753c9cffb.tar.zst tangerine-wallet-browser-c4e90c9359de3b4c54622bde3f396bc753c9cffb.zip |
local-store - check for error from extension.runtime
-rw-r--r-- | app/scripts/lib/local-store.js | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/app/scripts/lib/local-store.js b/app/scripts/lib/local-store.js index 2d6155dbf..175126d86 100644 --- a/app/scripts/lib/local-store.js +++ b/app/scripts/lib/local-store.js @@ -10,9 +10,6 @@ module.exports = class ExtensionStore { if (!this.isSupported) { log.error('Storage local API not available.') } - const local = extension.storage.local - this._get = function() { return new Promise((resolve) => local.get(resolve)) } - this._set = function(state) { return new Promise((resolve) => local.set(state, resolve)) } } async get() { @@ -30,6 +27,34 @@ module.exports = class ExtensionStore { async set(state) { return this._set(state) } + + function _get() { + const local = extension.storage.local + return new Promise((resolve, reject) => { + local.get(null, (result) => { + const err = extension.runtime.lastError + if (err) { + reject(err) + } else { + resolve(result) + } + }) + }) + } + + function _set(obj) { + const local = extension.storage.local + return new Promise((resolve, reject) => { + local.set(obj, () => { + const err = extension.runtime.lastError + if (err) { + reject(err) + } else { + resolve() + } + }) + }) + } } function isEmpty(obj) { |