Checks if the argument is a list of expressions where the expressions are
variable-value pairs. The value can be a symbol, a string, a numeric, an
expression, or NA
.
Usage
assert_varval_list(
arg,
required_elements = NULL,
accept_expr = TRUE,
accept_var = FALSE,
optional = FALSE
)
Arguments
- arg
A function argument to be checked
- required_elements
A
character
vector of names that must be present inarg
- accept_expr
Should expressions on the right hand side be accepted?
- accept_var
Should unnamed variable names (e.g.
exprs(USUBJID)
) on the right hand side be accepted?- optional
Is the checked argument optional? If set to
FALSE
andarg
isNULL
then an error is thrown.
Value
The function throws an error if arg
is not a list of variable-value expressions.
Otherwise, the input it returned invisibly.
See also
Checks for valid input and returns warning or errors messages:
assert_atomic_vector()
,
assert_character_scalar()
,
assert_character_vector()
,
assert_data_frame()
,
assert_date_vector()
,
assert_expr_list()
,
assert_expr()
,
assert_filter_cond()
,
assert_function_param()
,
assert_integer_scalar()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named()
,
assert_numeric_vector()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_s3_class()
,
assert_same_type()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
Examples
library(dplyr, warn.conflicts = FALSE)
library(rlang)
example_fun <- function(vars) {
assert_varval_list(vars)
}
example_fun(exprs(DTHDOM = "AE", DTHSEQ = AESEQ))
try(example_fun(exprs("AE", DTSEQ = AESEQ)))
#> Error in assert_varval_list(vars) :
#> `vars` must be a named list of expressions where each element is a symbol, character scalar, numeric scalar, an expression, or `NA` but it is a list
#> ℹ To create a list of expressions use `exprs()`