diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2020-09-05 13:18:50 +0200 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2020-09-05 13:34:27 +0200 |
commit | bb809992ad543ea4c0c31897fbf2d130394dd80e (patch) | |
tree | e22b26d7eb2236efa83bbc9de50065263a16c1c3 /src/args.rs | |
parent | 04b4262cdf4bbb4e2698d8ce51a261bf294a2da3 (diff) | |
download | nitrocli-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.rs | 27 |
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, [ |