chk
is an R package for developers to check user-supplied function arguments.
It is designed to be simple, customizable and fast.
Installation
To install the latest release version from CRAN.
install.packages("chk")
To install the latest development version from r-universe.
install.packages("chk", repos = c("https://poissonconsulting.r-universe.dev", "https://cloud.r-project.org"))
To install the latest development version from GitHub
# install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))
pak::pak("poissonconsulting/chk")
Demonstration
chk
provides simple commonly used checks as (chk_
functions) which can be combined together for more complex checking.
library(chk)
y <- "a"
chk_string(y)
chk_flag(y)
#> Error:
#> ! `y` must be a flag (TRUE or FALSE).
data <- data.frame(x = 1:2)
chk_range(nrow(data), c(3, 8))
#> Error:
#> ! `nrow(data)` must be between 3 and 8, not 2.
Or used inside functions to test user-provided arguments.
my_fun <- function(x) {
chk_flag(x)
x
}
my_fun(TRUE)
#> [1] TRUE
my_fun(NA)
#> Error in `my_fun()`:
#> ! `x` must be a flag (TRUE or FALSE).
Error messages follow the tidyverse style guide while the errors themselves are rlang errors of class chk_error
.
Information
For more information see the Get Started vignette.
Code of Conduct
Please note that the chk project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.