Example #1
0
        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);
            }
        }
Example #2
0
 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();
         }
     }
 }