Self::Traits(traits) => traits.run(),
Self::Wallet(wallet) => wallet.run(options),
}
}
}
#[derive(Serialize, Deserialize)]
pub struct Empty {}
pub(crate) trait Output: Send {
fn print_json(&self);
}
impl<T> Output for T
where
T: Serialize + Send,
{
fn print_json(&self) {
serde_json::to_writer_pretty(io::stdout(), self).ok();
println!();
}
}
pub(crate) type SubcommandResult = Result<Box<dyn Output>>;