R/extract.R

Defines functions `[.enum_enum` enum_extract `$.enum_enum` `[[.enum_enum` enum_extract2

# extract -----------------------------------------------------------------

#' @export
`[.enum_enum` <- function(x, ...) {
  enum_extract(x, ...)
}

#' @export
enum_extract <- function(x, ...) {
  proxy <- enum_proxy(x)
  unname(proxy[vctrs::vec_c(...)])
}


# extract2 ----------------------------------------------------------------

#' @export
`$.enum_enum` <- function(x, ...) {
  enum_extract2(x, ...)
}

#' @export
`[[.enum_enum` <- function(x, ...) {
  enum_extract2(x, ...)
}

enum_extract2 <- function(x, ...) {
  proxy <- enum_proxy(x)
  unname(proxy[[...]])
}
shunsambongi/enum documentation built on Nov. 11, 2019, 6:46 a.m.