R/assert_package.R
assert_package.Rd
The function .assert_package()
checks whether a package is installed and
returns an error or FALSE
if not available. If a package search is provided,
the function will check whether a minimum version of a package is required.
The function .get_package_dependencies()
returns a tibble with all
dependencies of a specific package. Finally, .get_min_version_required()
will return, if any, the minimum version of pkg
required by pkg_search
,
NULL
if no minimum version required.
.assert_package(pkg, fn = NULL, pkg_search = "broom.helpers", boolean = FALSE)
.get_package_dependencies(pkg_search = "broom.helpers")
.get_all_packages_dependencies(
pkg_search = NULL,
remove_duplicates = FALSE,
lib.loc = NULL
)
.get_min_version_required(pkg, pkg_search = "broom.helpers")
(string
)
Name of the required package.
(string
)
Name of the calling function from the user perspective. Used to write
informative error messages.
(string
)
Name of the package the function will search for a minimum
required version from.
(logical
)
Whether to return a TRUE
/FALSE
, rather
than error when package/package version not available. Default is FALSE
,
which will return an error if pkg
is not installed.
(logical
)
If several versions of a package are installed,
should only the first one be returned?
(string
)
Location of R
library trees to search through, see
utils::installed.packages()
.
logical or error for .assert_package()
, NULL
or character with
the minimum version required for .get_min_version_required()
, a tibble for
.get_package_dependencies()
.
get_all_packages_dependencies()
could be used to get the list of
dependencies of all installed packages.
# \donttest{
.assert_package("broom", boolean = TRUE)
#> [1] TRUE
.get_package_dependencies()
#> # A tibble: 65 × 6
#> pkg_search pkg_search_version dependency_type pkg version compare
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 broom.helpers 1.21.0 Imports broom 0.8 >=
#> 2 broom.helpers 1.21.0 Imports cards NA NA
#> 3 broom.helpers 1.21.0 Imports cli NA NA
#> 4 broom.helpers 1.21.0 Imports dplyr 1.1.0 >=
#> 5 broom.helpers 1.21.0 Imports labelled NA NA
#> 6 broom.helpers 1.21.0 Imports lifecycle NA NA
#> 7 broom.helpers 1.21.0 Imports purrr NA NA
#> 8 broom.helpers 1.21.0 Imports rlang 1.0.1 >=
#> 9 broom.helpers 1.21.0 Imports stats NA NA
#> 10 broom.helpers 1.21.0 Imports stringr NA NA
#> # ℹ 55 more rows
.get_min_version_required("brms")
#> Suggests
#> "2.13.0"
#> attr(,"compare")
#> [1] ">="
# }