feat(stationstores.ts): refactor station stores to use the get function

fix #19
This commit is contained in:
Triston Armstrong 2024-04-03 20:01:52 -05:00
parent a36ba22871
commit 6f8618d523
No known key found for this signature in database
GPG Key ID: FADE6AC6F956FC52

View File

@ -2,27 +2,20 @@ import { createStore } from "kaioken"
export const useStationsStore = createStore( export const useStationsStore = createStore(
null as Station[] | null, null as Station[] | null,
(set) => ({ (set, get) => ({
add: (station: Station): Station[] => { add: (station: Station): Station[] => {
let newState: Station[] | null = null let newState: Station[] = [...(get() ?? []), station]
set((state) => { set(newState)
newState = [...(state ?? []), station]
return newState
})
//@ts-ignore
return newState return newState
}, },
rmStation: (stationId): Station[] => { rmStation: (stationId): Station[] => {
let newState: Station[] | null = null let newState: Station[] | null =
set((state) => { get()?.filter((station) => station.id !== stationId) ?? []
newState = state?.filter((station) => station.id !== stationId) ?? [] set(newState)
return newState
})
//@ts-ignore
return newState return newState
}, },
override: (stationsList: Station[]) => { override: (stationsList: Station[]) => {
set((_state) => stationsList) set(stationsList)
}, },
}) })
) )