Functions used to check parameters in a systematic way.
.check_set_caller(caller).check_identify_caller()
.check_that(x, ..., local_msg = NULL, msg = NULL)
.check_null(x, ..., msg = NULL)
.check_na(x, ..., allow_na = FALSE, msg = NULL)
.check_require_packages(x, ..., msg = "Please install package(s)")
.check_names(x, ..., is_named = TRUE, msg = NULL)
.check_length(x, ..., len_min = 0, len_max = 2^31 - 1, msg = NULL)
.check_apply(x, fn_check, ...)
.check_lgl_type(x, ..., msg = NULL)
.check_num_type(x, ..., is_integer = FALSE, msg = NULL)
.check_chr_type(x, ..., msg = NULL)
.check_lst_type(x, ..., msg = NULL)
.check_lgl(
x,
...,
allow_na = FALSE,
len_min = 0,
len_max = 2^31 - 1,
allow_null = FALSE,
is_named = FALSE,
msg = NULL
)
.check_num(
x,
...,
allow_na = FALSE,
min = -Inf,
max = Inf,
exclusive_min = -Inf,
exclusive_max = Inf,
len_min = 0,
len_max = 2^31 - 1,
allow_null = FALSE,
is_integer = FALSE,
is_named = FALSE,
tolerance = 0,
msg = NULL
)
.check_chr(
x,
...,
allow_na = FALSE,
allow_empty = TRUE,
len_min = 0,
len_max = 2^31 - 1,
allow_null = FALSE,
is_named = FALSE,
regex = NULL,
msg = NULL
)
.check_lst(
x,
...,
min_len = 0,
max_len = 2^31 - 1,
allow_null = FALSE,
is_named = TRUE,
fn_check = NULL,
msg = NULL
)
.check_chr_within(
x,
within,
...,
case_sensitive = TRUE,
discriminator = "all_of",
can_repeat = TRUE,
msg = NULL
)
.check_chr_contains(
x,
contains,
...,
case_sensitive = TRUE,
discriminator = "all_of",
can_repeat = TRUE,
msg = NULL
)
.check_file(x, ..., extensions = NULL, msg = NULL)
.check_env_var(x, ..., msg = NULL)
.check_warn(expr)
.check_error(expr, ..., msg = NULL)
.check_documentation(progress)
Unless otherwise specified, all checking functions return the same
argument as x
if a TRUE
evaluation occurs.
.check_set_caller()
returns NULL
.
.check_identify_caller()
returns a character
value.
The same input value if no error occurs
A character
value with the caller name.
Any object that will be evaluated.
Additional parameters for fn_check
function.
A character
with the generic error message that
will be shown inside parenthesis.
A character
with the error message that will be
shown as the main message to the user.
A logical
indicating if the check permits empty
NA values. Default is FALSE.
A logical
indicating if the check permits unnamed
list.
A numeric
indicating the minimum length of vector
or list users provides for functions. Default is 0
.
A numeric
indicating the maximum length of vector
or list users provides for functions. Default is 2^31
.
A function
used to test each element of an
object.
A logical
indicating if the value should be
integer.
A logical
indicating if the check permits empty
NULL values. Default is FALSE.
A atomic vector
of numeric indicating the
inclusive minimum value that the user can provide in function parameter.
Only works for numeric check. By default it is -Inf
.
A atomic vector
of numeric indicating the
inclusive maximum value that the user can provide in function parameter.
Only works for numeric check. By default it is Inf
.
A atomic vector
of numeric indicating the
exclusive minimum value that the user can provide in function parameter.
Only works for numeric check. By default it is -Inf
.
A atomic vector
of numeric indicating the
exclusive maximum value that the user can provide in function parameter.
Only works for numeric check. By default it is Inf
.
A numeric
with the tolerance to be
accepted in range test. The default value is NULL.
A logical
indicating if the check permits empty
list. Default is TRUE.
A character
value with regular expression to be
evaluated against data.
A numeric
indicating the minimum length of vector
or list users provides for functions. Default is 0
.
A numeric
indicating the maximum length of vector
or list users provides for functions. Default is 2^31
.
A character
vector indicating a set of elements
from which x
is a kind of subset. The actual behavior is pointed by
discriminator
parameter.
A logical
indicating if the check is compared
with case sensitive. Default is TRUE
.
A character
value indicating how subset
verification will be done (see details).
A logical
value indicating if vector x
can have repeated elements or not.
A character
vector indicating a set of elements
to which x
is a kind of superset. The actual behavior is pointed by
discriminator
parameter.
A character
vector with all allowed file
extensions.
A R expression
to be evaluated.
A logical
value indicating if
uninstalled packages can be shown.
Error message functions:
.check_set_caller()
should be used to set the caller name
that appears in error messages. Any error raised by a check function
will show the caller function in its error message. The caller name will
be determined by the last call to this function before error occurs.
If no call was made, the first function in the calling stack will be
used.
.check_identify_caller()
searches for the caller
name to be shown in error messages. The function searches in calling stack
if a call to check_set_caller()
was made and returns its value. If
no call was found, it returns the first function in calling stack.
General check functions:
.check_that()
function checks if the argument in
x
is logical
or not. If it is logical
, it will be
evaluated as TRUE
if all values are TRUE
, FALSE
otherwise. If the argument is not logical
, it will be evaluated
as TRUE
if its length is greater than zero,
FALSE
otherwise. If a FALSE
evaluation occurs, an error
will be raised.
.check_null()
throws an error if x
argument
is NULL
.
.check_na()
throws an error if any element of x
is NA
.
.check_names()
throws an error if x
does not have
names and is_named
argument is TRUE
(and vice-versa). This
function checks for empty or duplicated names if is_named
is
TRUE
.
.check_length()
throws an error if length of x
is out of the range specified by len_min
and len_max
(both inclusive).
.check_apply()
throws an error only if fn_check
function throws an error when applied to each x
element.
Check type functions:
.check_lgl_type()
throws an error if x
type is not
logical
.
.check_num_type()
throws an error if x
type is not numeric
. Also, an error will be throw if x
values
are not integer
and is_integer
parameter is TRUE
.
.check_int_type()
throws an error if x
type is not numeric
with integer values.
.check_chr_type()
throws an error if x
type is not character
.
.check_lst_type()
throws an error if x
type is not list
.
Combined check functions. These function combine some checks mentioned
above in one place. In general, these functions can check for NA
(if allow_na=FALSE
), for value length (if either len_min
and len_max
are defined - for list
the parameters are
min_len
and max_len
, respectively), for NULL
value
(if allow_null=FALSE
), and for names (if is_named
is
TRUE
or FALSE
). Depending on specific type, the functions
also check for:
.check_lgl()
checks for logical
values.
.check_num()
checks for numeric
values and its range (if
either min
, max
, exclusive_min
, or exclusive_max
parameters are defined). It also checks integer
values
(if is_integer=TRUE
).
.check_chr()
checks for character
type and empty strings (if
allow_empty=FALSE
). It also checks strings through regular
expression (if regex
parameter is defined).
.check_lst()
checks for list
type. By default, it checks if
the list is named. Additionally, a function can be passed to
fn_check
parameter to check its elements. This enables to pass
other checking functions like .check_num()
to verify the type of
its elements. In this case, extra parameters can be passed by ...
.
Subset check functions. Two functions are provided to check for
subset elements in character
vectors. These functions are the
symmetrical equivalent to each other, but the error messages are different.
For the .check_chr_within()
, the error message focus on the
within
values. For the .check_chr_contains()
, the error
message focus on the contains
values. The verification is done
accordingly to the discriminator
parameter, that can be:
one_of
, any_of
, all_of
, none_of
, or
exactly
.
.check_chr_within()
throws an error if provided within
vector
does not correspond to the discriminator
with respect to x
parameter (e.g. "one of x within...", "all of x within...).
one_of
: only one value (can it repeat?) of x
appears
in within
vector. any_of
: at least one value (can it
repeat?) of x
appears in within
vector. all_of
(default): all values (can it repeat?) of x
appears in within
vector. none_of
: no value of x
is in within
vector.
exactly
: value of x
(can it repeat?) is equal to
within
vector.
.check_chr_contains()
throws an error if provided x
vector does not correspond to the discriminator
with respect to
contains
parameter (e.g. "x contains one of...",
"x contains all of..."). one_of
: only one value (can it repeat?) of
contains
appears in x
vector. any_of
: at least one
value (can it repeat?) of contains
appears in x
vector.
all_of
(default): all values (can it repeat?) of contains
appears in x
vector. none_of
: no value of contains
is
in x
vector. exactly
: value of contains
is exactly
(can it repeat?) equal to x
.
Special checking function:
.check_file()
throws an error if provided value is not a valid and
existing file path.
Special checking function:
.check_env_var()
throws an error if provided environment variable is
not existing.
Contextual check and error conversion functions:
.check_warn()
converts an error raised by an R expression in
expr
parameter into a warning message.
.check_error()
captures any error raised by an R expression in
expr
parameter, and shows a personalized message.