R/utils.R

Defines functions remove_attr remove_class return_if

remove_attr <- function(x, ...) {
  for (name in rlang::list2(...)) {
    attr(x, name) <- NULL
  }
  x
}

remove_class <-  function(x, ...) {
  cls <- class(x)
  class(x) <- cls[!cls %in% rlang::list2(...)]
  x
}

return_if <- function(.p, .val = invisible(), .envir = parent.frame()) {
  if (.p) {
    do.call(return, list(substitute(.val)), envir = .envir)
  }
}
shunsambongi/enum documentation built on Nov. 11, 2019, 6:46 a.m.