70 lines
2.1 KiB
Rust
70 lines
2.1 KiB
Rust
//! # kxio
|
|
//!
|
|
//! `kxio` is a Rust library that provides injectable `FileSystem` and `Network`
|
|
//! resources to enhance the testability of your code. By abstracting system-level
|
|
//! interactions, `kxio` enables easier mocking and testing of code that relies on
|
|
//! file system and network operations.
|
|
//!
|
|
//! ## Features
|
|
//!
|
|
//! - Filesystem Abstraction
|
|
//! - Network Abstraction
|
|
//! - Enhanced Testability
|
|
//!
|
|
//! ## Filesystem
|
|
//!
|
|
//! The Filesystem module offers a clean abstraction over `std::fs`, the standard
|
|
//! file system operations. For comprehensive documentation and usage examples,
|
|
//! please refer to <https://docs.rs/kxio/latest/kxio/fs/>.
|
|
//!
|
|
//! ### Key Filesystem Features:
|
|
//!
|
|
//! - File reading and writing
|
|
//! - Directory operations
|
|
//! - File metadata access
|
|
//! - Fluent API for operations like `.reader().bytes()`
|
|
//!
|
|
//! ## Network
|
|
//!
|
|
//! The Network module offers a testable interface over the `reqwest` crate. For
|
|
//! comprehensive documentation and usage examples, please refer to
|
|
//! <https://docs.rs/kxio/latest/kxio/net/>
|
|
//!
|
|
//! ## Getting Started
|
|
//!
|
|
//! Add `kxio` to your `Cargo.toml`:
|
|
//!
|
|
//! ```toml
|
|
//! [dependencies]
|
|
//! kxio = "x.y.z"
|
|
//! ```
|
|
//!
|
|
//! ## Usage
|
|
//!
|
|
//! See the example [get.rs](https://git.kemitix.net/kemitix/kxio/src/branch/main/examples/get.rs) for an annotated example on how to use the `kxio` library.
|
|
//! It covers both the `net` and `fs` modules.
|
|
//!
|
|
//! ## Development
|
|
//!
|
|
//! - The project uses [Cargo Mutants](https://crates.io/crates/cargo-mutants) for mutation testing.
|
|
//! - [ForgeJo Actions](https://forgejo.org/docs/next/user/actions/) are used for continuous testing and linting.
|
|
//!
|
|
//! ## Contributing
|
|
//!
|
|
//! Contributions are welcome! Please check our [issue tracker](https://git.kemitix.net/kemitix/kxio/issues) for open tasks or
|
|
//! submit your own ideas.
|
|
//!
|
|
//! ## License
|
|
//!
|
|
//! This project is licensed under the terms specified in the `LICENSE` file in the
|
|
//! repository root.
|
|
//!
|
|
//! ---
|
|
//!
|
|
//! For more information, bug reports, or feature requests, please visit our [repository](https://git.kemitix.net/kemitix/kxio).
|
|
|
|
pub mod fs;
|
|
pub mod net;
|
|
mod result;
|
|
|
|
pub use result::{Error, Result};
|