diode
package diode
- Alphabetic
- By Inheritance
- diode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Action extends AnyRef
Base trait for actions.
Base trait for actions. Use this as a basis for your action class hierarchy to get an automatic type class instance of
ActionType[Action]
. Note that this trait is just a helper, you don't need to use it for your actions as you can always define your ownActionType
instances for your action types. - class ActionBatch extends Action
A batch of actions.
A batch of actions. These actions are dispatched in a batch, without calling listeners in-between the dispatches.
- abstract class ActionHandler[M, T] extends AnyRef
Base class for all action handlers.
- trait ActionProcessor[M <: AnyRef] extends AnyRef
- sealed trait ActionResult[+M] extends AnyRef
- trait ActionType[-A] extends AnyRef
The
ActionType
type class is used to verify that only valid actions are dispatched.The
ActionType
type class is used to verify that only valid actions are dispatched. An implicit instance ofActionType[A]
must be in scope when calling dispatch methods or creating effects that return actions.ActionType
is contravariant, which means it's enough to have an instance ofActionType
for a common supertype to be able to dispatch actions of its subtypes. For example providing an instance ofActionType[Action]
allows dispatching any class that is a subtype ofAction
.- A
Action type
- Annotations
- @implicitNotFound("Cannot find an ActionType type class for action of type ${A}. Make sure to provide an implicit ActionType for dispatched actions.")
- trait BaseModelR[M, S] extends ModelR[M, S]
Implements common functionality for all model readers
Implements common functionality for all model readers
- M
Type of the base model
- S
Type of the reader value
- trait BaseModelRW[M, S] extends ModelRW[M, S] with BaseModelR[M, S]
Implements common functionality for all reader/writers
Implements common functionality for all reader/writers
- M
Type of the base model
- S
Type of the reader/writer value
- trait Circuit[M <: AnyRef] extends Dispatcher
- trait Dispatcher extends AnyRef
- trait Effect extends AnyRef
- abstract class EffectBase extends Effect
- class EffectSeq extends EffectBase
Wraps multiple
Effects
to be executed later.Wraps multiple
Effects
to be executed later. Effects are executed in the order they appear and the next effect is run only after the previous has completed. If an effect fails, the execution stops. - class EffectSet extends EffectBase with EffectSetExecutionOps
Wraps multiple
Effects
to be executed later.Wraps multiple
Effects
to be executed later. Effects are executed in parallel without any ordering. - trait EffectSetExecutionOps extends AnyRef
- class EffectSingle[A] extends EffectBase
Wraps a function to be executed later.
Wraps a function to be executed later. Function must return a
Future[A]
and the returned action is automatically dispatched whenrun
is called. - trait FastEq[A] extends AnyRef
Typeclass for fast equality comparison.
- trait FastEqLowPri extends AnyRef
Implicit FastEq typeclass instances for AnyRef and AnyVal
- class FlatMapModelR[F[_], M, A, B] extends BaseModelR[M, F[B]] with MappedModelR[F, M, B]
Model reader for a flatMapped value
- class FlatMapModelRW[F[_], M, A, B] extends FlatMapModelR[F, M, A, B] with BaseModelRW[M, F[B]]
Model reader/writer for a flatMapped value
- sealed trait HasEffect[+M] extends ActionResult[M]
- class MapModelR[F[_], M, A, B] extends BaseModelR[M, F[B]] with MappedModelR[F, M, B]
Model reader for a mapped value
- class MapModelRW[F[_], M, A, B] extends MapModelR[F, M, A, B] with BaseModelRW[M, F[B]]
Model reader/writer for a mapped value
- trait MappedModelR[F[_], M, B] extends AnyRef
- trait ModelR[M, S] extends ModelRO[S]
Base trait for all model readers
Base trait for all model readers
- M
Type of the base model
- S
Type of the reader value
- trait ModelRO[S] extends AnyRef
A read-only version of ModelR that doesn't know about the root model.
A read-only version of ModelR that doesn't know about the root model.
- S
Type of the reader value
- trait ModelRW[M, S] extends ModelR[M, S]
Base trait for all model writers
Base trait for all model writers
- M
Type of the base model
- S
Type of the reader/writer value
- sealed trait ModelUpdated[+M] extends ActionResult[M]
- trait Monad[F[_]] extends AnyRef
Defines a Diode specific Monad for traversing models with
Option
s etc. - class RootModelR[M <: AnyRef] extends BaseModelR[M, M]
Model reader for the root value
- class RootModelRW[M <: AnyRef] extends RootModelR[M] with BaseModelRW[M, M]
Model reader/writer for the root value
- type Subscriber[A] = ((ModelRO[A]) => Unit) => () => Unit
- sealed trait UpdateSilent extends AnyRef
- trait UseValueEq extends AnyRef
Marker trait for readers to indicate the use of value equality instead of the default reference equality
- class ZipModelR[M, S, SS] extends BaseModelR[M, (S, SS)]
Model reader for two zipped readers
- class ZoomModelR[M, S] extends BaseModelR[M, S]
Model reader for a zoomed value
- class ZoomModelRW[M, S] extends ZoomModelR[M, S] with BaseModelRW[M, S]
Model reader/writer for a zoomed value
Value Members
- object Action
- object ActionBatch
- object ActionHandler
- object ActionResult
- object AnyAction
Provides a type class instance of ActionType for Any, allowing you to dispatch anything as an action.
Provides a type class instance of ActionType for Any, allowing you to dispatch anything as an action.
Bring to scope with
import diode.AnyAction._
- object Effect
- object FastEq extends FastEqLowPri
Implicit FastEq typeclass instance for
UseValueEq
marker trait - object Implicits
- object Monad
- case object NoAction extends Action with Product with Serializable
Use
NoAction
when you need to dispatch an action that does nothing