diode
package diode
- Alphabetic
- By Inheritance
- diode
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... )
-
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
-
object
NoAction extends Action with Product with Serializable
Use
NoAction
when you need to dispatch an action that does nothing