dots_values: Evaluate dots with preliminary splicing
Description
This is a tool for advanced users. It captures dots, processes
unquoting and splicing operators, and evaluates them. Unlike
dots_list(), it does not flatten spliced objects, instead they
are attributed a spliced class (see splice()). You can process
spliced objects manually, perhaps with a custom predicate (see
flatten_if()).
Arguments to evaluate and process splicing operators.
.ignore_empty
Whether to ignore empty arguments. Can be one
of "trailing", "none", "all". If "trailing", only the
last argument is ignored if it is empty.
.preserve_empty
Whether to preserve the empty arguments that
were not ignored. If TRUE, empty arguments are stored with
missing_arg() values. If FALSE (the default) an error is
thrown when an empty argument is detected.
.homonyms
How to treat arguments with the same name. The
default, "keep", preserves these arguments. Set .homonyms to
"first" to only keep the first occurrences, to "last" to keep
the last occurrences, and to "error" to raise an informative
error and indicate what arguments have duplicated names.
.check_assign
Whether to check for <- calls. When TRUE a
warning recommends users to use = if they meant to match a
function parameter or wrap the <- call in curly braces otherwise.
This ensures assignments are explicit.