Refactor palette checks to use checkmate assertions

This commit is contained in:
gnoblet 2025-07-01 20:06:51 +02:00
parent 94045e30c0
commit bf76ad06a7
2 changed files with 20 additions and 13 deletions

View file

@ -16,13 +16,13 @@ palette <- function(
) { ) {
#------ Checks #------ Checks
# Check that palette is a character scalar # palette is a character scalar
checkmate::assert_character(palette, len = 1) checkmate::assert_character(palette, len = 1)
# Check that reverse is a logical scalar # reverse is a logical scalar
checkmate::assert_logical(reverse, len = 1) checkmate::assert_logical(reverse, len = 1)
# Check that show_palettes is a logical scalar # show_palettes is a logical scalar
checkmate::assert_logical(show_palettes, len = 1) checkmate::assert_logical(show_palettes, len = 1)
#------ Get colors #------ Get colors

View file

@ -9,9 +9,12 @@
#' #'
#' @export #' @export
palette_gen <- function(palette, type, direction = 1, ...) { palette_gen <- function(palette, type, direction = 1, ...) {
if (type %notin% c("categorical", "sequential", "divergent")) { #------ Checks
rlang::abort("'type' must be categorical or continuous or divergent.")
} checkmate::assert_string(palette)
checkmate::assert_choice(type, c("categorical", "sequential", "divergent"))
checkmate::assert_number(direction, lower = -1, upper = 1)
checkmate::assert_true(abs(direction) == 1)
if (type == "categorical") { if (type == "categorical") {
return(palette_gen_categorical(palette = palette, direction = direction)) return(palette_gen_categorical(palette = palette, direction = direction))
@ -31,9 +34,11 @@ palette_gen <- function(palette, type, direction = 1, ...) {
#' #'
#' @export #' @export
palette_gen_categorical <- function(palette = "cat_5_main", direction = 1) { palette_gen_categorical <- function(palette = "cat_5_main", direction = 1) {
if (abs(direction) != 1) { #------ Checks
rlang::abort("Direction must be either 1 or -1.")
} checkmate::assert_string(palette)
checkmate::assert_number(direction, lower = -1, upper = 1)
checkmate::assert_true(abs(direction) == 1)
pal <- palette(palette) pal <- palette(palette)
@ -59,10 +64,12 @@ palette_gen_categorical <- function(palette = "cat_5_main", direction = 1) {
#' @rdname palette_gen #' @rdname palette_gen
#' #'
#' @export #' @export
palette_gen_sequential <- function(palette = "seq_5_main", direction = 1, ...) { palette_gen_sequential <- function(palette = "cat_5_main", direction = 1, ...) {
if (abs(direction) != 1) { #------ Checks
rlang::abort("Direction must be either 1 or -1.")
} checkmate::assert_string(palette)
checkmate::assert_number(direction, lower = -1, upper = 1)
checkmate::assert_true(abs(direction) == 1)
pal <- palette(palette) pal <- palette(palette)