R/utils.R

Defines functions is_named_list named_list rstudioapi_is_available assert_package has_package

has_package <- function(package) {
  out <- requireNamespace(package, quietly = TRUE)
  out
}

assert_package <- function(package) {
  if (!has_package(package)) {
    rlang::abort(
      paste0("Missing required package: ", package),
      "dbiconf_missing_package"
    )
  }
}

rstudioapi_is_available <- function() {
  has_package("rstudioapi") && rstudioapi::isAvailable()
}

named_list <- function() {
  rlang::set_names(list(), character())
}

is_named_list <- function(x) {
  is.list(x) && rlang::is_named(x)
}
shunsambongi/dbiconf documentation built on Aug. 29, 2022, 11:15 p.m.