Skip to contents

Checks if an argument is a character vector

Usage

assert_character_vector(arg, values = NULL, named = FALSE, optional = FALSE)

Arguments

arg

A function argument to be checked

values

A character vector of valid values for arg

named

If set to TRUE, an error is issued if not all elements of the vector are named.

optional

Is the checked argument optional? If set to FALSE and arg is NULL then an error is thrown

Value

The function throws an error if arg is not a character vector or if any element is not included in the list of valid values. Otherwise, the input is returned invisibly.

Examples

example_fun <- function(chr) {
  assert_character_vector(chr)
}

example_fun(letters)

try(example_fun(1:10))
#> Error in assert_character_vector(chr) : 
#>   `chr` must be a character vector but is an integer vector

example_fun2 <- function(chr) {
  assert_character_vector(chr, named = TRUE)
}

try(example_fun2(c(alpha = "a", "b", gamma = "c")))
#> Error in assert_named(arg) : All elements of `arg` must be named.
#> The following elements are not named: 2