vdf_reader/entry/
statement.rs

1use super::Entry;
2use serde::{Deserialize, Serialize};
3use std::borrow::Cow;
4use std::ops::Deref;
5
6/// A statement.
7#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize, Default)]
8#[serde(transparent)]
9pub struct Statement(String);
10
11impl From<Cow<'_, str>> for Statement {
12    fn from(value: Cow<'_, str>) -> Self {
13        Statement(value.into())
14    }
15}
16
17impl From<Statement> for Entry {
18    fn from(statement: Statement) -> Self {
19        Entry::Statement(statement)
20    }
21}
22impl From<&'_ str> for Statement {
23    fn from(value: &str) -> Statement {
24        Statement(value.into())
25    }
26}
27
28impl From<String> for Statement {
29    fn from(value: String) -> Statement {
30        Statement(value)
31    }
32}
33
34impl From<Statement> for String {
35    fn from(value: Statement) -> Self {
36        value.0
37    }
38}
39
40impl Deref for Statement {
41    type Target = str;
42
43    fn deref(&self) -> &Self::Target {
44        &self.0
45    }
46}