jamesrweb/elm-cqrs/2.0.0

NOTE: the latest version is 5.0.3

Cqrs.Command

Types

type Response e a

Represents the possible response states of a command.

Actions

String
-> Maybe (Error -> String)
-> Value
-> (Response String () -> msg)
-> Cmd msg

Sends a command to the given URL with the provided body and returns a parsed Cqrs.Command.Response in turn.

String
-> Maybe (Error -> String)
-> Value
-> Task () (Response String ())

Sends a command to the given URL and returns a Task containing the parsed Cqrs.Command.Response. The value contained within the Cqrs.Command.Response, will be the value parsed via the provided decoder.

Constructors

Constructs the Succeeded variant of a Cqrs.Command.Response.

This is useful for testing how your UI will respond to the happy path, without actually sending a command.

fail : e -> Response e a

Constructs the Failed variant of a Cqrs.Command.Response.

This is useful for testing how your UI will respond to the sad path, without actually sending a command.

Helpers

map : (a -> b) -> Response e a -> Response e b

Maps the Succeeded variant of a given Cqrs.Command.Response

mapError : (e -> f) -> Response e a -> Response f a

Maps the Failed variant of a given Cqrs.Command.Response.

withDefault : e -> Response e () -> e

Provides a default case for a Cqrs.Command.Response where the Succeeded variant is in the default () state.

unwrap : Response x x -> x

Unwraps a homogeneous Cqrs.Command.Response to its' inner value from the given variant.

succeeded : Response e a -> Bool

Checks if a given Cqrs.Command.Response is a Succeeded variant.

succeeded Succeeded --> True


succeeded (Failed "reason") --> False
failed : Response e a -> Bool

Checks if a given Cqrs.Command.Response is a Failed variant.

failed Succeeded --> False


failed (Failed "reason") --> True
reason : Response e a -> Maybe e

If a given Cqrs.Command.Response was unsuccessful, the reason for the failure will be returned.

reason Succeeded --> Nothing


reason (Failed "reason") --> Just "reason"

Codecs

decoder : Decoder (Response String ())

Decodes a given payload into a Cqrs.Command.Response.