R/check_character.R

Defines functions check_is_scalar_character check_is_character

Documented in check_is_character check_is_scalar_character

#' Help function checking if a variable is a vector of characters.
#'
#' @inherit .check_params params author return seealso
#'
#' @keywords internal
#'
check_is_character <- function(x,
                               error = FALSE) {

  # check if input error is boolean vector of length 1
  check_is_scalar_boolean(x = error,
                          error = TRUE)

  # check if input is a character vector
  if (!rlang::is_character(x)
      || any(rlang::are_na(x))) {

    if (error == TRUE) {

      cli::cli_abort( # nolint: return_linter
        c(
          "x" = "{.arg {rlang::caller_arg(x)}} must be a character vector!"
        ),
        call = rlang::caller_env(),
        wrap = FALSE
      )

    } else {

      return(FALSE)

    }

  } else {

    return(TRUE)

  }

}

#' Help function checking if a variable is a scalar character.
#'
#' @inherit .check_params params author return seealso
#'
#' @keywords internal
#'
check_is_scalar_character <- function(x,
                                      error = FALSE) {

  # check if input error is boolean vector of length 1
  check_is_scalar_boolean(x = error,
                          error = TRUE)

  # check if input is a character vector of length 1
  if (!rlang::is_scalar_character(x)
      || rlang::is_na(x)) {

    if (error == TRUE) {

      cli::cli_abort( # nolint: return_linter
        c(
          "x" = "{.arg {rlang::caller_arg(x)}} must be a scalar character!"
        ),
        call = rlang::caller_env(),
        wrap = FALSE
      )

    } else {

      return(FALSE)

    }

  } else {

    return(TRUE)

  }

}

Try the OlinkAnalyze package in your browser

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

OlinkAnalyze documentation built on June 24, 2026, 1:06 a.m.