public void Serialize(JsonObjectValidator objectValidator,
                                      IFormatter f, JsonSchemaValidationContext c, T o)
                {
                    // Validates fields
                    var validationResults = new Dictionary <string, ValidationResult>();

                    GenericValidator <T> .ValidationResults(
                        objectValidator.Required, objectValidator.Properties,
                        c, o, validationResults);

                    // Serialize fields
                    f.BeginMap(objectValidator.Properties.Count());
                    foreach (var property in objectValidator.Properties)
                    {
                        var fieldName = property.Key;
                        var schema    = property.Value;

                        string[] deps = null;
                        objectValidator.Dependencies.TryGetValue(fieldName, out deps);

                        FieldSerializer fs;
                        if (m_serializers.TryGetValue(fieldName, out fs))
                        {
                            fs(schema, c, f, o, validationResults, deps);
                        }
                    }
                    f.EndMap();
                }
 public static void Value(this IFormatter f, UnityEngine.Vector2 v)
 {
     //CommaCheck();
     f.BeginMap(2);
     f.Key("x"); f.Value(v.x);
     f.Key("y"); f.Value(v.y);
     f.EndMap();
 }
 public void Serialize(JsonObjectValidator v, IFormatter f, JsonSchemaValidationContext c, T value)
 {
     f.BeginMap(m_fieldSerializers.Count);
     foreach (var s in m_fieldSerializers)
     {
         s(v, f, c, value);
     }
     f.EndMap();
 }
Exemple #4
0
 public static void SerializeDictionary(this IFormatter f, IDictionary <string, object> dictionary)
 {
     f.BeginMap(dictionary.Count);
     foreach (var kv in dictionary)
     {
         f.Key(kv.Key);
         f.SerializeObject(kv.Value);
     }
     f.EndMap();
 }
 public override void Serialize(T t, IFormatter f)
 {
     f.BeginMap(m_serializers.Count());
     foreach (var s in m_serializers)
     {
         f.Key(s.MemberName);
         s.Serialize(ref t, f);
     }
     f.EndMap();
 }
 public static IFormatter Value(this IFormatter f, Vector3 v)
 {
     //CommaCheck();
     f.BeginMap(3);
     f.Key("x"); f.Value(v.x);
     f.Key("y"); f.Value(v.y);
     f.Key("z"); f.Value(v.z);
     f.EndMap();
     return(f);
 }
Exemple #7
0
 public void ToJson(IFormatter f)
 {
     f.BeginMap(2);
     if (!string.IsNullOrEmpty(Title))
     {
         f.Key("title"); f.Value(Title);
     }
     if (!string.IsNullOrEmpty(Description))
     {
         f.Key("description"); f.Value(Description);
     }
     Validator.ToJsonSchema(f);
     f.EndMap();
 }
Exemple #8
0
 public static void Value(this IFormatter f, UnityEngine.Color v)
 {
     //CommaCheck();
     f.BeginMap(4);
     f.Key("r");
     f.Value(v.r);
     f.Key("g");
     f.Value(v.g);
     f.Key("b");
     f.Value(v.b);
     f.Key("a");
     f.Value(v.a);
     f.EndMap();
 }
Exemple #9
0
 public static void Value(this IFormatter f, UnityEngine.Quaternion v)
 {
     //CommaCheck();
     f.BeginMap(4);
     f.Key("x");
     f.Value(v.x);
     f.Key("y");
     f.Value(v.y);
     f.Key("z");
     f.Value(v.z);
     f.Key("w");
     f.Value(v.w);
     f.EndMap();
 }
 public void ToJsonScheama(IFormatter f)
 {
     f.Key("type"); f.Value("object");
     if (Properties.Count > 0)
     {
         f.Key("properties");
         f.BeginMap(Properties.Count);
         foreach (var kv in Properties)
         {
             f.Key(kv.Key);
             kv.Value.ToJson(f);
         }
         f.EndMap();
     }
 }
        public void Serialize <S>(IFormatter f, JsonSchemaValidationContext c, S o)
        {
            // validate properties
            m_validValueMap.Clear();

            var dict = o as Dictionary <string, T>;

            f.BeginMap(dict.Count);
            {
                foreach (var kv in dict)
                {
                    // key
                    f.Key(kv.Key);

                    // value
                    //using (c.Push(kv.Key))
                    {
                        AdditionalProperties.Validator.Serialize(f, c, kv.Value);
                    }
                }
            }
            f.EndMap();
        }
Exemple #12
0
        public static void Convert <PARSER>(this PARSER parser, IFormatter f)
            where PARSER : IParser <PARSER>
        {
            if (parser.IsNull)
            {
                f.Null();
                return;
            }

            switch (parser.ValueType)
            {
            case ParserValueType.Map:
            {
                f.BeginMap(parser.ObjectItems.Count());
                foreach (var kv in parser.ObjectItems)
                {
                    f.Key(kv.Key);
                    kv.Value.Convert(f);
                }
                f.EndMap();
            }
            break;

            case ParserValueType.List:
            {
                f.BeginList(parser.ListItems.Count());
                foreach (var i in parser.ListItems)
                {
                    i.Convert(f);
                }
                f.EndList();
            }
            break;

            case ParserValueType.Boolean:
                f.Value(parser.GetBoolean());
                break;

            case ParserValueType.Integer:
                f.Value(parser.GetInt64());
                break;

            case ParserValueType.Float:
                f.Value(parser.GetSingle());
                break;

            case ParserValueType.Double:
                f.Value(parser.GetDouble());
                break;

            case ParserValueType.String:
                f.Value(parser.GetString());
                break;

            case ParserValueType.Bytes:
                f.Bytes(parser.GetBytes());
                break;

            default:
                throw new Exception("unknown type");
            }
        }