From 483654834d5176e88db76daef5b5d7de84837af4 Mon Sep 17 00:00:00 2001 From: Adam Sadowski Date: Wed, 6 Dec 2023 08:50:43 -0500 Subject: [PATCH] Add .multi param to req_url_query() --- .github/workflows/style.yaml | 2 -- R/modify.R | 2 +- R/utils-check.R | 2 +- R/utils-params.R | 26 +++++++------------------- man/format_params.Rd | 2 +- 5 files changed, 10 insertions(+), 24 deletions(-) diff --git a/.github/workflows/style.yaml b/.github/workflows/style.yaml index 265bae8..bee3e48 100644 --- a/.github/workflows/style.yaml +++ b/.github/workflows/style.yaml @@ -9,8 +9,6 @@ name: Style jobs: style: runs-on: ubuntu-latest - permissions: - contents: write env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: diff --git a/R/modify.R b/R/modify.R index 8755763..5cf0a7a 100644 --- a/R/modify.R +++ b/R/modify.R @@ -27,5 +27,5 @@ mm_req_params <- function(req, ..., allfields = TRUE) { check_bool(allfields) params <- format_params(...) if (allfields) params <- c(params, "ALLFIELDS" = 1) - httr2::req_url_query(req, !!!params) + httr2::req_url_query(req, !!!params, .multi = "comma") } diff --git a/R/utils-check.R b/R/utils-check.R index 50314a6..58a6a09 100644 --- a/R/utils-check.R +++ b/R/utils-check.R @@ -29,7 +29,7 @@ check_params <- function(x, call = rlang::caller_env()) { )) } - return(x) + return() } # Is httr2_request diff --git a/R/utils-params.R b/R/utils-params.R index ac9a915..5e7e021 100644 --- a/R/utils-params.R +++ b/R/utils-params.R @@ -2,7 +2,7 @@ #' #' @description #' `format_params()` formats supplied name-value pairs toward -#' creating a valid Megamation URL. +#' creating a valid and readable Megamation URL. #' @inheritParams mm_req_params #' @returns A list of parameter name-value pairs. #' @keywords internal @@ -17,27 +17,15 @@ format_params <- function(...) { if (rlang::is_empty(params)) { return(params) } - params <- check_params(params) - - if ("date" %in% names(params)) { + check_params(params) + names(params) <- toupper(names(params)) + if ("DATE" %in% names(params)) { ## Do not in-line date o.w. when check_date() errors: "params$date must be" - date <- params$date + date <- params$DATE check_date(date) - params$date <- format_date(date) + params$DATE <- format_date(date) } - - names(params) <- toupper(names(params)) - - max_length <- purrr::map_dbl(params, length) |> max() - - valid_list <- 1:max_length |> - purrr::map(\(x) purrr::map(params, x)) |> - purrr::flatten() |> - purrr::compact() |> - purrr::map(as.character) |> - purrr::map(I) - - valid_list[order(names(valid_list))] + return(params) } #' Format date values diff --git a/man/format_params.Rd b/man/format_params.Rd index 7e046cf..5cca484 100644 --- a/man/format_params.Rd +++ b/man/format_params.Rd @@ -18,7 +18,7 @@ A list of parameter name-value pairs. } \description{ \code{format_params()} formats supplied name-value pairs toward -creating a valid Megamation URL. +creating a valid and readable Megamation URL. } \examples{ from <- as.Date("2023-09-20")