websoc_kit/
subscription.rs1use 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}