nexus-scribe-utils
Shared utilities and helper functions used across NexusScribe services.
Overview
Provides common utility functions for time handling, string manipulation, and validation used throughout the codebase.
Time Utilities
Current Timestamp
use nexus_scribe_utils::{current_timestamp_ms, current_timestamp_secs};
let ms = current_timestamp_ms(); // Unix timestamp in milliseconds
let secs = current_timestamp_secs(); // Unix timestamp in seconds
Duration Formatting
use nexus_scribe_utils::format_duration_ms;
assert_eq!(format_duration_ms(5000), "5s");
assert_eq!(format_duration_ms(65000), "1m 5s");
assert_eq!(format_duration_ms(3665000), "1h 1m 5s");
String Utilities
Truncation
use nexus_scribe_utils::truncate_string;
let result = truncate_string("Hello world", 8);
assert_eq!(result, "Hello...");
Filename Sanitization
use nexus_scribe_utils::sanitize_filename;
let safe = sanitize_filename("Meeting: 2024/01/15");
assert_eq!(safe, "Meeting_ 2024_01_15");
Replaces unsafe characters: /, \, :, *, ?, ", <, >, |
Validation Utilities
Email Validation
use nexus_scribe_utils::is_valid_email;
assert!(is_valid_email("user@example.com"));
assert!(!is_valid_email("invalid"));
Password Strength
use nexus_scribe_utils::is_strong_password;
assert!(is_strong_password("Passw0rd")); // Has upper, lower, digit
assert!(!is_strong_password("weak"));
Requirements:
- Minimum 8 characters
- At least 1 uppercase letter
- At least 1 lowercase letter
- At least 1 number
Usage
[dependencies]
nexus-scribe-utils = { path = "../nexus-scribe-utils" }