State management with value-enhancer.
npm add val-state value-enhancer
import { createStore } from "val-state";
const store$ = createStore({
count: 0,
});
store$.subscribe(state => {
console.log(state);
});
Create store with actions:
import { createStore } from "val-state";
const store$ = createStore(
{
count: 0,
},
state$ => ({
increment: (step = 1) => {
state$.set({ count: state$.value.count + step });
},
})
);
store$.subscribe(state => {
console.log(state);
});
store$.act.increment();
Assign actions to normal val:
import { val } from "value-enhancer";
import { assignActions } from "val-state";
const state$ = val({ count: 1 });
const store$ = assignActions(state$, {
increment: (step = 1) => {
state$.set({ count: state$.value.count + step });
},
});
assert(store$ === state$);
store$.act.increment();