Crate build_fs_tree[−][src]
Expand description
FileSystemTree
FileSystemTree::build
is faster than
MergeableFileSystemTree::build
but it does not write over an existing
directory and it does not create parent directories when they don’t exist.
Example:
use build_fs_tree::{FileSystemTree, Build, dir, file}; let tree: FileSystemTree<&str, &str> = dir! { "index.html" => file!(r#" <!DOCTYPE html> <link rel="stylesheet" href="styles/style.css" /> <script src="scripts/main.js"></script> "#) "scripts" => dir! { "main.js" => file!(r#"document.write('Hello World')"#) } "styles" => dir! { "style.css" => file!(r#":root { color: red; }"#) } }; tree.build(&"public".into()).unwrap();
MergeableFileSystemTree
Unlike FileSystemTree::build
, MergeableFileSystemTree::build
can write over an existing directory and create parent directories that were not exist before at the
cost of performance.
You can convert a FileSystemTree
into a MergeableFileSystemTree
via From::from
/Into::into
and vice versa.
Example:
use build_fs_tree::{MergeableFileSystemTree, Build, dir, file}; let tree = MergeableFileSystemTree::<&str, &str>::from(dir! { "public" => dir! { "index.html" => file!(r#" <!DOCTYPE html> <link rel="stylesheet" href="styles/style.css" /> <script src="scripts/main.js"></script> "#) "scripts/main.js" => file!(r#"document.write('Hello World')"#) "scripts/style.css" => file!(r#":root { color: red; }"#) } }); tree.build(&".".into()).unwrap();
Serialization and Deserialization
Both FileSystemTree
and MergeableFileSystemTree
implement serde::Deserialize
and serde::Serialize
.
Re-exports
pub use serde; | |
pub use serde_yaml; |
Modules
program | Components of the CLI programs. |
Macros
dir | Create representation of a directory. |
file | Create representation of a file. |
Structs
BuildError | Error caused by |
MergeableFileSystemTree | Representation of a filesystem which contains only files and directories. |
Enums
FailedOperation | Operation that causes an error |
FileSystemTree | Representation of a filesystem which contains only files and directories. |
NodeContent | Content of a node in the filesystem tree |
Traits
Build | Applying |
Node | Node of a filesystem tree. |
Functions
make_mergeable_dir_content_unmergeable | Transmute a |
make_unmergeable_dir_content_mergeable | Transmute a |
Type Definitions
DirectoryContent | Directory content of |
MergeableDirectoryContent | Directory content of |