use anyhow::Result;
use bc_envelope::prelude::*;
use clap::Args;
use crate::read_envelope;
pub trait EnvelopeArgsLike {
fn envelope(&self) -> Option<&str>;
fn read_envelope(&self) -> Result<Envelope> {
read_envelope(self.envelope())
}
}
#[derive(Debug, Args)]
#[group(skip)]
pub struct EnvelopeArgs {
envelope: Option<String>,
}
impl EnvelopeArgsLike for EnvelopeArgs {
fn envelope(&self) -> Option<&str> { self.envelope.as_deref() }
}