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;
|
2024-07-07 03:36:50 +00:00
|
|
|
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-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-09-13 18:24:33 +00:00
|
|
|
pub use math::clamp;
|
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-09-13 18:24:33 +00:00
|
|
|
pub fn exchange<T>(state: &mut T, source: T) -> T { std::mem::replace(state, source) }
|
2024-07-23 06:57:14 +00:00
|
|
|
|
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
|
|
|
}
|