bento_kit/lib.rs
1//! # bento-kit
2//!
3//! A bento box of common Rust utilities, packaged as a single crate with
4//! cargo features so you only pull in what you use.
5//!
6//! ## Features
7//!
8//! | feature | what it gives you | default |
9//! |----------|------------------------------------------------------|---------|
10//! | `id` | UUID v4/v7 + nanoid + request-id helpers | yes |
11//! | `time` | Multi-tag profiler + timestamp formatting | yes |
12//! | `mask` | Sensitive-data masking (phone, email, token, ...) | yes |
13//! | `full` | Enables every module above (alias for default) | no |
14//!
15//! ## Example
16//!
17//! ```toml
18//! bento-kit = "0.1" # default features
19//! bento-kit = { version = "0.1", default-features = false, features = ["id"] }
20//! ```
21
22#![cfg_attr(docsrs, feature(doc_cfg))]
23#![warn(missing_docs)]
24#![forbid(unsafe_code)]
25
26#[cfg(feature = "id")]
27#[cfg_attr(docsrs, doc(cfg(feature = "id")))]
28pub mod id;
29
30#[cfg(feature = "time")]
31#[cfg_attr(docsrs, doc(cfg(feature = "time")))]
32pub mod time;
33
34#[cfg(feature = "mask")]
35#[cfg_attr(docsrs, doc(cfg(feature = "mask")))]
36pub mod mask;