use super::Writer;
use crate::ast::*;
use std::fmt::Write;
impl Writer {
pub(crate) fn write_field_value(&mut self, output: &mut String, value: &FieldInitialValue) {
match value {
FieldInitialValue::ConstValue(v) => write!(output, "{}", v.value).unwrap(),
FieldInitialValue::ConstList(list) => {
write!(output, "[").unwrap();
for (i, element) in list.elements.iter().enumerate() {
if i > 0 {
write!(output, ", ").unwrap();
}
self.write_field_value(output, element);
}
write!(output, "]").unwrap();
}
FieldInitialValue::ConstMap(map) => {
write!(output, "{{").unwrap();
for (i, property) in map.properties.iter().enumerate() {
if i > 0 {
write!(output, ", ").unwrap();
}
self.write_field_value(output, &property.name);
write!(output, ": ").unwrap();
self.write_field_value(output, &property.value);
}
write!(output, "}}").unwrap();
}
}
}
}