This is equivalent to base::match.arg() with a few differences:

• Partial matches trigger an error.

• Error messages are a bit more informative and obey the tidyverse standards.

arg_match(arg, values = NULL)

## Arguments

arg A symbol referring to an argument accepting strings. The possible values that arg can take. If NULL, the values are taken from the function definition of the caller frame.

## Value

The string supplied to arg.

## Examples

fn <- function(x = c("foo", "bar")) arg_match(x)
fn("bar")#> [1] "bar"
# This would throw an informative error if run:
# fn("b")
# fn("baz")