Files
continuwuity/src/core/utils/mod.rs
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
1.3 KiB
Rust
Raw Normal View History

2024-09-08 06:53:15 +00:00
pub mod algorithm;
2024-07-03 00:54:36 +00:00
pub mod bytes;
2024-05-27 20:05:33 +00:00
pub mod content_disposition;
pub mod debug;
pub mod defer;
2024-06-04 23:51:02 +00:00
pub mod hash;
2024-05-27 20:05:33 +00:00
pub mod html;
pub mod json;
pub mod math;
2024-06-14 21:11:31 +00:00
pub mod mutex_map;
2024-07-03 08:44:59 +00:00
pub mod rand;
2024-07-03 00:47:58 +00:00
pub mod string;
2024-05-27 20:05:33 +00:00
pub mod sys;
2024-06-25 01:31:52 +00:00
mod tests;
2024-07-03 00:57:50 +00:00
pub mod time;
2024-05-27 20:05:33 +00:00
2024-09-08 06:53:15 +00:00
use std::cmp;
2024-03-05 19:48:54 -05:00
2024-07-24 23:01:00 +00:00
pub use ::ctor::{ctor, dtor};
2024-09-08 06:53:15 +00:00
pub use algorithm::common_elements;
2024-07-03 00:54:36 +00:00
pub use bytes::{increment, u64_from_bytes, u64_from_u8, u64_from_u8x8};
2024-07-30 05:29:32 +00:00
pub use conduit_macros::implement;
2024-05-27 20:05:33 +00:00
pub use debug::slice_truncated as debug_slice_truncated;
2024-07-03 00:44:00 +00:00
pub use hash::calculate_hash;
2024-05-27 20:05:33 +00:00
pub use html::Escape as HtmlEscape;
pub use json::{deserialize_from_str, to_canonical_object};
2024-07-09 20:04:43 +00:00
pub use mutex_map::{Guard as MutexMapGuard, MutexMap};
2024-07-03 08:44:59 +00:00
pub use rand::string as random_string;
pub use string::{str_from_bytes, string_from_bytes};
2024-05-27 20:05:33 +00:00
pub use sys::available_parallelism;
2024-07-03 19:13:49 +00:00
pub use time::now_millis as millis_since_unix_epoch;
2024-05-09 15:59:08 -07:00
2024-07-23 06:57:14 +00:00
#[inline]
2024-05-09 15:59:08 -07:00
pub fn clamp<T: Ord>(val: T, min: T, max: T) -> T { cmp::min(cmp::max(val, min), max) }
2024-03-29 18:28:04 -07:00
2024-07-23 06:57:14 +00:00
#[inline]
pub fn exchange<T: Clone>(state: &mut T, source: T) -> T {
let ret = state.clone();
*state = source;
ret
}
2024-05-09 15:59:08 -07:00
#[must_use]
pub fn generate_keypair() -> Vec<u8> {
2024-07-03 08:44:59 +00:00
let mut value = rand::string(8).as_bytes().to_vec();
2021-06-08 18:10:00 +02:00
value.push(0xFF);
value.extend_from_slice(
&ruma::signatures::Ed25519KeyPair::generate().expect("Ed25519KeyPair generation always works (?)"),
);
value
2020-04-19 14:14:47 +02:00
}