R/ast_util.R

Defines functions map_ast

map_ast = function(x, f = c, classes = "md_node", res=list()) {
  checkmate::assert_class(x, "md_node")
  checkmate::assert_class(f, "function")
  checkmate::assert_character(classes, any.missing = FALSE, min.len = 1)

  for(i in seq_along(x)) {
    if (inherits(x[[i]], classes)) {
      res = c(res, f(x[[i]]))
    } else if (inherits(x[[i]], "md_node")) {
      res = c(res, map_ast(x[[i]], f, classes))
    }
  }

  res
}

Try the md4r package in your browser

Any scripts or data that you put into this service are public.

md4r documentation built on May 29, 2024, 1:35 a.m.