ic_websocket_cdk/
utils.rs1#[cfg(not(test))]
2use ic_cdk::api::time;
3
4use crate::types::TimestampNs;
5
6#[macro_export]
7macro_rules! custom_print {
8 ($($arg:tt)*) => {
9 #[cfg(not(test))]
10 {
11 ic_cdk::println!("[IC-WEBSOCKET-CDK]: {}", format!($($arg)*));
12 }
13 #[cfg(test)]
14 {
15 println!("[IC-WEBSOCKET-CDK]: {}", format!($($arg)*));
16 }
17 }
18}
19
20#[macro_export]
21macro_rules! custom_trap {
22 ($($arg:tt)*) => {
23 #[cfg(not(test))]
24 {
25 ic_cdk::trap($($arg)*);
26 }
27 #[cfg(test)]
28 {
29 panic!($($arg)*);
30 }
31 }
32}
33
34pub(crate) fn get_current_time() -> TimestampNs {
35 #[cfg(test)]
36 {
37 use std::time::SystemTime;
38 let duration_since_epoch = SystemTime::now()
39 .duration_since(SystemTime::UNIX_EPOCH)
40 .unwrap();
41 let timestamp_nanos = duration_since_epoch.as_nanos();
42 timestamp_nanos as TimestampNs
43 }
44 #[cfg(not(test))]
45 {
46 time()
47 }
48}