public static void Write(IParseNodeWriter writer, IModel model) { if (model == null) { writer.WriteNull(); return; } var referencable = model as IReference; if (referencable != null && referencable.IsReference()) { referencable.WriteRef(writer); } else { model.Write(writer); } }
public static void WriteMap <T>(this IParseNodeWriter writer, string propertyName, IDictionary <string, T> list, Action <IParseNodeWriter, T> parser) { if (list != null && list.Count() > 0) { writer.WritePropertyName(propertyName); foreach (var item in list) { writer.WriteStartMap(); writer.WritePropertyName(item.Key); if (item.Value != null) { parser(writer, item.Value); } else { writer.WriteNull(); } writer.WriteEndMap(); } } }