Skip to content

Commit

Permalink
Merge pull request #1066 from r-lib/port_over_when
Browse files Browse the repository at this point in the history
Replace `purrr::when()` with `if()` equivalents
  • Loading branch information
IndrajeetPatil committed Nov 23, 2022
2 parents be75da3 + fd531d8 commit 55e8559
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 20 deletions.
1 change: 0 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ importFrom(purrr,map_lgl)
importFrom(purrr,partial)
importFrom(purrr,pmap)
importFrom(purrr,pwalk)
importFrom(purrr,when)
importFrom(rlang,"%||%")
importFrom(rlang,abort)
importFrom(rlang,is_installed)
Expand Down
10 changes: 6 additions & 4 deletions R/nest.R
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ compute_parse_data_nested <- function(text,
parse_data$child <- rep(list(NULL), length(parse_data$text))
pd_nested <- parse_data %>%
nest_parse_data() %>%
flatten_operators() %>%
when(any(parse_data$token == "EQ_ASSIGN") ~ relocate_eq_assign(.), ~.) %>%
add_cache_block()
flatten_operators()

pd_nested
if (any(parse_data$token == "EQ_ASSIGN")) {
pd_nested <- relocate_eq_assign(pd_nested)
}

pd_nested %>% add_cache_block()
}

#' Creates a flat parse table with minimal initialization
Expand Down
15 changes: 8 additions & 7 deletions R/rules-tokens.R
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,14 @@ add_brackets_in_pipe_one <- function(pd, pos) {
#' braces. Used for unindention.
#' @keywords internal
wrap_if_else_while_for_fun_multi_line_in_curly <- function(pd, indent_by = 2L) {
key_token <- when(
pd,
is_conditional_expr(.) ~ "')'",
is_while_expr(.) ~ "')'",
is_for_expr(.) ~ "forcond",
is_function_declaration(.) ~ "')'"
)
key_token <- NULL

if (is_for_expr(pd)) {
key_token <- "forcond"
} else if (is_conditional_expr(pd) || is_while_expr(pd) || is_function_declaration(pd)) {
key_token <- "')'"
}

if (length(key_token) > 0L) {
pd <- pd %>%
wrap_multiline_curly(indent_by,
Expand Down
2 changes: 1 addition & 1 deletion R/styler-package.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#'
#' @importFrom rlang abort warn seq2 is_installed "%||%" set_names
#' @importFrom purrr map map_lgl map_int map_chr map2 map2_chr map_at pmap pwalk
#' @importFrom purrr compact when partial flatten flatten_int flatten_chr
#' @importFrom purrr compact partial flatten flatten_int flatten_chr
#' @importFrom magrittr "%>%"
#'
## styler namespace: end
Expand Down
17 changes: 10 additions & 7 deletions R/transform-files.R
Original file line number Diff line number Diff line change
Expand Up @@ -121,20 +121,23 @@ make_transformer <- function(transformers,
parse_transform_serialize_r(transformers,
base_indention = base_indention,
warn_empty = warn_empty
) %>%
when(
include_roxygen_examples ~
parse_transform_serialize_roxygen(.,
transformers = transformers, base_indention = base_indention
),
~.
)

if (include_roxygen_examples) {
transformed_code <- parse_transform_serialize_roxygen(
transformed_code,
transformers = transformers,
base_indention = base_indention
)
}

if (should_use_cache) {
cache_write(
transformed_code, transformers,
cache_more_specs(include_roxygen_examples, base_indention)
)
}

transformed_code
} else {
text
Expand Down

0 comments on commit 55e8559

Please sign in to comment.