use super::*;
pub fn encode(data: &'_ [u8], buffer_size: usize) -> Cow<'_, [u8]> {
let mut encoder: CompressorWriter<Vec<u8>> = CompressorWriter::new(
Vec::new(),
buffer_size,
BROTLI_DEFAULT_QUALITY,
BROTLI_DEFAULT_WINDOW_BITS,
);
if encoder.write_all(data).is_err() {
return Cow::Owned(Vec::new());
}
Cow::Owned(encoder.into_inner())
}
pub fn decode(data: &'_ [u8], buffer_size: usize) -> Cow<'_, [u8]> {
let mut decompressor: Decompressor<&[u8]> = Decompressor::new(data, buffer_size);
let mut decompressed_data: Vec<u8> = Vec::new();
match decompressor.read_to_end(&mut decompressed_data) {
Ok(_) => Cow::Owned(decompressed_data),
_ => Cow::Owned(Vec::new()),
}
}