API Documentation
March 5, 2020 ยท View on GitHub
Common API (Angular/React/Svelte/Vue)
createSubState
export default function createSubState<T extends InitialState>(
initialState: T & AllowedInitialStateProperties<T>
): SubState
Creates a sub state object from initial state object.
This function adds a readonly __isSubState__ property to the initial state object.
Initial state may not contain key __isSubState__, if it contains, an error will be thrown.
Initial state must be an object with following property value types allowed: number, boolean, string, undefined, null,
Function, object, Array
combineSelectors
combineSelectors<T extends State, U1 extends SelectorsBase<T>, ... Un extends SelectorsBase<T>>(
selectorsObject1: Selectors<T, U1>,
...
selectorsObject2: Selectors<T, Un>
): Selectors<T, U1> & ... Selectors<T, Un>;
combines objects of selectors to a single object containing all selectors.
It also checks for duplicate selector keys and throws an error if a duplicate key is found.
createStore
createStore<T extends State, U extends SelectorsBase<T>>(
initialState: T,
selectors: Selectors<T, U>
): Store<T, U>
creates a store containing initialState and selectors
Store::getState
class Store<T extends State, U extends SelectorsBase<T>> {
getState(): ReactiveState<T>
}
gets state from the store
Store::getSelectors
class Store<T extends State, U extends SelectorsBase<T>> {
getSelectors(): ComputedSelectors<T, U>
}
gets selectors from the store
Store::getStateAndSelectors
class Store<T extends State, U extends SelectorsBase<T>> {
getStateAndSelectors(): [ReactiveState<T>, ComputedSelectors<T, U>]
}
gets state and selectors from the store
React specific API
Store::useState
useState(subStates: Array<SubState | StateGetter>): void
makes React functional component to use given sub-state(s) and/or state from state getter(s) and makes changes to given sub-state(s) or state getters to update the view.
NOTE! If you call only getState() and forget to call useState(), your view won't be reactive and does not update.
Store::useSelectors
useSelectors(selectors: ComputedRef[]): void
makes React functional component to use given selectors and makes changes to given selectors to update the view.
NOTE! If you call only getSelectors() and forget to call useSelectors(), your view won't be reactive and does not update.
Store::useStateAndSelectors
useStateAndSelectors(subStates: Array<SubState | StateGetter>, selectors: ComputedRef[]): void
makes React functional component to use given sub-state(s), and state getter(s) and selectors and makes changes to given sub-state(s), state getter(s)
and selectors to update the view.
NOTE! If you call only getStateAndSelectors() and forget to call useStateAndSelectors(), your view won't be reactive and does not update.