#![warn(missing_docs)]
pub mod cache;
pub mod logging;
pub mod staticfiles;
pub mod storage;
pub mod utils_core;
pub mod humanize;
pub use crate::utils_core::{dateformat, encoding, html, text, timezone};
pub use crate::utils_core::input_validation::{
IdentifierError, sanitize_log_input, validate_identifier, validate_redirect_url,
};
pub use crate::utils_core::lock_recovery::{
LockRecoveryError, recover_mutex, recover_rwlock_read, recover_rwlock_write,
};
pub use crate::utils_core::path_safety::{
PathTraversalError, is_safe_filename_component, safe_path_join,
};
pub use dateformat::format as format_date;
pub use encoding::{escapejs, slugify, truncate_chars, truncate_words, urldecode, urlencode};
pub use html::{SafeString, escape, escape_attr, strip_tags, unescape};
pub use text::{capfirst, floatcomma, intcomma, ordinal, pluralize, title};
pub use timezone::{
get_timezone_name_local, get_timezone_name_utc, localtime, now, to_local, to_utc,
};