etaque/elm-response/1.0.0

NOTE: this package is not compatible with Elm 0.19.1

Response

Response utilities for Elm Architecture. Build responses from tasks, pipe them, map over.

Construct

type alias Response model action =
( model, Effects action )

A response is an updated model and some effects.

res : m -> Effects a -> Response m a

Canonical usage: construct a result from model and effects.

taskRes : m -> Task Never a -> Response m a

Construct a result from model and task.

withEffects : Effects a -> m -> Response m a

Construct a result from model and effects, flipped for piping:

{ model | foo = bar }
  |> withEffects someEffects
withTask : Task Never a -> m -> Response m a

Construct a result from model and task, flipped for piping:

{ model | foo = bar }
  |> withTask someTask
withNone : m -> Response m a

Construct a result from model without effects, flipped for piping:

{ model | foo = bar }
  |> withNone

Transform

mapModel : (m -> m_) -> Response m a -> Response m_ a

Map over model.

mapEffects : (a -> a_) -> Response m a -> Response m a_

Map over effects.

mapBoth : (m -> m_) -> (a -> a_) -> Response m a -> Response m_ a_

Map over model and effects.