1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
compact <- function(x) {
is_empty <- vapply(x, function(x) length(x) == 0, logical(1))
x[!is_empty]
}
"%||%" <- function(a, b) if (!is.null(a)) a else b
"%:::%" <- function(p, f) {
get(f, envir = asNamespace(p))
}
is_windows <- isTRUE(.Platform$OS.type == "windows")
is_macos <- isTRUE(tolower(Sys.info()[["sysname"]]) == "darwin")
sort_ci <- function(x) {
withr::with_collate("C", x[order(tolower(x), x)])
}
is_loaded <- function(pkg = ".") {
pkg <- as.package(pkg)
pkg$package %in% loadedNamespaces()
}
is_attached <- function(pkg = ".") {
pkg <- as.package(pkg)
!is.null(pkgload::pkg_env(pkg$package))
}
vcapply <- function(x, FUN, ...) {
vapply(x, FUN, FUN.VALUE = character(1), ...)
}
release_bullets <- function() {
c(
'`usethis::use_latest_dependencies(TRUE, "CRAN")`',
NULL
)
}
is_testing <- function() {
identical(Sys.getenv("TESTTHAT"), "true")
}
is_rstudio_running <- function() {
!is_testing() && rstudioapi::isAvailable()
}
|