Skip to content

Commit 44e395c

Browse files
refactor: ♻️ add input checks in simulate (#184)
# Description Just to be consistent - we check inputs in the other functions. ## Checklist - [X] Ran `just run-all` --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 72b4078 commit 44e395c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

R/simulate.R

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,16 @@
1717
#' @examples
1818
#' simulate_register(register = "kontakter", year = c("1999", "2000"))
1919
simulate_register <- function(register, year = "", n = 1000) {
20+
checkmate::assert_string(register)
21+
checkmate::assert_character(year)
22+
checkmate::assert_number(n)
23+
2024
names <- dplyr::if_else(
2125
year == "",
2226
register,
2327
paste(register, year, sep = "_")
2428
)
29+
2530
purrr::map(names, \(name) {
2631
osdc::simulate_registers(registers = register, n = n)[[1]]
2732
}) |>
@@ -42,12 +47,18 @@ simulate_register <- function(register, year = "", n = 1000) {
4247
#' @examples
4348
#' save_as_sas(data_list = simulate_register("kontakter", "2020"), path = fs::path_temp())
4449
save_as_sas <- function(data_list, path) {
50+
checkmate::assert_list(data_list, names = "named")
51+
4552
fs::dir_create(path, recurse = TRUE)
53+
4654
purrr::iwalk(data_list, \(df, name) {
55+
# Suppress warning bc `write_sas()` is deprecated, but good enough for our
56+
# use case.
4757
suppressWarnings(haven::write_sas(
4858
df,
4959
fs::path(path, glue::glue("{name}.sas7bdat"))
5060
))
5161
})
62+
5263
invisible(path)
5364
}

0 commit comments

Comments
 (0)