# cache which mimics API of cachem: https://cachem.r-lib.org/
# a variation using `fastmap::fastmap()` was not faster in testing
Cache <- R6Class("pp_cache",
public = list(
exists = function(key) hasName(private$cache, key),
get = function(key, default = key_missing())
if (self$exists(key)) private$cache[[key]] else default,
keys = function() names(private$cache),
remove = function(key) private$cache[[key]] <- NULL,
reset = function() for (key in self$keys()) self$remove(key),
set = function(key, value) private$cache[[key]] <- value,
size = function() length(private$cache)
),
private = list(cache = list()))
key_missing <- function() structure(list(), class = "key_missing")
is.key_missing <- function(x) inherits(x, "key_missing")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.