These functions help with metaprogramming in packages built on top of targets.

tar_deparse_language(expr)

tar_deparse_safe(expr, collapse = "\n", backtick = TRUE)

tar_tidy_eval(expr, envir, tidy_eval)

tar_tidyselect_eval(names_quosure, choices)

Arguments

expr

A language object to modify or deparse.

collapse

Character of length 1, delimiter in deparsing.

backtick

logical indicating whether symbolic names should be enclosed in backticks if they do not follow the standard syntax.

envir

An environment to find objects for tidy evaluation.

tidy_eval

Logical of length 1, whether to apply tidy evaluation.

names_quosure

An rlang quosure with tidyselect expressions.

choices

A character vector of choices for character elements returned by tidy evaluation.

Details

  • tar_deparse_language() is a wrapper around tar_deparse_safe() which leaves character vectors and NULL objects alone, which helps with subsequent user input validation.

  • tar_deparse_safe() is a wrapper around base::deparse() with a custom set of fast default settings and guardrails to ensure the output always has length 1.

  • tar_tidy_eval() applies tidy evaluation to a language object and returns another language object.

  • tar_tidyselect_eval() applies tidyselect selection with some special guardrails around NULL inputs.

See also

Other utilities to extend targets: tar_assert, tar_condition, tar_dir(), tar_test()

Examples

tar_deparse_language(quote(run_model()))
#> [1] "run_model()"