aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorDan Finlay <542863+danfinlay@users.noreply.github.com>2018-03-15 02:27:24 +0800
committerGitHub <noreply@github.com>2018-03-15 02:27:24 +0800
commit19b553907c08bad7a56f4851f683031e6795912a (patch)
tree4461cb8d1f552b3c1bbdac7cd7cd1fcdcbad6d17 /app
parent9226de6c9502b78b0558540759b664d9e571996d (diff)
parent6aef2ed0b26861b3402e13d4e2a7e401ac3e99c8 (diff)
downloadtangerine-wallet-browser-19b553907c08bad7a56f4851f683031e6795912a.tar.gz
tangerine-wallet-browser-19b553907c08bad7a56f4851f683031e6795912a.tar.zst
tangerine-wallet-browser-19b553907c08bad7a56f4851f683031e6795912a.zip
Merge pull request #3565 from MetaMask/local-store-fix
Fix local store promisification
Diffstat (limited to 'app')
-rw-r--r--app/scripts/lib/local-store.js32
1 files changed, 28 insertions, 4 deletions
diff --git a/app/scripts/lib/local-store.js b/app/scripts/lib/local-store.js
index 1cf00dd30..5b47985f6 100644
--- a/app/scripts/lib/local-store.js
+++ b/app/scripts/lib/local-store.js
@@ -3,7 +3,6 @@
// https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/storage/local
const extension = require('extensionizer')
-const { promisify } = require('util')
module.exports = class ExtensionStore {
constructor() {
@@ -11,9 +10,6 @@ module.exports = class ExtensionStore {
if (!this.isSupported) {
log.error('Storage local API not available.')
}
- const local = extension.storage.local
- this._get = promisify(local.get).bind(local)
- this._set = promisify(local.set).bind(local)
}
async get() {
@@ -31,6 +27,34 @@ module.exports = class ExtensionStore {
async set(state) {
return this._set(state)
}
+
+ _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)
+ }
+ })
+ })
+ }
+
+ _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) {