use std::sync::Arc;
use crate::{
FileSystem,
FsResult,
TempDir,
TempDirOptions,
TempFile,
TempFileOptions,
};
pub enum TempResources {}
impl TempResources {
pub fn create_file(fs: Arc<dyn FileSystem>, options: &TempFileOptions) -> FsResult<Box<dyn TempFile>> {
fs.temp_resource_factory().create_file(fs.clone(), options)
}
pub fn create_default_file(fs: Arc<dyn FileSystem>) -> FsResult<Box<dyn TempFile>> {
Self::create_file(fs, &TempFileOptions::default())
}
pub fn create_file_with_prefix(fs: Arc<dyn FileSystem>, prefix: &str) -> FsResult<Box<dyn TempFile>> {
Self::create_file(
fs,
&TempFileOptions {
prefix: prefix.to_owned(),
..TempFileOptions::default()
},
)
}
pub fn create_dir(fs: Arc<dyn FileSystem>, options: &TempDirOptions) -> FsResult<Box<dyn TempDir>> {
fs.temp_resource_factory().create_dir(fs.clone(), options)
}
pub fn create_default_dir(fs: Arc<dyn FileSystem>) -> FsResult<Box<dyn TempDir>> {
Self::create_dir(fs, &TempDirOptions::default())
}
pub fn create_dir_with_prefix(fs: Arc<dyn FileSystem>, prefix: &str) -> FsResult<Box<dyn TempDir>> {
Self::create_dir(
fs,
&TempDirOptions {
prefix: prefix.to_owned(),
..TempDirOptions::default()
},
)
}
}