Skip to main content

toolchest/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2#![warn(missing_docs)]
3#![warn(rust_2018_idioms)]
4#![deny(unsafe_code)]
5
6//! # toolchest - Essential Utility Collection for Rust
7//!
8//! A comprehensive collection of utility functions that complement itertools.
9//! While itertools handles collection manipulation, toolchest provides everything else.
10//!
11//! ## Quick Start
12//!
13//! ```rust
14//! use toolchest::prelude::*;
15//!
16//! // String manipulation
17//! let snake = strings::to_snake_case("HelloWorld");
18//!
19//! // Math utilities  
20//! let clamped = math::clamp(15, 0, 10);
21//!
22//! // Type checking
23//! let is_empty = types::is_empty::<Vec<i32>>(&vec![]);
24//! ```
25
26#[cfg(feature = "std")]
27pub mod strings;
28
29#[cfg(feature = "std")]
30pub mod math;
31
32#[cfg(feature = "std")]
33pub mod deep;
34
35#[cfg(feature = "std")]
36pub mod functions;
37
38pub mod types;
39
40#[cfg(feature = "std")]
41pub mod collections;
42#[cfg(feature = "std")]
43pub mod encoding;
44#[cfg(feature = "std")]
45pub mod hash;
46#[cfg(feature = "std")]
47pub mod io;
48pub mod prelude;
49#[cfg(feature = "std")]
50pub mod random;
51#[cfg(feature = "std")]
52pub mod time;
53#[cfg(feature = "std")]
54pub mod validation;
55
56// Re-export commonly used items at crate root
57#[cfg(feature = "std")]
58pub use strings::{to_camel_case, to_kebab_case, to_snake_case};