use std::str::FromStr;
use crate::Error;
#[derive(Debug, Clone, Copy)]
pub struct BrotliQuality {
value: u8,
}
impl Default for BrotliQuality {
fn default() -> Self {
Self { value: 11 }
}
}
impl From<u8> for BrotliQuality {
fn from(quality: u8) -> Self {
Self { value: quality.min(11) }
}
}
impl FromStr for BrotliQuality {
type Err = Error;
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(Self::from(s.parse::<u8>()?))
}
}
impl From<BrotliQuality> for u8 {
fn from(quality: BrotliQuality) -> u8 {
quality.value
}
}
impl From<BrotliQuality> for i32 {
fn from(quality: BrotliQuality) -> i32 {
quality.value as i32
}
}