Skip to main content

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;