Skip to content

Commit 156f9be

Browse files
committed
Crude caching of in-out
1 parent 30b3c0a commit 156f9be

File tree

2 files changed

+29
-11
lines changed

2 files changed

+29
-11
lines changed

R/transform-files.R

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ make_transformer <- function(transformers,
9999
base_indention = base_indention
100100
)
101101
)
102+
103+
if (!is.null(attr(use_cache, "text"))) {
104+
text <- attr(use_cache, "text")
105+
}
102106
} else {
103107
use_cache <- FALSE
104108
}
@@ -117,10 +121,9 @@ make_transformer <- function(transformers,
117121
~.
118122
)
119123
if (should_use_cache) {
120-
cache_write(
121-
transformed_code, transformers,
122-
cache_more_specs(include_roxygen_examples, base_indention)
123-
)
124+
specs <- cache_more_specs(include_roxygen_examples, base_indention)
125+
cache_write(transformed_code, transformers, specs)
126+
cache_write(text, transformers, specs, transformed_code)
124127
}
125128
transformed_code
126129
} else {

R/utils-cache.R

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,21 @@ is_cached <- function(text,
2525
transformers,
2626
more_specs,
2727
cache_dir = cache_dir_default()) {
28-
R.cache::generateCache(
28+
cache_path <- R.cache::generateCache(
2929
key = cache_make_key(text, transformers, more_specs),
3030
dirs = cache_dir
31-
) %>%
32-
file.exists()
31+
)
32+
33+
if (!file.exists(cache_path)) {
34+
return(FALSE)
35+
}
36+
37+
text <- readLines(cache_path)
38+
if (length(text) > 0) {
39+
structure(TRUE, text = text)
40+
} else {
41+
TRUE
42+
}
3343
}
3444

3545

@@ -164,12 +174,17 @@ cache_by_expression <- function(text,
164174
#'
165175
#' @inheritParams cache_make_key
166176
#' @keywords internal
167-
cache_write <- function(text, transformers, more_specs) {
168-
R.cache::generateCache(
177+
cache_write <- function(text, transformers, more_specs, text_out = NULL) {
178+
cache_path <- R.cache::generateCache(
169179
key = cache_make_key(text, transformers, more_specs),
170180
dirs = cache_dir_default()
171-
) %>%
172-
file.create()
181+
)
182+
183+
if (is.null(text_out)) {
184+
file.create(cache_path)
185+
} else {
186+
writeLines(text_out, cache_path)
187+
}
173188
}
174189

175190
styler_version <- unlist(unname(read.dcf("DESCRIPTION")[, "Version"]))

0 commit comments

Comments
 (0)