31 lines
4 KiB
Markdown
31 lines
4 KiB
Markdown
## kxio
|
|
|
|
Provides injectable Filesystem and Network resources to make code more testable.
|
|
|
|
#### std::fs alternatives
|
|
|
|
| To Do | [std::fs] | [kxio::fs::FileSystem] | |
|
|
| ----- | ---------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| [ ] | canonicalize | path(path).canonicalize() | Returns the canonical, absolute form of a path with all intermediate components normalized and symbolic links resolved. |
|
|
| [ ] | copy | file(path).copy(target) | Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file. |
|
|
| [x] | create_dir | dir(path).create() | Creates a new, empty directory at the provided path |
|
|
| [x] | create_dir_all | dir(path).create_all() | Recursively create a directory and all of its parent components if they are missing. |
|
|
| [ ] | hard_link | link(path)create() | Creates a new hard link on the filesystem. |
|
|
| [ ] | metadata | path(path).metadata() | Given a path, query the file system to get information about a file, directory, etc. |
|
|
| [ ] | read | file(path).reader().bytes() | Read the entire contents of a file into a bytes vector. |
|
|
| [x] | read_dir | dir(path).read() | Returns an iterator over the entries within a directory. |
|
|
| [ ] | read_link | link(path).read() | Reads a symbolic link, returning the file that the link points to. |
|
|
| [x] | read_to_string | file(path).reader().to_string() | Read the entire contents of a file into a string. |
|
|
| [ ] | remove_dir | dir(path).remove() | Removes an empty directory. |
|
|
| [ ] | remove_dir_all | dir(path).remove_all() | Removes a directory at this path, after removing all its contents. Use carefully! |
|
|
| [ ] | remove_file | file(path).remove() | Removes a file from the filesystem. |
|
|
| [ ] | rename | path(path).rename() | Rename a file or directory to a new name, replacing the original file if to already exists. |
|
|
| [ ] | set_permissions | path(path).set_permissions() | Changes the permissions found on a file or a directory. |
|
|
| [ ] | symlink_metadata | link(path).metadata() | Query the metadata about a file without following symlinks. |
|
|
| [x] | write | file(path).write() | Write a slice as the entire contents of a file. |
|
|
|
|
### Network
|
|
|
|
The entire [network] module needs to be completly rewritten
|
|
It's use is strongly discouraged.
|
|
A new [net] module will likely be its replacement.
|