use crate::parsers::{FileParserBuilder, Load};
use crate::{AnyResult, Case, Value};
use std::io::Read;
#[derive(Clone)]
pub struct LoadJson;
impl Case for LoadJson {}
impl Load for LoadJson {
#[inline]
fn load(&mut self, mut reader: impl Read) -> AnyResult<Value> {
let mut data = String::new();
reader.read_to_string(&mut data)?;
Ok(json5::from_str(&data)?)
}
}
pub struct ParserBuilder;
impl ParserBuilder {
pub fn default() -> FileParserBuilder<LoadJson> {
let mut builder = FileParserBuilder::default();
builder.loader(LoadJson);
builder
}
}