mini_functions/lib.rs
1// Copyright © 2022-2023 Mini Functions. All rights reserved.
2// SPDX-License-Identifier: Apache-2.0
3// SPDX-License-Identifier: MIT
4//!
5//! # `Mini Functions` 🦀
6//!
7//! [![Mini Functions Logo][01]][00]
8//!
9//! ## A Highly Performant Utility and Wrapper Functions Library for Rust
10//!
11//! Elevate your Rust development with this comprehensive library of functions and utilities designed to streamline common tasks, enhance performance, and promote maintainability across various aspects of Rust application development.
12//!
13//! <center>
14//!
15//! [](https://github.com/sebastienrousseau/mini-functions)
16//! [](https://www.rust-lang.org)
17//! [](https://crates.io/crates/mini-functions)
18//! [](https://lib.rs/crates/mini-functions)
19//! [](http://opensource.org/licenses/MIT)
20//!
21//! </center>
22//!
23//! ## Overview
24//!
25//! Mini-Functions is a modern Rust library that prioritizes performance, security, and modularity. It provides a low-overhead access to functions for common programming tasks.
26//!
27//! ## Features
28//!
29//! - **[Claims](#Modules/Claims/index.html)** - Provides robust functionalities for handling various types of claims in JSON Web Tokens (JWT), including standard, custom, and private claims. Ideal for authentication and authorization processes in Rust applications.
30//! - **[Common](#Modules/Common/index.html)** - Offers a comprehensive collection of mathematical and cryptographic constants, such as prime numbers, Pi, cryptographic keys, and more. Essential for applications requiring high-level mathematical computations and secure cryptographic operations.
31//! - **[Date](#Modules/Date/index.html)** - Features an extensive suite of functions for parsing, validating, manipulating, and formatting dates and times. Supports a wide range of date/time formats and is tailored for time-sensitive Rust applications.
32//! - **[Errors](#Modules/Errors/index.html)** - Delivers advanced error handling functions with support for custom error types, integration with logging systems, and streamlined error propagation. Enhances the reliability and maintainability of Rust applications through robust error management.
33//! - **[Hash](#Modules/Hash/index.html)** - Specializes in Quantum-Resistant Cryptographic Hashing, offering a library tailored for password hashing and verification. Includes modern algorithms designed to withstand quantum-computing threats, ensuring long-term security.
34//! - **[JWT](#Modules/JWT/index.html)** - Provides a full range of JSON Web Token (JWT) functionalities, including secure token generation, decoding, and validation. Facilitates secure and efficient user authentication processes in Rust-based systems.
35//! - **[Logs](#Modules/Logs/index.html)** - Enables application-level logging with a focus on simplicity and readability. Features customizable log formats, multiple log levels, and easy integration with Rust applications, making debugging and monitoring more efficient.
36//! - **[MD5](#Modules/MD5/index.html)** - Offers MD5 hash functions, suitable for legacy systems compatibility. Includes a clear advisory on MD5's vulnerabilities and guidance on secure alternatives for modern applications.
37//! - **[QR](#Modules/QR/index.html)** - Allows for comprehensive QR code operations, including generation, customization, and scanning capabilities. Supports a variety of formats and use-cases, making it a versatile tool for Rust applications involving QR code integration.
38//! - **[Random](Random/index.html)** - Features high-quality random number generation using the Mersenne Twister algorithm. Ideal for applications requiring random data generation, including simulations, gaming, and cryptographic operations.
39//!
40//! These components provide a comprehensive set of functionality and offer powerful new capabilities to help you build better applications and services in the Rust programming language.
41//!
42//! [**Learn more**](https://minifunctions.com) [❯](https://minifunctions.com)
43//!
44//! ## Installation
45//!
46//! Mini Functions is available on both [Crates.io](https://crates.io/crates/mini_functions) and [Lib.rs](https://lib.rs/crates/mini_functions).
47//!
48//! Learn more about Mini Functions at <https://minifunctions.com>.
49//!
50//! Add the following to your `Cargo.toml` file:
51//! ```toml
52//! [dependencies]
53//! mini_functions = "0.0.10"
54//! ```
55//! Then, add the following to your crate root:
56//! ```rust
57//! extern crate mini_functions;
58//!
59//! use mini_functions::mini_functions::*;
60//!
61//! ```
62//!
63//! [00]: https://minifunctions.com "Mini Functions - Highly performant utility and wrapper functions library for Rust"
64//! [01]: https://kura.pro/mini-functions/images/v2/banners/banner-mini-functions.svg "Mini Functions - Highly performant utility and wrapper functions library for Rust"
65//!
66#![warn(missing_docs)]
67#![forbid(unsafe_code)]
68#![doc(
69 html_favicon_url = "https://kura.pro/mini-functions/images/v2/favicon.ico",
70 html_logo_url = "https://kura.pro/mini-functions/images/v2/logos/mini-functions.svg",
71 html_root_url = "https://docs.rs/mini-functions"
72)]
73#![crate_name = "mini_functions"]
74#![crate_type = "dylib"]
75#![crate_type = "lib"]
76#![crate_type = "rlib"]
77#![crate_type = "staticlib"]
78
79/// Provides access to the claims of a JSON Web Token (JWT).
80pub mod claims;
81
82/// Offers a comprehensive collection of mathematical and cryptographic constants.
83pub mod common;
84
85/// Features an extensive suite of functions for handling dates and times.
86pub mod date;
87
88/// Delivers advanced error handling functionalities.
89pub mod errors;
90
91/// Specializes in Quantum-Resistant Cryptographic Hashing.
92pub mod hash;
93
94/// Enables application-level logging with customizable features.
95pub mod logs;
96
97/// Provides a full range of JSON Web Token (JWT) functionalities.
98pub mod jwt;
99
100/// Offers MD5 hash functions with advisories on usage.
101pub mod md5;
102
103/// Features high-quality random number generation using the Mersenne Twister algorithm.
104pub mod random;
105
106/// Allows for comprehensive QR code operations.
107pub mod qr;
108
109/// Re-exports public contents of key modules
110pub mod mini_functions {
111 pub use crate::{
112 claims::*,
113 common::{self, cmn_macros},
114 date::{self, dtt_macros},
115 errors::*,
116 hash::{self, hsh_macros},
117 jwt::*,
118 logs::{self, rlg_macros},
119 md5::{self, mdg_constants},
120 qr::*,
121 random::{self, vrd_macros},
122 };
123}