We can easily set global path validation using on_path_not_exists
and on_validate_path
functions.
library(path.chain)
library(logger)
log_level(ERROR)
#> ERROR [2020-09-16 23:03:37]
log_appender(appender_console)
on_path_not_exists(~ log_error("Path {.x} not exists"))
level2.b <- path_link("fileA.RData")
level2.a <- path_link("fileB.fst")
level1 <- path_link("data", list(level2.a = level2.a , level2.b = level2.b))
root <- path_link("files", list(level1))
root$data$level2.a
#> ERROR [2020-09-16 23:03:37] Path files/data/fileB.fst not exists
#> [1] "files/data/fileB.fst"
on_path_not_exists(NULL)
root$data$level2.a
#> [1] "files/data/fileB.fst"
In some cases, path may even exists, being in the same time unsuitable for our purposes. on_validate_path
function was created exactly to handle such cases.