1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//! Virtual file system.
//!
//! The API is designed to match the `tokio::fs` module which in
//! turn is based on `std::fs` so the API should be familiar.
//!
//! The default operating system VFS re-exports the
//! `tokio::fs` module providing access to the operating system's
//! file system.
//!
//! Using the memory VFS allows us to compile and target the
//! `wasm32-unknown-unknown` platform with minimal changes to
//! the code.
//!
//! The memory file system is enabled by default for
//! `wasm32-unknown-unknown` or if the `mem-fs` feature
//! is enabled.
//!
//! # Memory VFS Caveats
//!
//! Relative paths are resolved from the root of the file system.
//!
//! Avoid using the `PathBuf` functions `exists()`, `metadata()`,
//! `is_dir()`, `is_file()` etc as they will be incorrect when
//! using a virtual file system. Instead use the `vfs::metadata()` and
//! `vfs::try_exists()` asynchronous functions.
//!
//! The `SystemTime` type is not available on `wasm32-unknown-unknwown`
//! so `Metadata` does not support `created()`, `accessed()`
//! and `modified()` for that target.
//!
//! # Memory VFS Unsupported
//!
//! This functionality is not supported yet but we hope to
//! implement in the future.
//!
//! The `readonly` flag on permissions is not supported yet.
//!
//! Created, accessed and modified times are not set
//! yet for non-webassembly targets that support `SystemTime`.
//!
//! Symbolic links are not supported yet which means the `hard_link()`,
//! `symlink()`, `symlink_metadata()`, `symlink_file()` and
//! `symlink_dir()` functions are not available.
//!
pub use *;
pub use *;