Selecto.Domain.Choices.Result (Selecto v0.4.6)

Copy Markdown

Choice-source membership answer shape.

Core Selecto can resolve the domain metadata for a choice-source membership question, but it cannot prove external membership until a caller supplies a resolver. The :unknown status represents that deliberate safe default.

Summary

Functions

Builds an invalid membership result.

Builds a result from atom-keyed or string-keyed map/keyword attributes.

Builds an unknown membership result.

Builds a valid membership result.

Types

status()

@type status() :: :valid | :invalid | :unknown

t()

@type t() :: %Selecto.Domain.Choices.Result{
  metadata: map(),
  reason_code: atom() | String.t() | nil,
  request: Selecto.Domain.Choices.Request.t() | nil,
  status: status(),
  user_message: String.t() | nil
}

Functions

invalid(reason_code \\ :choice_invalid, attrs \\ [])

@spec invalid(atom() | String.t(), map() | keyword()) :: t()

Builds an invalid membership result.

new(attrs \\ [])

@spec new(map() | keyword()) :: t()

Builds a result from atom-keyed or string-keyed map/keyword attributes.

unknown(reason_code \\ :resolver_required, attrs \\ [])

@spec unknown(atom() | String.t(), map() | keyword()) :: t()

Builds an unknown membership result.

valid(reason_code \\ :choice_valid, attrs \\ [])

@spec valid(atom() | String.t(), map() | keyword()) :: t()

Builds a valid membership result.