19 refactor store methods #20

Merged
tristonarmstrong merged 2 commits from 19-refactor-store-methods into main 2024-04-04 02:47:33 +00:00
Showing only changes of commit 6f8618d523 - Show all commits

View File

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