Get the list of declared dependencies of a module.
get_dependencies(name = .Last.name, load = FALSE)
name | A string (character vector of lenght one). A module name can contain letters, figures and some special characters,
namely Names containing The name "modulr" corresponds to a special module and is therefore reserved. |
---|---|
load | A flag. Should an undefined module be implicitely loaded? |
A list of dependencies.
It is considered a very bad practice to define, touch, undefine, load, make, reset, or perform any other operation from within a module definition that may alterate the internal state of modulr.
define
, make
, reset
,
and root_config
.
reset()#> [2018-12-02T17:13:59 CET] Resetting modulr state ... OK#> [2018-12-02T17:13:59 CET] Defining 'foo' ... OK#> [2018-12-02T17:13:59 CET] Defining 'bar' ... OK#> [2018-12-02T17:13:59 CET] Defining 'bar/mock' ... OKmake("bar/mock")#> [2018-12-02T17:13:59 CET] Making 'bar/mock' ... #> [2018-12-02T17:13:59 CET] * Visiting and defining dependencies ... #> [2018-12-02T17:13:59 CET] * Constructing dependency graph ... OK #> [2018-12-02T17:13:59 CET] * Evaluating #1/1 (layer #1/1): 'foo' ... #> [2018-12-02T17:13:59 CET] DONE ('bar/mock' in 0.05 secs)#> [1] "foobaz"reset()#> [2018-12-02T17:13:59 CET] Resetting modulr state ... OKtmp_dir <- tempfile("modulr_") dir.create(tmp_dir) cat('define("foo", NULL, function() "Hello")', file = file.path(tmp_dir, "foo.R")) cat('define("bar", list(foo = "foo"), function() paste(foo, "World!"))', file = file.path(tmp_dir, "bar.R")) root_config$set(tmp_dir) ## Not run: get_dependencies("bar", load = FALSE) get_dependencies("bar", load = TRUE)#> [2018-12-02T17:13:59 CET] Defining 'bar' ... OK#> $foo #> [1] "foo" #>unlink(tmp_dir, recursive = TRUE)