R/itemise.R

Defines functions itemise

Documented in itemise

#' Set items
#'
#' @param .data A `navigatr_nav_input` object.
#' @param ... Key-value pairs.
#'
#' @return A `navigatr_nav_input` object.
#'
#' @export
itemise <- function(.data, ...) {
  args <- dots_list(...,
                    .named = TRUE,
                    .homonyms = "first")
  nms <- names(args)
  args <- unname(args)

  keys <- .data$key
  stopifnot(
    nms %in% keys
  )

  locs <- vec_match(nms, keys)

  for (i in vec_seq_along(locs)) {
    .data$value[[locs[[i]]]] <- vec_cast(args[[i]], .data$value[[locs[[i]]]])
  }
  .data
}

#' @rdname itemise
#' @export
itemize <- itemise

Try the navigatr package in your browser

Any scripts or data that you put into this service are public.

navigatr documentation built on March 31, 2023, 9:42 p.m.