aboutsummaryrefslogtreecommitdiff
path: root/src/args.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2020-09-05 13:18:50 +0200
committerRobin Krahl <robin.krahl@ireas.org>2020-09-05 13:34:27 +0200
commitbb809992ad543ea4c0c31897fbf2d130394dd80e (patch)
treee22b26d7eb2236efa83bbc9de50065263a16c1c3 /src/args.rs
parent04b4262cdf4bbb4e2698d8ce51a261bf294a2da3 (diff)
downloadnitrocli-bb809992ad543ea4c0c31897fbf2d130394dd80e.tar.gz
nitrocli-bb809992ad543ea4c0c31897fbf2d130394dd80e.tar.bz2
Add json output format
This patch adds a new output format, JSON. It uses serde to serialize the output types. todo: man page, changelog
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs27
1 files changed, 1 insertions, 26 deletions
diff --git a/src/args.rs b/src/args.rs
index 758af8c..3936738 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -58,39 +58,14 @@ impl From<DeviceModel> for nitrokey::Model {
}
}
-impl<'de> serde::Deserialize<'de> for DeviceModel {
- fn deserialize<D>(deserializer: D) -> Result<DeviceModel, D::Error>
- where
- D: serde::Deserializer<'de>,
- {
- use serde::de::Error as _;
- use std::str::FromStr as _;
-
- let s = String::deserialize(deserializer)?;
- DeviceModel::from_str(&s).map_err(D::Error::custom)
- }
-}
-
Enum! {
/// The format for the nitrocli output.
OutputFormat, [
+ Json => "json",
Text => "text",
]
}
-impl<'de> serde::Deserialize<'de> for OutputFormat {
- fn deserialize<D>(deserializer: D) -> Result<OutputFormat, D::Error>
- where
- D: serde::Deserializer<'de>,
- {
- use serde::de::Error as _;
- use std::str::FromStr as _;
-
- let s = String::deserialize(deserializer)?;
- OutputFormat::from_str(&s).map_err(D::Error::custom)
- }
-}
-
Command! {
/// A top-level command for nitrocli.
Command, [