R/environment.R

Defines functions default_env

Documented in default_env

#' Default environment
#'
#' Creates an environment with just default packages
#'
#' @details
#' A new environment is created with the parent of
#'
#' @param key A key for which environments to use
#'
#' @export
default_env <- function(key = "default") {
  e <- new.env(parent = baseenv())
  switch(
    key,
    default = {
      eval({
        substitute({
          requireNamespace("methods")
          requireNamespace("stats")
          requireNamespace("graphics")
          requireNamespace("grDevices")
          requireNamespace("utils")
          requireNamespace("datasets")
        },
        env = e)
      },
      envir = e)
    },
    options = {
      eval({
        substitute({
          for (i in getOption("defaultPackages")) {
            requireNamespace(i)
          }
        },
        env = e)
      },
      envir = e)
    },
    stop(key, " is not a valid key", call. = FALSE)
  )
  e
}
jmbarbone/jordanExtra documentation built on Aug. 4, 2023, 5:37 p.m.