improvement: add record migration and correct state normalization in new code
This commit is contained in:
parent
e3917ee79a
commit
b86402a7ff
|
@ -1,9 +1,12 @@
|
||||||
import { writable } from 'svelte/store'
|
import { writable } from 'svelte/store'
|
||||||
|
|
||||||
import { STORAGE_KEYS } from '../services/storageListener'
|
import { STORAGE_KEYS } from '../services/storageListener'
|
||||||
|
import { migrateRecord, sortRecords } from '../../static/app/storage'
|
||||||
|
|
||||||
const createEventStore = () => {
|
const createEventStore = () => {
|
||||||
const state = JSON.parse(localStorage.getItem(STORAGE_KEYS.EVENTS) || '[]')
|
const state = JSON.parse(localStorage.getItem(STORAGE_KEYS.EVENTS) || '[]')
|
||||||
|
.map(migrateRecord)
|
||||||
|
.sort(sortRecord)
|
||||||
|
|
||||||
const { subscribe, set, update } = writable(state)
|
const { subscribe, set, update } = writable(state)
|
||||||
|
|
||||||
|
|
|
@ -88,8 +88,22 @@ const deleteRecord = (id) => {
|
||||||
updateStorage(nextStorage)
|
updateStorage(nextStorage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const sortRecord = (a, b) => {
|
||||||
|
const aDate = new Date(a.createdAt)
|
||||||
|
const bDate = new Date(b.createdAt)
|
||||||
|
|
||||||
|
if (aDate < bDate) {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
if (aDate > bDate) {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
migrateRecord,
|
migrateRecord,
|
||||||
|
sortRecord,
|
||||||
getStorage,
|
getStorage,
|
||||||
getConfigStorage,
|
getConfigStorage,
|
||||||
getStorageContents,
|
getStorageContents,
|
||||||
|
|
Loading…
Reference in New Issue