Nothing
# Locate example package path
find_package <- function(pkg) {
system.file(file.path("examples", pkg), package = "pkglite")
}
# List files under a folder in an example package
find_files <- function(pkg, dir, pattern) {
pkg_path <- find_package(pkg)
d <- file.path(paste(pkg_path, dir, sep = "/")) %>%
list.files(
pattern = pattern,
ignore.case = TRUE,
full.names = TRUE
) %>%
gsub(pattern = paste0(".*", pkg, "/{1}"), replacement = "") %>%
as.data.frame(stringsAsFactors = FALSE)
names(d)[1] <- "files"
d
}
# Check if `file_spec()` returns the right object
file_spec_func_valid <- function() {
path <- "R/"
pattern <- "\\.R$"
format <- "text"
recursive <- FALSE
ignore_case <- TRUE
all_files <- FALSE
fs_source <- file_spec(
path = path, pattern = pattern, format = format,
recursive = recursive, ignore_case = ignore_case, all_files = all_files
)
return(
fs_source$path == path &
fs_source$pattern == pattern &
fs_source$format == format &
fs_source$recursive == recursive &
fs_source$ignore_case == ignore_case &
fs_source$all_files == all_files &
class(fs_source) == "file_spec"
)
}
# Flatten the structure of a `file_spec` list
fs_unlist <- function(fs) {
fs_len <- length(fs)
ls <- list()
ls_cnt <- 0
if (fs_len) {
for (i in seq_len(fs_len)) {
x <- fs[[i]]
if (class(x) == "file_spec") {
ls_cnt <- ls_cnt + 1
ls[[ls_cnt]] <- x
} else if (class(x) == "list") {
ls_tmp <- fs_unlist(x)
for (j in seq_len(length(ls_tmp))) {
ls_cnt <- ls_cnt + 1
ls[[ls_cnt]] <- ls_tmp[[j]]
}
}
}
}
ls
}
# Check if a `file_spec` object has all of the parameters as specified
is_file_spec_type <- function(fs_source, path, pattern, format, recursive, ignore_case, all_files) {
return(fs_source$path == path &
fs_source$pattern == pattern &
fs_source$format == format &
fs_source$recursive == recursive &
fs_source$ignore_case == ignore_case &
fs_source$all_files == all_files &
class(fs_source) == "file_spec")
}
# Save string to a `.txt` file
save_txt <- function(code, path = tempfile(fileext = ".txt")) {
writeLines(code, con = path)
path
}
# Create artifacts for testing `pack()`
create_artifacts_pack <- function() {
pkg1 <- system.file("examples/pkg1", package = "pkglite")
pkg2 <- system.file("examples/pkg2", package = "pkglite")
fc1 <- pkg1 %>% collate(file_default())
fc2 <- pkg2 %>% collate(file_default())
txt <- tempfile(fileext = ".txt")
list("pkg1" = pkg1, "pkg2" = pkg2, "fc1" = fc1, "fc2" = fc2, "txt" = txt)
}
# Create artifacts for testing `unpack()`
create_artifacts_unpack <- function() {
pkg1 <- "pkg1" %>% find_package()
pkg2 <- "pkg2" %>% find_package()
fc1 <- pkg1 %>% collate(file_r())
fc2 <- pkg2 %>% collate(file_r())
txt <- tempfile(fileext = ".txt")
pack(fc1, fc2, output = txt, quiet = TRUE)
list("pkg1" = pkg1, "pkg2" = pkg2, "fc1" = fc1, "fc2" = fc2, "txt" = txt)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.