Defnamed v0.1.2 Defnamed.Check View Source
Link to this section Summary
Functions
Shortcut for Elixir.Defnamed.Exception.ArgNamesDuplication exception
Shortcut for Elixir.Defnamed.Exception.InvalidArgNames exception
Shortcut for Elixir.Defnamed.Exception.MissingRequiredArgs exception
Shortcut for Elixir.Defnamed.Exception.NotKeyword exception
Shortcut for "no error" state
Validate keyword list type and keys uniqueness
Validate keyword list according given mapset of valid keys and list of required keys
Link to this section Types
Link to this section Functions
arg_names_duplication(message) View Source (macro)
Shortcut for Elixir.Defnamed.Exception.ArgNamesDuplication exception
Examples
iex> require Elixir.Defnamed.Check
Elixir.Defnamed.Check
iex> Elixir.Defnamed.Check.arg_names_duplication("my error message")
%Elixir.Defnamed.Exception.ArgNamesDuplication{message: "my error message"}
invalid_arg_names(message) View Source (macro)
Shortcut for Elixir.Defnamed.Exception.InvalidArgNames exception
Examples
iex> require Elixir.Defnamed.Check
Elixir.Defnamed.Check
iex> Elixir.Defnamed.Check.invalid_arg_names("my error message")
%Elixir.Defnamed.Exception.InvalidArgNames{message: "my error message"}
missing_required_args(message) View Source (macro)
Shortcut for Elixir.Defnamed.Exception.MissingRequiredArgs exception
Examples
iex> require Elixir.Defnamed.Check
Elixir.Defnamed.Check
iex> Elixir.Defnamed.Check.missing_required_args("my error message")
%Elixir.Defnamed.Exception.MissingRequiredArgs{message: "my error message"}
not_keyword(message) View Source (macro)
Shortcut for Elixir.Defnamed.Exception.NotKeyword exception
Examples
iex> require Elixir.Defnamed.Check
Elixir.Defnamed.Check
iex> Elixir.Defnamed.Check.not_keyword("my error message")
%Elixir.Defnamed.Exception.NotKeyword{message: "my error message"}
ok() View Source (macro)
Shortcut for "no error" state
Examples
iex> require Elixir.Defnamed.Check
Elixir.Defnamed.Check
iex> Elixir.Defnamed.Check.ok
:ok
validate_kv!(kv, message) View Source
Validate keyword list type and keys uniqueness
Examples
iex> Elixir.Defnamed.Check.validate_kv!([a: 1, b: 2], "Example keyword")
:ok
iex> Elixir.Defnamed.Check.validate_kv!(123, "Example keyword")
** (Defnamed.Exception.NotKeyword) Example keyword should be keyword list without keys duplication, but argument is not a keyword: 123
iex> Elixir.Defnamed.Check.validate_kv!([a: 1, b: 2, b: 2], "Example keyword")
** (Defnamed.Exception.ArgNamesDuplication) Example keyword should be keyword list without keys duplication, but keys [:b] are duplicated
validate_kv!(kv, valid_keys, required_keys, message) View Source
Validate keyword list according given mapset of valid keys and list of required keys
Examples
iex> Elixir.Defnamed.Check.validate_kv!([a: 1, b: 2], MapSet.new([:a, :b]), [:a], "Example keyword")
:ok
iex> Elixir.Defnamed.Check.validate_kv!(123, MapSet.new([:a, :b]), [:a], "Example keyword")
** (Defnamed.Exception.NotKeyword) Example keyword should be keyword list which can contain only [:a, :b] keys without duplication, and mandatory [:a] keys, but argument is not a keyword: 123
iex> Elixir.Defnamed.Check.validate_kv!([a: 1, b: 2, b: 2], MapSet.new([:a, :b]), [:a], "Example keyword")
** (Defnamed.Exception.ArgNamesDuplication) Example keyword should be keyword list which can contain only [:a, :b] keys without duplication, and mandatory [:a] keys, but keys [:b] are duplicated
iex> Elixir.Defnamed.Check.validate_kv!([a: 1, b: 2], MapSet.new([:a]), [:a], "Example keyword")
** (Defnamed.Exception.InvalidArgNames) Example keyword should be keyword list which can contain only [:a] keys without duplication, and mandatory [:a] keys, but got invalid :b key
iex> Elixir.Defnamed.Check.validate_kv!([b: 2], MapSet.new([:a, :b]), [:a], "Example keyword")
** (Defnamed.Exception.MissingRequiredArgs) Example keyword should be keyword list which can contain only [:a, :b] keys without duplication, and mandatory [:a] keys, but required :a key is not presented