vow v0.0.1 Vow View Source

TODO

Link to this section Summary

Link to this section Types

Link to this type

fspec_opt()

View Source
fspec_opt() :: {:args, [t()]} | {:ret, t()} | {:fun, t()}
Link to this type

fspec_opts()

View Source
fspec_opts() :: [fspec_opt()]
Link to this type

key_opt()

View Source
key_opt() ::
  {:required, [spec_ref_expr()]}
  | {:optional, [spec_ref_expr()]}
  | {:into, [] | %{}}
Link to this type

key_opts()

View Source
key_opts() :: [key_opt()]
Link to this type

list_opt()

View Source
list_opt() ::
  {:length, Range.t() | non_neg_integer()}
  | {:min_length, non_neg_integer()}
  | {:max_length, non_neg_integer()}
  | {:distinct?, boolean()}
Link to this type

list_opts()

View Source
list_opts() :: [list_opt()]
Link to this type

map_opt()

View Source
map_opt() :: list_opt() | {:conform_keys?, boolean()}
Link to this type

map_opts()

View Source
map_opts() :: [map_opt()]
Link to this type

merged()

View Source
merged() ::
  Vow.Merge.t()
  | Vow.Map.t()
  | Vow.Keys.t()
  | map()
  | Vow.Alt.t()
  | Vow.OneOf.t()
  | Vow.Cat.t()
Link to this type

spec_ref()

View Source
spec_ref() :: atom() | {module(), atom()} | Vow.Ref.t()
Link to this type

spec_ref_expr()

View Source
spec_ref_expr() :: spec_ref() | {:and | :or, [spec_ref_expr(), ...]}

Link to this section Functions

Link to this function

also(specs)

View Source
also([t()]) :: t()
Link to this function

also(spec1, spec2)

View Source
also(t(), t()) :: t()
Link to this function

alt(named_specs)

View Source
alt([{atom(), t()}, ...]) :: t() | no_return()
Link to this function

amp(specs)

View Source
amp([t()]) :: t()
Link to this function

amp(spec1, spec2)

View Source
amp(t(), t()) :: t()
Link to this function

cat(named_specs)

View Source
cat([{atom(), t()}, ...]) :: t() | no_return()
Link to this function

conform(spec, value)

View Source
conform(t(), value :: term()) ::
  {:ok, Vow.Conformable.conformed()} | {:error, Vow.ConformError.t()}
Link to this function

conform!(spec, value)

View Source
conform!(t(), value :: term()) :: Vow.Conformable.conformed() | no_return()
Link to this function

conform_function(spec, function, args \\ [])

View Source

See Vow.Function.conform/3.

Link to this function

explain(spec, value)

View Source
explain(t(), value :: term()) :: Vow.ConformError.t() | nil
Link to this function

invalid?(spec, value)

View Source
invalid?(t(), value :: term()) :: boolean()
Link to this function

keyword_of(spec, opts \\ [])

View Source
keyword_of(t(), list_opts()) :: t()
Link to this function

list_of(spec, opts \\ [])

View Source
list_of(t(), list_opts()) :: t()
Link to this function

map_of(key_spec, value_spec, opts \\ [])

View Source
map_of(key_spec :: t(), value_spec :: t(), map_opts()) :: t()
Link to this function

maybe(spec)

View Source
maybe(t()) :: t()
Link to this function

merge(specs, merge_fun \\ nil)

View Source
merge([merged()], (key, value, value -> value) | nil) :: t()
when key: term(), value: term()
Link to this function

nilable(spec)

View Source
nilable(t()) :: t()
Link to this function

one_of(named_specs)

View Source
one_of([{atom(), t()}, ...]) :: t() | no_return()
Link to this function

one_or_more(spec)

View Source
one_or_more(t()) :: t()
Link to this function

valid?(spec, value)

View Source
valid?(t(), value :: term()) :: boolean()
Link to this function

zero_or_more(spec)

View Source
zero_or_more(t()) :: t()