websoc_kit/
subscription.rs

1use std::fmt;
2
3#[derive(Clone, PartialEq, Eq, Hash)]
4pub struct Subscription(String);
5
6impl Subscription {
7    #[must_use]
8    pub fn new(subscription: &str) -> Self {
9        Subscription(subscription.to_string())
10    }
11}
12
13impl From<String> for Subscription {
14    fn from(subscription: String) -> Self {
15        Subscription::new(subscription.as_str())
16    }
17}
18
19impl From<&str> for Subscription {
20    fn from(subscription: &str) -> Self {
21        Subscription::new(subscription)
22    }
23}
24
25impl fmt::Debug for Subscription {
26    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
27        write!(f, "Subscription({})", self.0)
28    }
29}
30
31impl fmt::Display for Subscription {
32    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
33        write!(f, "{}", self.0)
34    }
35}