bluetape_rs_core/lib.rs
1//! Core validation, string, and numeric helpers.
2//!
3//! Prefer the Rust standard library when it already expresses the operation
4//! clearly. This crate is for small repeated backend-service patterns.
5//!
6//! ```
7//! use bluetape_rs_core::{require_in_range, require_not_blank};
8//!
9//! let name = require_not_blank("name", "bluetape").expect("name");
10//! let port = require_in_range("port", 8080, 1, 65_535).expect("port");
11//!
12//! assert_eq!(name, "bluetape");
13//! assert_eq!(port, 8080);
14//! ```
15
16mod error;
17mod hex;
18mod number;
19mod string;
20
21pub use error::{RangeKind, ValidationError};
22pub use hex::{is_hex_digit, is_prefixed_hex};
23pub use number::{
24 Number, clamp, require_in_half_open_range, require_in_range, require_non_negative,
25 require_positive,
26};
27pub use string::{
28 blank_to_default, empty_to_default, has_text, require_not_blank, require_not_empty,
29 truncate_utf8_bytes,
30};
31
32#[cfg(test)]
33mod tests;