R/numeric_version.R

Defines functions extract_patch.numeric_version extract_minor.numeric_version extract_major.numeric_version numver_extract_nth

Documented in extract_major.numeric_version extract_minor.numeric_version extract_patch.numeric_version

numver_extract_nth <- function(x, n) {
  nums <- unclass(x) |>
    map_int(\(x) x[n]) %|%
    0L

  # Restore NAs
  nums[is.na(x)] <- NA_integer_
  nums
}

#' @rdname extract-component
#' @export
extract_major.numeric_version <- function(x, ...) {
  numver_extract_nth(x, 1L)
}

#' @rdname extract-component
#' @export
extract_minor.numeric_version <- function(x, ...) {
  numver_extract_nth(x, 2L)
}

#' @rdname extract-component
#' @export
extract_patch.numeric_version <- function(x, ...) {
  numver_extract_nth(x, 3L)
}

Try the smvr package in your browser

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

smvr documentation built on June 28, 2025, 1:07 a.m.