Skip to main content

Crate reinhardt_utils

Crate reinhardt_utils 

Source
Expand description

§Reinhardt Utils

Utility functions for Reinhardt framework, inspired by Django’s utils module.

§Modules

  • timezone: Timezone-aware datetime handling
  • dateformat: Date and time formatting utilities
  • html: HTML escaping and manipulation
  • encoding: Text encoding and URL encoding
  • text: Text manipulation utilities
  • humanize: Human-friendly formatting utilities
  • logging: Logging utilities (feature: logging)
  • cache: Caching utilities (feature: cache)
  • storage: Storage utilities (feature: storage)
  • staticfiles: Static file serving utilities (feature: staticfiles)

§Example

use reinhardt_utils::{timezone, dateformat, html, encoding, text};

// Timezone
let now = timezone::now();
let formatted = dateformat::format(&now, "Y-m-d H:i:s");

// HTML
let escaped = html::escape("<script>alert('XSS')</script>");

// Encoding
let slug = encoding::slugify("Hello World");

// Text
let ordinal = text::ordinal(1); // "1st"

Re-exports§

pub use crate::utils_core::dateformat;
pub use crate::utils_core::encoding;
pub use crate::utils_core::html;
pub use crate::utils_core::text;
pub use crate::utils_core::timezone;
pub use crate::utils_core::input_validation::IdentifierError;
pub use crate::utils_core::input_validation::sanitize_log_input;
pub use crate::utils_core::input_validation::validate_identifier;
pub use crate::utils_core::input_validation::validate_redirect_url;
pub use crate::utils_core::lock_recovery::LockRecoveryError;
pub use crate::utils_core::lock_recovery::recover_mutex;
pub use crate::utils_core::lock_recovery::recover_rwlock_read;
pub use crate::utils_core::lock_recovery::recover_rwlock_write;
pub use crate::utils_core::path_safety::PathTraversalError;
pub use crate::utils_core::path_safety::is_safe_filename_component;
pub use crate::utils_core::path_safety::safe_path_join;
pub use dateformat::format as format_date;
pub use encoding::escapejs;
pub use encoding::slugify;
pub use encoding::truncate_chars;
pub use encoding::truncate_words;
pub use encoding::urldecode;
pub use encoding::urlencode;
pub use html::SafeString;
pub use html::escape;
pub use html::escape_attr;
pub use html::strip_tags;
pub use html::unescape;
pub use text::capfirst;
pub use text::floatcomma;
pub use text::intcomma;
pub use text::ordinal;
pub use text::pluralize;
pub use text::title;
pub use timezone::get_timezone_name_local;
pub use timezone::get_timezone_name_utc;
pub use timezone::localtime;
pub use timezone::now;
pub use timezone::to_local;
pub use timezone::to_utc;

Modules§

cache
Reinhardt Cache
humanize
Humanize Utilities
logging
Logging framework for Reinhardt
staticfiles
Static files and production utilities for Reinhardt
storage
File storage system for Reinhardt
utils_core
Utility functions core