diff options
| author | mo khan <mo@mokhan.ca> | 2025-06-20 11:41:31 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-06-20 11:41:31 -0600 |
| commit | bff13caf9ee2f806dd32c5d77f0e4ac9eb28c7f5 (patch) | |
| tree | 203724c49fb7092787f74e21933f9b2f72e34828 | |
| parent | 50e26e32f174d459fd8cf53177bc86ab910ff9fe (diff) | |
docs: add a project READMEmain
| -rw-r--r-- | README.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..6645b64 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# please + +A simple Rust library providing convenient builder pattern utilities. + +## Overview + +`please` offers two main functions for creating and initializing objects: + +- `build()` - Creates a new instance using the type's `Default` implementation +- `build_with()` - Creates a new instance and applies a custom initializer function + +## Usage + +Add this to your `Cargo.toml`: + +```toml +[dependencies] +please = "0.1.0" +``` + +### Examples + +Basic usage with `build()`: + +```rust +use please::build; + +#[derive(Default)] +struct Person { + name: String, + age: i32, +} + +let person = build::<Person>(); +// Creates Person { name: "", age: 0 } +``` + +Custom initialization with `build_with()`: + +```rust +use please::build_with; + +let person = build_with(|p: &mut Person| { + p.name = String::from("Alice"); + p.age = 30; +}); +// Creates Person { name: "Alice", age: 30 } +``` + +## Requirements + +- Rust 2024 edition +- Types must implement `Default` trait + +## License + +MIT
\ No newline at end of file |
