use std::io::BufRead;
use chisel_decoders::utf8::Utf8Decoder;
pub enum Encoding {
Utf8,
}
#[derive(Default)]
pub struct DecoderSelector {}
impl DecoderSelector {
pub fn default_decoder<'a, Buffer: BufRead>(
&'a self,
buffer: &'a mut Buffer,
) -> impl Iterator<Item = char> + 'a {
Utf8Decoder::new(buffer)
}
pub fn new_decoder<'a, Buffer: BufRead>(
&'a self,
buffer: &'a mut Buffer,
encoding: Encoding,
) -> impl Iterator<Item = char> + 'a {
match encoding {
Encoding::Utf8 => Utf8Decoder::new(buffer),
}
}
}