2024-04-08 16:58:18 +01:00
## kxio
Provides injectable Filesystem and Network resources to make code more testable.
2024-04-27 18:55:49 +01:00
#### std::fs alternatives
2024-11-03 11:07:48 +00:00
- [ ] `std::fs::canonicalize` - `path(path).canonicalize()` - Returns the canonical, absolute form of a path with all intermediate components normalized and symbolic links resolved.
2024-11-03 11:28:00 +00:00
- [x] `std::fs::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.
2024-11-03 11:07:48 +00:00
- [x] `std::fs::create_dir` - `dir(path).create()` - Creates a new, empty directory at the provided path
- [x] `std::fs::create_dir_all` - `dir(path).create_all()` - Recursively create a directory and all of its parent components if they are missing.
- [ ] `std::fs::hard_link` - `link(path)create()` - Creates a new hard link on the filesystem.
- [ ] `std::fs::metadata` - `path(path).metadata()` - Given a path, query the file system to get information about a file, directory, etc.
2024-11-03 11:36:20 +00:00
- [x] `std::fs::read` - `file(path).reader().bytes()` - Read the entire contents of a file into a bytes vector.
2024-11-03 11:07:48 +00:00
- [x] `std::fs::read_dir` - `dir(path).read()` - Returns an iterator over the entries within a directory.
- [ ] `std::fs::read_link` - `link(path).read()` - Reads a symbolic link, returning the file that the link points to.
- [x] `std::fs::read_to_string` - `file(path).reader().to_string()` - Read the entire contents of a file into a string.
2024-11-03 11:54:07 +00:00
- [x] `std::fs::remove_dir` - `dir(path).remove()` - Removes an empty directory.
2024-11-03 14:06:22 +00:00
- [x] `std::fs::remove_dir_all` - `dir(path).remove_all()` - Removes a directory at this path, after removing all its contents. Use carefully!
2024-11-03 14:12:40 +00:00
- [x] `std::fs::remove_file` - `file(path).remove()` - Removes a file from the filesystem.
2024-11-03 14:18:32 +00:00
- [x] `std::fs::rename` - `path(path).rename()` - Rename a file or directory to a new name, replacing the original file if to already exists.
2024-11-03 11:07:48 +00:00
- [ ] `std::fs::set_permissions` - `path(path).set_permissions()` - Changes the permissions found on a file or a directory.
- [ ] `std::fs::symlink_metadata` - `link(path).metadata()` - Query the metadata about a file without following symlinks.
- [x] `std::fs::write` - `file(path).write()` - Write a slice as the entire contents of a file.
2024-04-27 18:55:49 +01:00
### 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.