public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonTrue>("uniqueItems")) { rules.Add(new JsonUniqueItemsRule()); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonObject>("dependencies")) { JsonObject dependencies = definition.Get<JsonObject>("dependencies"); JsonDependencyRule rule = new JsonDependencyRule(); foreach (string property in dependencies.GetKeys()) { if (dependencies.Contains<JsonArray>(property)) { JsonArray items = dependencies.Get<JsonArray>(property); List<string> values = new List<string>(items.Count); foreach (JsonText item in items.Items<JsonText>()) values.Add(item.Value); rule.Add(property, values.ToArray()); } if (dependencies.Contains<JsonObject>(property)) { JsonObject container = dependencies.Get<JsonObject>(property); JsonSchemaRule schema = parse(container); rule.Add(property, schema); } } rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonText>("$ref")) { string reference = definition.Get<JsonText>("$ref").Value; JsonRefRule rule = new JsonRefRule(reference); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonNumber>("multipleOf")) { JsonNumber multipleOf = definition.Get<JsonNumber>("multipleOf"); JsonMultipleOfRule rule = new JsonMultipleOfRule(multipleOf.ToDecimal()); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonObject>("not")) { JsonObject not = definition.Get<JsonObject>("not"); JsonNotRule rule = new JsonNotRule(parse(not)); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonText>("format")) { JsonText format = definition.Get<JsonText>("format"); JsonFormatRule rule = new JsonFormatRule(format.Value); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonText>("pattern")) { JsonText pattern = definition.Get<JsonText>("pattern"); JsonPatternRule rule = new JsonPatternRule(pattern.Value); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonNumber>("minItems")) { JsonNumber minItems = definition.Get<JsonNumber>("minItems"); JsonMinItemsRule rule = new JsonMinItemsRule(minItems.ToInt32()); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonNumber>("maximum")) { JsonNumber maximum = definition.Get<JsonNumber>("maximum"); JsonTrue exclusiveMaximum = definition.Get<JsonTrue>("exclusiveMaximum"); JsonMaximumRule rule = new JsonMaximumRule(maximum.ToDecimal(), exclusiveMaximum != null); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonArray>("oneOf")) { JsonArray allOf = definition.Get<JsonArray>("oneOf"); JsonOneOfRule rule = new JsonOneOfRule(); foreach (JsonObject item in allOf.Items<JsonObject>()) rule.Add(parse(item)); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parsee) { if (definition.Contains<JsonFalse>("additionalItems")) { if (definition.Contains<JsonArray>("items")) { JsonArray items = definition.Get<JsonArray>("items"); JsonAdditionalItemsRule rule = new JsonAdditionalItemsRule(items.Count); rules.Add(rule); } } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonObject>("properties")) { JsonObject properties = definition.Get<JsonObject>("properties"); JsonPropertiesRule rule = new JsonPropertiesRule(); foreach (string property in properties.GetKeys()) rule.AddProperty(property, parse(properties.Get<JsonObject>(property))); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonArray>("enum")) { JsonArray enums = definition.Get<JsonArray>("enum"); JsonEnumRule rule = new JsonEnumRule(); foreach (JsonValue value in enums.Items()) rule.Add(value); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonArray>("required")) { JsonArray required = definition.Get<JsonArray>("required"); JsonRequiredRule rule = new JsonRequiredRule(); foreach (JsonText property in required.Items()) { rule.Add(property.Value); } rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonObject>("items")) { JsonObject items = definition.Get<JsonObject>("items"); JsonItemsRule rule = new JsonItemsRule(parse(items)); rules.Add(rule); } if (definition.Contains<JsonArray>("items")) { JsonArray items = definition.Get<JsonArray>("items"); JsonItemsRule rule = new JsonItemsRule(); foreach (JsonObject item in items.Items<JsonObject>()) rule.AddTuple(parse(item)); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonText>("type")) { JsonText type = definition.Get<JsonText>("type"); JsonTypeRule rule = new JsonTypeRule(); rule.AddType(type.Value); rules.Add(rule); } if (definition.Contains<JsonArray>("type")) { JsonArray type = definition.Get<JsonArray>("type"); JsonTypeRule rule = new JsonTypeRule(); foreach (JsonText item in type.Items<JsonText>()) rule.AddType(item.Value); rules.Add(rule); } }
public override void Append(JsonSchemaRuleComponent rules, JsonObject definition, Func<JsonObject, JsonSchemaRule> parse) { if (definition.Contains<JsonFalse>("additionalProperties")) { JsonObject properties = definition.Get<JsonObject>("properties"); JsonObject patterns = definition.Get<JsonObject>("patternProperties"); JsonAdditionalPropertiesRule rule = new JsonAdditionalPropertiesRule(); if (properties != null) foreach (string property in properties.GetKeys()) rule.AddProperty(property); if (patterns != null) foreach (string pattern in patterns.GetKeys()) rule.AddPattern(pattern); rules.Add(rule); } if (definition.Contains<JsonObject>("additionalProperties")) { JsonObject additionalProperties = definition.Get<JsonObject>("additionalProperties"); JsonObject properties = definition.Get<JsonObject>("properties"); JsonObject patterns = definition.Get<JsonObject>("patternProperties"); JsonAdditionalPropertiesRule rule = new JsonAdditionalPropertiesRule(parse(additionalProperties)); if (properties != null) foreach (string property in properties.GetKeys()) rule.AddProperty(property); if (patterns != null) foreach (string pattern in patterns.GetKeys()) rule.AddPattern(pattern); rules.Add(rule); } }