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

Copy Markdown

Choice-source option-list answer shape.

Core Selecto can resolve the option-list metadata, but it cannot fetch options until a caller supplies a resolver. The :unknown status is the safe default.

Summary

Functions

Builds an error option-list result.

Builds an options result from atom-keyed or string-keyed map/keyword attrs.

Builds a resolved option-list result.

Builds an unknown option-list result.

Types

option()

@type option() :: map()

status()

@type status() :: :resolved | :unknown | :error

t()

@type t() :: %Selecto.Domain.Choices.OptionsResult{
  metadata: map(),
  next_cursor: term(),
  options: [option()],
  reason_code: atom() | String.t() | nil,
  request: Selecto.Domain.Choices.OptionsRequest.t() | nil,
  status: status(),
  total_count: non_neg_integer() | nil,
  user_message: String.t() | nil
}

Functions

error(reason_code \\ :options_error, attrs \\ [])

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

Builds an error option-list result.

new(attrs \\ [])

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

Builds an options result from atom-keyed or string-keyed map/keyword attrs.

resolved(options, attrs \\ [])

@spec resolved([option()], map() | keyword()) :: t()

Builds a resolved option-list result.

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

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

Builds an unknown option-list result.