Merge pull request #6269 from Draivin/master

Add chrome.storage.local
This commit is contained in:
Kevin Sawicki 2016-06-28 12:44:45 -07:00 committed by GitHub
commit 6081cba15d

View file

@ -1,5 +1,5 @@
const getStorage = () => {
const data = window.localStorage.getItem('__chrome.storage.sync__')
const getStorage = (storageType) => {
const data = window.localStorage.getItem(`__chrome.storage.${storageType}__`)
if (data != null) {
return JSON.parse(data)
} else {
@ -7,15 +7,15 @@ const getStorage = () => {
}
}
const setStorage = (storage) => {
const setStorage = (storageType, storage) => {
const json = JSON.stringify(storage)
window.localStorage.setItem('__chrome.storage.sync__', json)
window.localStorage.setItem(`__chrome.storage.${storageType}__`, json)
}
module.exports = {
sync: {
const getStorageManager = (storageType) => {
return {
get (keys, callback) {
const storage = getStorage()
const storage = getStorage(storageType)
if (keys == null) return storage
let defaults = {}
@ -45,15 +45,20 @@ module.exports = {
},
set (items, callback) {
const storage = getStorage()
const storage = getStorage(storageType)
Object.keys(items).forEach(function (name) {
storage[name] = items[name]
})
setStorage(storage)
setStorage(storageType, storage)
setTimeout(callback)
}
}
}
module.exports = {
sync: getStorageManager('sync'),
local: getStorageManager('local')
}