#nocov start
# Predicates --------------------------------------------------------------
.all_are_non_missing_nor_empty_strings <- function(x){
return(all(is.character(x)) & all(nchar(x) > 0))
}
.is_a_non_missing_nor_empty_string <- function(x){
return(length(x) == 1 & is.character(x) & nchar(x) > 0)
}
.are_disjoint_sets <- function(x, y){
return(length(intersect(x, y)) == 0)
}
.is_positive_and_finite <- function(x){
return(length(x) == 1 & is.numeric(x) & is.finite(x) & x > 0)
}
# Assertions --------------------------------------------------------------
.assert_is_absolute_path <- function(x){
stopifnot(fs::is_absolute_path(x))
return(invisible())
}
.assert_is_a_non_missing_nor_empty_string <- function(x){
stopifnot(.is_a_non_missing_nor_empty_string(x))
return(invisible())
}
.assert_is_environment <- function(x){
stopifnot(is.environment(x))
return(invisible())
}
.assert_is_positive_and_finite <- function(x){
stopifnot(.is_positive_and_finite(x))
return(invisible())
}
# .delete_project_env ----------------------------------------------------------
#
#' @title Delete Project Environment
#' @noRd
#' @export
#' @keywords internal
.delete_project_env <- function() {
try(get("assign")(x = ".project", value = NULL, envir = .GlobalEnv), silent = TRUE)
try(detach(".project", character.only = TRUE), silent = TRUE)
suppressWarnings(rm(.project))
return(invisible())
}
# .create_project_env -----------------------------------------------------
#
#' @title Create Project Environment
#' @noRd
#' @export
#' @keywords internal
.create_project_env <- function() {
.delete_project_env()
get("assign")(x = ".project", value = new.env(), envir = .GlobalEnv)
get("attach")(.project, name = ".project")
return(invisible())
}
#nocov end
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.