R/csv_format.R

#' Format vector with comma separated values and print to screen or copy to clipboard
#'
#' @param x A vector of any class
#' @param separator Value separator
#' @param quoted logical, to wrap all values in single quotes
#' @param clipboard logical, uses clipr::write_clip() to copy results to clipboard
#' @return A string of length 1 with comma separated values
#' @examples
#' vec <- c('001', '002', '003')
#' csv_sql(x = vec, clipboard = TRUE)
#' csv_sql(x = vec, quoted = F, clipboard = F)
#'
#' @export
csv_format <- function(x, separator = ",", quoted = TRUE, clipboard = FALSE) {
    
    if (quoted == TRUE) {
        csv <- noquote(paste0("'", x, "'", collapse = separator))
    } else {
        csv <- noquote(paste0(x, collapse = separator))
    }
    
    if (clipboard == TRUE) {
        clipr::write_clip(csv)
        message <- "Results copied to clipboard"
        return(cat(message))
    } else {
        return(csv)
    }
}
dannymorris/rsqltools documentation built on May 3, 2019, 10:42 p.m.