p

diode

package diode

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. diode
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package macros
  2. package util

Type Members

  1. 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 own ActionType instances for your action types.

  2. 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.

  3. abstract class ActionHandler[M, T] extends AnyRef

    Base class for all action handlers.

  4. trait ActionProcessor[M <: AnyRef] extends AnyRef
  5. sealed trait ActionResult[+M] extends AnyRef
  6. 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 of ActionType[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 of ActionType for a common supertype to be able to dispatch actions of its subtypes. For example providing an instance of ActionType[Action] allows dispatching any class that is a subtype of Action.

    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.")
  7. 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

  8. 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

  9. trait Circuit[M <: AnyRef] extends Dispatcher
  10. trait Dispatcher extends AnyRef
  11. trait Effect extends AnyRef
  12. abstract class EffectBase extends Effect
  13. 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.

  14. 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.

  15. trait EffectSetExecutionOps extends AnyRef
  16. 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 when run is called.

  17. trait FastEq[A] extends AnyRef

    Typeclass for fast equality comparison.

  18. trait FastEqLowPri extends AnyRef

    Implicit FastEq typeclass instances for AnyRef and AnyVal

  19. class FlatMapModelR[F[_], M, A, B] extends BaseModelR[M, F[B]] with MappedModelR[F, M, B]

    Model reader for a flatMapped value

  20. class FlatMapModelRW[F[_], M, A, B] extends FlatMapModelR[F, M, A, B] with BaseModelRW[M, F[B]]

    Model reader/writer for a flatMapped value

  21. sealed trait HasEffect[+M] extends ActionResult[M]
  22. class MapModelR[F[_], M, A, B] extends BaseModelR[M, F[B]] with MappedModelR[F, M, B]

    Model reader for a mapped value

  23. class MapModelRW[F[_], M, A, B] extends MapModelR[F, M, A, B] with BaseModelRW[M, F[B]]

    Model reader/writer for a mapped value

  24. trait MappedModelR[F[_], M, B] extends AnyRef
  25. 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

  26. 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

  27. 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

  28. sealed trait ModelUpdated[+M] extends ActionResult[M]
  29. trait Monad[F[_]] extends AnyRef

    Defines a Diode specific Monad for traversing models with Options etc.

  30. class RootModelR[M <: AnyRef] extends BaseModelR[M, M]

    Model reader for the root value

  31. class RootModelRW[M <: AnyRef] extends RootModelR[M] with BaseModelRW[M, M]

    Model reader/writer for the root value

  32. type Subscriber[A] = ((ModelRO[A]) => Unit) => () => Unit
  33. sealed trait UpdateSilent extends AnyRef
  34. trait UseValueEq extends AnyRef

    Marker trait for readers to indicate the use of value equality instead of the default reference equality

  35. class ZipModelR[M, S, SS] extends BaseModelR[M, (S, SS)]

    Model reader for two zipped readers

  36. class ZoomModelR[M, S] extends BaseModelR[M, S]

    Model reader for a zoomed value

  37. class ZoomModelRW[M, S] extends ZoomModelR[M, S] with BaseModelRW[M, S]

    Model reader/writer for a zoomed value

Value Members

  1. object Action
  2. object ActionBatch
  3. object ActionHandler
  4. object ActionResult
  5. 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._

  6. object Effect
  7. object FastEq extends FastEqLowPri

    Implicit FastEq typeclass instance for UseValueEq marker trait

  8. object Implicits
  9. object Monad
  10. case object NoAction extends Action with Product with Serializable

    Use NoAction when you need to dispatch an action that does nothing

Inherited from AnyRef

Inherited from Any

Ungrouped