File tree 4 files changed +17
-6
lines changed 4 files changed +17
-6
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export default () => {
12
12
let votingStatuses = { } ;
13
13
14
14
const get = ( ) => votingStatuses ;
15
- const { subscribe : subscribeState , set} = writable ( votingStatuses ) ;
15
+ const { subscribe : subscribeState , set, update } = writable ( votingStatuses ) ;
16
16
17
17
const fetchStats = async ( playerData , count = 50 ) => {
18
18
if ( ! playerData ) return ;
@@ -88,6 +88,7 @@ export default () => {
88
88
subscribe,
89
89
get,
90
90
set,
91
+ update,
91
92
fetchStats,
92
93
} ;
93
94
Original file line number Diff line number Diff line change @@ -186,6 +186,8 @@ export default async () => {
186
186
return newConfig ;
187
187
} ;
188
188
189
+ const update = fn => set ( fn ( currentConfig ) ) ;
190
+
189
191
const setForKey = async ( key , value , persist = true ) => {
190
192
currentConfig [ key ] = value ;
191
193
@@ -195,7 +197,6 @@ export default async () => {
195
197
}
196
198
197
199
settingsChanged = ! deepEqual ( currentConfig , dbConfig ) ;
198
- currentConfig = currentConfig ;
199
200
storeSet ( currentConfig ) ;
200
201
201
202
return currentConfig ;
@@ -260,6 +261,7 @@ export default async () => {
260
261
configStore = {
261
262
subscribe,
262
263
set,
264
+ update,
263
265
get,
264
266
getLocale,
265
267
setForKey,
Original file line number Diff line number Diff line change @@ -3,19 +3,24 @@ import {writable} from 'svelte/store';
3
3
export default ( key , initial = { } , prefix = 'bl-' ) => {
4
4
const lsKey = `${ prefix } -${ key } ` ;
5
5
6
- const value = JSON . parse ( localStorage . getItem ( lsKey ) ) ?? initial ;
6
+ let value = JSON . parse ( localStorage . getItem ( lsKey ) ) ?? initial ;
7
7
8
8
const { subscribe, unsubscribe, set : storeSet } = writable ( value ?? initial ) ;
9
9
10
- const set = value => {
11
- localStorage . setItem ( lsKey , JSON . stringify ( value ) ) ;
10
+ const set = newValue => {
11
+ localStorage . setItem ( lsKey , JSON . stringify ( newValue ) ) ;
12
12
13
- storeSet ( value ) ;
13
+ value = newValue ;
14
+
15
+ storeSet ( newValue ) ;
14
16
} ;
15
17
18
+ const update = fn => set ( fn ( value ) ) ;
19
+
16
20
return {
17
21
subscribe,
18
22
unsubscribe,
19
23
set,
24
+ update,
20
25
} ;
21
26
} ;
Original file line number Diff line number Diff line change @@ -53,6 +53,8 @@ export default () => {
53
53
return newConfig ;
54
54
} ;
55
55
56
+ const update = fn => set ( fn ( playlists ) ) ;
57
+
56
58
const create = async ( song = null , inputPlaylist = null ) => {
57
59
const playlist = inputPlaylist
58
60
? inputPlaylist
@@ -290,6 +292,7 @@ export default () => {
290
292
subscribe,
291
293
unsubscribe,
292
294
set,
295
+ update,
293
296
get,
294
297
create,
295
298
select,
You can’t perform that action at this time.
0 commit comments