ExBooking.Options (ExBooking v0.2.1)

View Source

Shared option validation for the booking kernel's public boundaries.

Summary

Functions

Validates keyword shape, schema, and common identity/context fields.

Requires paired, increasing horizon endpoints when a horizon is supplied.

Functions

validate(opts, schema)

@spec validate(term(), NimbleOptions.t() | keyword()) ::
  {:ok, keyword()} | {:error, term()}

Validates keyword shape, schema, and common identity/context fields.

Examples

iex> ExBooking.Options.validate(:bad, [])
{:error, {:invalid, :opts, :not_a_keyword_list}}

validate_horizon(opts, requirement)

@spec validate_horizon(term(), :required | :optional) :: :ok | {:error, term()}

Requires paired, increasing horizon endpoints when a horizon is supplied.

Examples

iex> ExBooking.Options.validate_horizon([], :optional)
:ok