assert_function {admiraldev} | R Documentation |
Is Argument a Function?
Description
Checks if the argument is a function and if all expected arguments are provided by the function.
Usage
assert_function(
arg,
params = NULL,
optional = FALSE,
arg_name = rlang::caller_arg(arg),
message = NULL,
class = "assert_function",
call = parent.frame()
)
Arguments
arg |
A function The function to be checked |
params |
A character vector A character vector of expected argument names for the aforementioned function in |
optional |
Is the checked argument optional? If set to |
arg_name |
string indicating the label/symbol of the object being checked. |
message |
string passed to |
class |
Subclass of the condition. |
call |
The execution environment of a currently running
function, e.g. You only need to supply Can also be For more information about error calls, see Including function calls in error messages. |
Value
The function throws an error
if the argument is not a function or
if the function does not provide all arguments as specified for the
params
argument (assuming ellipsis is not in function formals)
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()
,
assert_expr_list()
,
assert_filter_cond()
,
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()
,
assert_varval_list()
Examples
example_fun <- function(fun) {
assert_function(fun, params = c("x"))
}
example_fun(mean)
try(example_fun(1))
try(example_fun(sum))