use crate::{
CreateDirOptions,
DirectoryStream,
FileResource,
FsPath,
FsResult,
ListOptions,
PersistOptions,
TempResource,
};
pub trait TempDir: TempResource {
fn list(&self, options: &ListOptions) -> FsResult<Box<dyn DirectoryStream>> {
self.fs().as_ref().list(self.path(), options)
}
fn child(&self, name: &str) -> FsResult<FileResource> {
Ok(FileResource::new(self.fs(), self.path().join(name)?))
}
fn create_child_dir(&self, name: &str, options: &CreateDirOptions) -> FsResult<FileResource> {
let child = self.child(name)?;
child.create_dir(options)?;
Ok(child)
}
fn persist(self: Box<Self>, target: &FsPath, options: &PersistOptions) -> FsResult<()>;
}