R/sprinkle_table.R

Defines functions sprinkle_table.dust_list sprinkle_table.default sprinkle_table

Documented in sprinkle_table sprinkle_table.default sprinkle_table.dust_list

#' @rdname sprinkle
#' @export

sprinkle_table <- function(x, cols = NULL, ..., part = "table")
{
  UseMethod("sprinkle_table")
}

#' @rdname sprinkle
#' @export

sprinkle_table.default <- function(x, cols=NULL, ..., 
                                   part = "table"){

  part_names <- checkmate::matchArg(x = part, 
                                 choices = c("table", "body", "head", "foot", "interfoot"),
                                 several.ok = TRUE)

  if (length(part_names) > 0)
    if (any(part_names %in% "table")) part_names <- c("body", "head", "foot", "interfoot")
  
  if ("body" %in% part_names) x <- sprinkle(x, cols = cols, ..., part = "body")
  if ("head" %in% part_names) x <- sprinkle(x, cols = cols, ..., part = "head")
  if ("foot" %in% part_names & !is.null(x$foot)) x <- sprinkle(x, cols = cols, ..., part = "foot")
  if ("interfoot" %in% part_names & !is.null(x$interfoot)) 
    x <- sprinkle(x, cols=cols, ..., part = "interfoot")
  
  return(x)
}

#' @rdname sprinkle
#' @export

sprinkle_table.dust_list <- function(x, cols=NULL, ..., 
                                     part = "table")
{
  structure(
    lapply(X = x,
           FUN = sprinkle_table,
           cols = cols,
           part = part,
           ...),
    class = "dust_list"
  )
}
nutterb/pixiedust documentation built on Oct. 17, 2023, 9:20 a.m.