Localforage: Add simple replacement.
This commit is contained in:
parent
4e3ce18703
commit
94a24e1754
|
@ -0,0 +1,42 @@
|
|||
const wrap = (request) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
request.onerror = (event) => reject(event)
|
||||
request.onsuccess = (event) => resolve(event.target.result)
|
||||
})
|
||||
}
|
||||
|
||||
const getDb = (database, version) => {
|
||||
const request = window.indexedDB.open(database, version)
|
||||
request.onupgradeneeded = (event) => {
|
||||
const db = event.target.result
|
||||
db.createObjectStore('keyvaluepairs')
|
||||
}
|
||||
return wrap(request)
|
||||
}
|
||||
|
||||
const storageBuilder = (database = 'storage_2', version = 1) => ({
|
||||
getItem: async (key) => {
|
||||
const db = await getDb(database, version)
|
||||
const dataRequest =
|
||||
db
|
||||
.transaction(['keyvaluepairs'])
|
||||
.objectStore('keyvaluepairs')
|
||||
.get(key)
|
||||
|
||||
const dataRequestPromise = wrap(dataRequest)
|
||||
|
||||
return dataRequestPromise
|
||||
},
|
||||
setItem: async (key, value) => {
|
||||
const db = await getDb(database, version)
|
||||
const dataRequest =
|
||||
db
|
||||
.transaction(['keyvaluepairs'], 'readwrite')
|
||||
.objectStore('keyvaluepairs')
|
||||
.put(value, key)
|
||||
|
||||
return wrap(dataRequest)
|
||||
}
|
||||
})
|
||||
|
||||
export default storageBuilder
|
|
@ -1,6 +1,7 @@
|
|||
import merge from 'lodash.merge'
|
||||
import objectPath from 'object-path'
|
||||
import localforage from 'localforage'
|
||||
// import localforage from 'localforage'
|
||||
import localforage2 from './localforage_redux'
|
||||
import { each } from 'lodash'
|
||||
|
||||
let loaded = false
|
||||
|
@ -24,7 +25,9 @@ const saveImmedeatelyActions = [
|
|||
]
|
||||
|
||||
const defaultStorage = (() => {
|
||||
return localforage
|
||||
// Use this to use the existing localforage db
|
||||
// return localforage2('localforage', 2)
|
||||
return localforage2()
|
||||
})()
|
||||
|
||||
export default function createPersistedState ({
|
||||
|
|
Loading…
Reference in New Issue