use std::fmt::Write;
use crate::errors::ChainsawResult;
use super::json_idl_field_de::JsonIdlFieldDeserializer;
pub fn deserialize_fields_to_object<'opts, W: Write>(
f: &mut W,
buf: &mut &[u8],
fields: &[JsonIdlFieldDeserializer<'opts>],
) -> ChainsawResult<()> {
f.write_char('{')?;
for (i, field_de) in fields.iter().enumerate() {
field_de.deserialize(f, buf)?;
if (i + 1) < fields.len() {
f.write_char(',')?;
}
}
f.write_char('}')?;
Ok(())
}
#[inline(always)]
pub fn write_quoted<W: Write>(
f: &mut W,
s: &str,
) -> Result<(), std::fmt::Error> {
f.write_str("\"")?;
f.write_str(s)?;
f.write_str("\"")
}