Dune.Parser.Opts.validate-exclamation-mark

You're seeing just the function validate-exclamation-mark, go back to Dune.Parser.Opts module for more information.

Specs

validate!(Keyword.t() | map()) :: t()

Validates untrusted options from a keyword or a map and returns a Dune.Parser.Opts struct.

Examples

iex> Dune.Parser.Opts.validate!([])
%Dune.Parser.Opts{atom_pool_size: 5000, allowlist: Dune.Allowlist.Default}

iex> Dune.Parser.Opts.validate!(atom_pool_size: 10)
%Dune.Parser.Opts{atom_pool_size: 10, allowlist: Dune.Allowlist.Default}

iex> Dune.Parser.Opts.validate!(atom_pool_size: -10)
** (ArgumentError) atom_pool_size should be an integer >= 0

iex> Dune.Parser.Opts.validate!(allowlist: DoesNotExists)
** (ArgumentError) could not load module DoesNotExists due to reason :nofile

iex> Dune.Parser.Opts.validate!(allowlist: List)
** (ArgumentError) List does not implement the Dune.Allowlist behaviour