kxio/README.md
Paul Campbell be7a6febcb
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m2s
Rust / build (map[name:stable]) (push) Successful in 3m56s
Release Please / Release-plz (push) Successful in 1m23s
docs: update readme
2024-11-02 07:13:44 +00:00

4 KiB

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.