stratum_server/types/
id.rs1use serde::{Deserialize, Serialize};
2use std::fmt;
3
4#[derive(Serialize, Deserialize, Clone, Debug)]
5#[serde(untagged)]
6pub enum ID {
7 Num(u64),
8 Str(String),
9 Null(serde_json::Value),
10}
11
12impl ID {
13 #[must_use]
14 pub fn null() -> ID {
15 ID::Null(serde_json::Value::Null)
16 }
17}
18
19impl std::fmt::Display for ID {
20 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
21 match self {
22 ID::Num(ref e) => write!(f, "{e}"),
23 ID::Str(ref e) => write!(f, "{e}"),
24 ID::Null(ref _e) => write!(f, "null"),
25 }
26 }
27}