use super::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable};
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct AstSerdeOptions {
pub serialize_imports: bool,
}
impl AstSerdeOptions {
pub const fn new(serialize_imports: bool) -> Self {
Self { serialize_imports }
}
}
impl Serializable for AstSerdeOptions {
fn write_into<W: ByteWriter>(&self, target: &mut W) {
target.write_bool(self.serialize_imports);
}
}
impl Deserializable for AstSerdeOptions {
fn read_from<R: ByteReader>(source: &mut R) -> Result<Self, DeserializationError> {
let serialize_imports = source.read_bool()?;
Ok(Self::new(serialize_imports))
}
}