Action.kt |
Generic interface for actions to be dispatched on a [Store].
Actions are used to send data from the application to a [Store]. The [Store] will use the [Action] to
derive a new [State]. Actions should describe what happened, while [Reducer]s will describe how the
state changes.
|
562 |
DelicateAction.kt |
Marks an [Action] in the [Store] that are **delicate** —
they have limited use-case and shall ve used with care in general code.
Any use of a delicate declaration has to be carefully reviewed to make sure it is
properly used and is not used for non-debugging or testing purposes.
Carefully read documentation of any declaration marked as `DelicateAction`.
|
1062 |
ext |
|
|
helpers |
|
|
internal |
|
|
Middleware.kt |
A [Middleware] sits between the store and the reducer. It provides an extension point between
dispatching an action, and the moment it reaches the reducer.
A [Middleware] can rewrite an [Action], it can intercept an [Action], dispatch additional
[Action]s or perform side-effects when an [Action] gets dispatched.
The [Store] will create a chain of [Middleware] instances and invoke them in order. Every
[Middleware] can decide to continue the chain (by calling `next`), intercept the chain (by not
invoking `next`). A [Middleware] has no knowledge of what comes before or after it in the chain.
|
2572 |
Observer.kt |
Listener called when the state changes in the [Store].
|
346 |
Reducer.kt |
Reducers specify how the application's [State] changes in response to [Action]s sent to the [Store].
Remember that actions only describe what happened, but don't describe how the application's state changes.
Reducers will commonly consist of a `when` statement returning different copies of the [State].
|
606 |
State.kt |
Generic interface for a [State] maintained by a [Store].
|
328 |
Store.kt |
A generic store holding an immutable [State].
The [State] can only be modified by dispatching [Action]s which will create a new state and notify all registered
[Observer]s.
@param initialState The initial state until a dispatched [Action] creates a new state.
@param reducer A function that gets the current [State] and [Action] passed in and will return a new [State].
@param middleware Optional list of [Middleware] sitting between the [Store] and the [Reducer].
@param threadNamePrefix Optional prefix with which to name threads for the [Store]. If not provided,
the naming scheme will be deferred to [Executors.defaultThreadFactory]
|
6923 |