chk now requires R >= 4.1.
check_data() and check_values() now require the levels of a factor column to be identical (including order) to the levels of values whenever values has two or more levels; previously two levels only required an ordered superset (#297).
check_data() and check_values() now require all values of a column to be missing when the corresponding values are all missing.
New chk_all_na() and vld_all_na() check that all values are missing (#299).
New chk_class() and vld_class() check that an object inherits from a class using inherits() regardless of the object system.
New chk_s3_class_strict() and vld_s3_class_strict() check that an object is an S3 object of the given class (excluding S4, R5, R6 and S7 objects).
New generate_check_data() generates the code for a check_data() call from an example data frame (#124).
chk_s3_class() and chk_s4_class() errors now state the class(es) of the object to help diagnose issues.
chkor_vld() gains an x_name argument that is passed to each of the underlying chk_ calls, so the error message refers to x_name rather than the deparsed vld_ arguments (#100).
vld_s4_class() is now vectorized over class like vld_s3_class(), so chk_s4_class() accepts multiple classes.
check_data() now names the offending argument when passed a non-data frame, instead of reporting "data.frame".
chk_lte() now sets the x and value fields on its condition for scalar input, consistent with chk_gte(), chk_lt() and chk_gt().
chk_null_or() now resolves the matching chk_ function by direct lookup (including chk_/vld_ pairs defined in other packages) rather than by parse()/eval(), and falls back to an informative message when no partner can be found (#97).
chk_complex() and vld_complex(). (#158).chk_raw() and vld_raw() (#157).check_length().chk_lgl() for chk_scalar() and chk_logical().evaluate of suggested dependency testthat switched to 4.0.check_key() now preserves active status of sfc column of sf object.vld_join(by = NULL) with R 4.5.chk_null_or() when vld = chk::vld_xx.chk_compatible_lengths() and vld_compatible_lengths() to check that lengths of objects are 'strictly recyclable'.inclusive = TRUE argument to chk_range().upper argument to chk_length().vld_sorted() and chk_sorted() now ignore missing values..subclass for class argument in err(), wrn() and msg().check_key() failing on sf objects..subclass to class in rlang function callschk_valid_name().chk_join() with sf data frames.chkor_vld() as faster replacement for soft-deprecated chkor().chk_null_or() by soft-deprecating chk argument for vld argument.chk_count() and chk_length() because so useful.chk_null_or() now returns (invisible) x.chkor() for chkor_vld() as slow.chk argument of chk_null_or() for vld argument.chk_chr(), chk_dbl() and chk_wnum() and vld_ equivalents.chk_count(), chk_dirs(), chk_files(), chk_has(), chk_in(), chk_length(), chk_no_missing(), vld_no_missing(), chk_proportion()chk_off(), chk_on(), is_chk_on(),chk_xx() functions now return invisible copy of x (if passes check).check_key() and check_data() when key is undefined for sf objects.chk_whole_numeric() now accepts Inf values.LazyData: true for DESCRIPTION file to avoid CRAN check note.Added chk_null_or().
Added chk_wnum() to check whole numeric scalars.
Added chk_dbl() to check double scalars.
Added chk_chr() to check character scalars.
Added chk_not_subset() to check not a subset.
Added chk_factor() to check factor vector.
Added chk_character_or_factor() factor or character vector.
Added check_files() and check_dirs() to check if all files or directories exist (or not).
Added chk_setordered() to check order of elements in set.
check_values() now checks factor levels.
Undeprecated chk_is() as useful for R6 objects.
Soft-deprecated chk_datetime() for chk_date_time().
Added following checks
check_names().check_dim().check_values().check_key().check_data().Added following typeof chks
chk_logical() and vld_logical().chk_double() and vld_double().chk_integer() and vld_integer().chk_character() and vld_character().Added miscellaneous chks
chk_data() and vld_data().chk_join().Fixed
chk_vector() and vld_vector() so ignores attributes.expect_chk_error().chk_matrix() and vld_matrix().chk_array() and vld_array().abort_chk now allows original arguments to be attached.chk_tz() and vld_tz().chk_matrix() and vld_matrix().chk_array() and vld_array().expect_chk_error().chk_sorted() and vld_sorted().chk-benchmarking.Rmd vignette that was causing problems for many CRAN checks.x_name = NULL argument to relevant chk_ functions.err = FALSE variant with vld_ variant.stop(), warning() and message() to rlang variants abort(), warn() and inform().chk_all()chk_atomic()chk_environment()chk_ext()chk_has()chk_not_empty()chk_s3_class()chk_s4_class()chk_setequal()backtick_chk()unbacktick_chk().formals argument to chk_function().tidy = TRUE argument to errors, warnings and messages.n = NULL and call. = FALSE args to error message generating functions.ellipsis = 10L argument to cc().sep = ", " arg to cc().incomparables = FALSE argument to chk_unique().%y to sprintf-like types.chk_no_missing() for chk_not_any_na().
chk_files() and chk_dirs() for chk_all(x, chk_file) etc.
deparse_backtick() for deparse_backtick_chk().
chk_length(), chk_proportion() and chk_count().
chk_on(), chk_off() and is_chk_on().
chk_match() so ignores missing values.chk_true() (and chk_false()) to same behavior as isTRUE in R >= 3.5.chk_unique() to handle incomparables != FALSE with data frames.range = c(0,1) for chk_range().