use std::io::{Result, Write};
use crate::TLockAgeError;
pub struct ArmoredWriter<W: Write> {
inner: age::armor::ArmoredWriter<W>,
}
impl<W: Write> ArmoredWriter<W> {
pub fn wrap_output(w: W) -> anyhow::Result<Self> {
let inner = age::armor::ArmoredWriter::wrap_output(w, age::armor::Format::AsciiArmor)
.map_err(TLockAgeError::IO)?;
Ok(Self { inner })
}
pub fn finish(self) -> Result<W> {
self.inner.finish()
}
}
impl<W: Write> Write for ArmoredWriter<W> {
fn write(&mut self, buf: &[u8]) -> Result<usize> {
self.inner.write(buf)
}
fn flush(&mut self) -> Result<()> {
self.inner.flush()
}
}