diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2018-04-19 06:37:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19 06:37:50 +0800 |
commit | 4544d57f2632ce5a00dc8780a7b360ab9b2657c3 (patch) | |
tree | cc7acf6302befb1e898571c800f873d670cf7cd5 /app/scripts/lib/local-store.js | |
parent | 6742a5b2722da7af9320f46b18e9f4b59c5666ba (diff) | |
parent | 603c1310ffc0cdb61a66f68b8240e76c2ae7cb04 (diff) | |
download | tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar.gz tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar.bz2 tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar.lz tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar.xz tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.tar.zst tangerine-wallet-browser-4544d57f2632ce5a00dc8780a7b360ab9b2657c3.zip |
Merge pull request #3984 from whymarrh/3941-jsdoc
Add a few docblocks to background files
Diffstat (limited to 'app/scripts/lib/local-store.js')
-rw-r--r-- | app/scripts/lib/local-store.js | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/app/scripts/lib/local-store.js b/app/scripts/lib/local-store.js index 2dda0ba1f..139ff86bd 100644 --- a/app/scripts/lib/local-store.js +++ b/app/scripts/lib/local-store.js @@ -1,11 +1,13 @@ -// We should not rely on local storage in an extension! -// We should use this instead! -// https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/storage/local - const extension = require('extensionizer') const log = require('loglevel') +/** + * A wrapper around the extension's storage local API + */ module.exports = class ExtensionStore { + /** + * @constructor + */ constructor() { this.isSupported = !!(extension.storage.local) if (!this.isSupported) { @@ -13,6 +15,10 @@ module.exports = class ExtensionStore { } } + /** + * Returns all of the keys currently saved + * @return {Promise<*>} + */ async get() { if (!this.isSupported) return undefined const result = await this._get() @@ -25,14 +31,24 @@ module.exports = class ExtensionStore { } } + /** + * Sets the key in local state + * @param {object} state - The state to set + * @return {Promise<void>} + */ async set(state) { return this._set(state) } + /** + * Returns all of the keys currently saved + * @private + * @return {object} the key-value map from local storage + */ _get() { const local = extension.storage.local return new Promise((resolve, reject) => { - local.get(null, (result) => { + local.get(null, (/** @type {any} */ result) => { const err = extension.runtime.lastError if (err) { reject(err) @@ -43,6 +59,12 @@ module.exports = class ExtensionStore { }) } + /** + * Sets the key in local state + * @param {object} obj - The key to set + * @return {Promise<void>} + * @private + */ _set(obj) { const local = extension.storage.local return new Promise((resolve, reject) => { @@ -58,6 +80,11 @@ module.exports = class ExtensionStore { } } +/** + * Returns whether or not the given object contains no keys + * @param {object} obj - The object to check + * @returns {boolean} + */ function isEmpty(obj) { return Object.keys(obj).length === 0 } |