Add support for serializing input

This commit is contained in:
Matthias Endler 2021-02-17 12:11:28 +01:00
parent d6b960368a
commit d9adfbf80f

View file

@ -15,7 +15,7 @@ use tokio::io::{stdin, AsyncReadExt};
const STDIN: &str = "-";
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum Input {
RemoteUrl(Url),
@ -25,6 +25,15 @@ pub enum Input {
String(String),
}
impl Serialize for Input {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.collect_str(self)
}
}
impl Display for Input {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {