Skip to content

Instantly share code, notes, and snippets.

@shahriar-shojib
Last active June 17, 2020 21:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shahriar-shojib/5669ea03d86368dcfd53c68a7d405ad3 to your computer and use it in GitHub Desktop.
Save shahriar-shojib/5669ea03d86368dcfd53c68a7d405ad3 to your computer and use it in GitHub Desktop.
Easy Access to chrome localStorage API for extensions
class Storage {
set(object) {
return new Promise((resolve, reject) => {
try {
chrome.storage.local.set(object, resolve);
} catch (e) {
reject(e);
}
});
}
get(key) {
return new Promise((resolve, reject) => {
chrome.storage.local.get(key, data => {
if (Object.keys(data).length === 0 && data.constructor === Object) reject('no data returned by localStorage');
resolve(data[key]);
});
});
}
}
const storage = new Storage();
export default storage;
//How to use
storage.set({test:123}).catch(console.log)
storage.get('test').then(data => console.log(data)).catch(console.log)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment