use std::env;
use std::fs::File;
use std::io::Cursor;
use std::io::Write;
#[impl_enum::with_methods {
fn write_all(&mut self, buf: &[u8]) -> Result<(), std::io::Error> {}
pub fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error> {}
}]
enum Writer {
Cursor(Cursor<Vec<u8>>),
File(File),
}
fn get_writer() -> Writer {
if let Ok(path) = env::var("WRITER_FILE") {
Writer::File(File::create(path).unwrap())
} else {
Writer::Cursor(Cursor::new(vec![]))
}
}
fn main() {
let mut writer = get_writer();
writer.write_all(b"hello!").unwrap();
}