These functions use onetime_do() to print a warning or message just
once.
Usage
onetime_warning(
...,
id = deprecate_calling_package(),
path = default_lockfile_dir(),
expiry = NULL,
without_permission = "warn"
)
onetime_message(
...,
id = deprecate_calling_package(),
path = default_lockfile_dir(),
expiry = NULL,
without_permission = "warn"
)
onetime_startup_message(
...,
id = deprecate_calling_package(),
path = default_lockfile_dir(),
expiry = NULL,
without_permission = "warn"
)Arguments
- ...
Passed to
warning(),message()orpackageStartupMessage().- id
Unique ID string. If this is unset, the name of the calling package will be used. Since onetime 0.2.0, not setting
idis deprecated.- path
Directory to store lockfiles. The default uses a unique directory corresponding to the calling package, beneath
rappdirs::user_config_dir(). Normally you should leave this as the default.- expiry
difftime()or e.g.lubridate::duration()object. After this length of time, code will be run again.- without_permission
Character string. What to do if the user hasn't given permission to store files?
"warn"runs the action with an extra warning;"run"runs the action with no warning;"pass"does nothing and returns the default;"stop"throws an error;"ask"asks for permission usingcheck_ok_to_store(), and returns the default if it is not granted.
Examples
oo <- options(onetime.dir = tempdir(check = TRUE))
id <- sample(10000L, 1)
for (n in 1:3) {
onetime_warning("will be shown once", id = id)
}
#> Warning: will be shown once
onetime_reset(id = id)
options(oo)