mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-27 12:52:17 +00:00
committed by
Wouter van Oortmerssen
parent
d5b4db0692
commit
bb736091f3
@@ -175,13 +175,14 @@ class JsonSchemaGenerator : public BaseGenerator {
|
|||||||
}
|
}
|
||||||
code_ += typeLine;
|
code_ += typeLine;
|
||||||
}
|
}
|
||||||
|
code_ += " },"; // close properties
|
||||||
|
|
||||||
std::vector<FieldDef *> requiredProperties;
|
std::vector<FieldDef *> requiredProperties;
|
||||||
std::copy_if(properties.begin(), properties.end(),
|
std::copy_if(properties.begin(), properties.end(),
|
||||||
back_inserter(requiredProperties),
|
back_inserter(requiredProperties),
|
||||||
[](FieldDef const *prop) { return prop->required; });
|
[](FieldDef const *prop) { return prop->required; });
|
||||||
if (requiredProperties.size() > 0) {
|
if (requiredProperties.size() > 0) {
|
||||||
code_ += " },"; // close properties
|
std::string required_string(" \"required\" : [");
|
||||||
std::string required_string(" \"required\" : [ ");
|
|
||||||
for (auto req_prop = requiredProperties.cbegin();
|
for (auto req_prop = requiredProperties.cbegin();
|
||||||
req_prop != requiredProperties.cend();
|
req_prop != requiredProperties.cend();
|
||||||
++req_prop) {
|
++req_prop) {
|
||||||
@@ -190,12 +191,10 @@ class JsonSchemaGenerator : public BaseGenerator {
|
|||||||
required_string.append(", ");
|
required_string.append(", ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
required_string.append("]");
|
required_string.append("],");
|
||||||
code_ += required_string;
|
code_ += required_string;
|
||||||
} else {
|
|
||||||
code_ += " }"; // close properties
|
|
||||||
}
|
}
|
||||||
|
code_ += " \"additionalProperties\" : false";
|
||||||
std::string closeType(" }");
|
std::string closeType(" }");
|
||||||
if (*s != parser_.structs_.vec.back()) {
|
if (*s != parser_.structs_.vec.back()) {
|
||||||
closeType.append(",");
|
closeType.append(",");
|
||||||
|
|||||||
Binary file not shown.
@@ -16,42 +16,49 @@
|
|||||||
"MyGame_OtherNameSpace_Unused" : {
|
"MyGame_OtherNameSpace_Unused" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_OtherNameSpace_TableB" : {
|
"MyGame_OtherNameSpace_TableB" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"a" : { "$ref" : "#/definitions/TableA" }
|
"a" : { "$ref" : "#/definitions/TableA" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"TableA" : {
|
"TableA" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"b" : { "$ref" : "#/definitions/MyGame_OtherNameSpace_TableB" }
|
"b" : { "$ref" : "#/definitions/MyGame_OtherNameSpace_TableB" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_InParentNamespace" : {
|
"MyGame_InParentNamespace" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example2_Monster" : {
|
"MyGame_Example2_Monster" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_Test" : {
|
"MyGame_Example_Test" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"a" : { "type" : "number" },
|
"a" : { "type" : "number" },
|
||||||
"b" : { "type" : "number" }
|
"b" : { "type" : "number" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_TestSimpleTableWithEnum" : {
|
"MyGame_Example_TestSimpleTableWithEnum" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"color" : { "$ref" : "#/definitions/MyGame_Example_Color" }
|
"color" : { "$ref" : "#/definitions/MyGame_Example_Color" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_Vec3" : {
|
"MyGame_Example_Vec3" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
@@ -62,14 +69,16 @@
|
|||||||
"test1" : { "type" : "number" },
|
"test1" : { "type" : "number" },
|
||||||
"test2" : { "$ref" : "#/definitions/MyGame_Example_Color" },
|
"test2" : { "$ref" : "#/definitions/MyGame_Example_Color" },
|
||||||
"test3" : { "$ref" : "#/definitions/MyGame_Example_Test" }
|
"test3" : { "$ref" : "#/definitions/MyGame_Example_Test" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_Ability" : {
|
"MyGame_Example_Ability" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"id" : { "type" : "number" },
|
"id" : { "type" : "number" },
|
||||||
"distance" : { "type" : "number" }
|
"distance" : { "type" : "number" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_Stat" : {
|
"MyGame_Example_Stat" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
@@ -77,7 +86,8 @@
|
|||||||
"id" : { "type" : "string" },
|
"id" : { "type" : "string" },
|
||||||
"val" : { "type" : "number" },
|
"val" : { "type" : "number" },
|
||||||
"count" : { "type" : "number" }
|
"count" : { "type" : "number" }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_Monster" : {
|
"MyGame_Example_Monster" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
@@ -119,7 +129,8 @@
|
|||||||
"vector_of_doubles" : { "type" : "array", "items" : { "type" : "number" } },
|
"vector_of_doubles" : { "type" : "array", "items" : { "type" : "number" } },
|
||||||
"parent_namespace_test" : { "$ref" : "#/definitions/MyGame_InParentNamespace" }
|
"parent_namespace_test" : { "$ref" : "#/definitions/MyGame_InParentNamespace" }
|
||||||
},
|
},
|
||||||
"required" : [ "name"]
|
"required" : ["name"],
|
||||||
|
"additionalProperties" : false
|
||||||
},
|
},
|
||||||
"MyGame_Example_TypeAliases" : {
|
"MyGame_Example_TypeAliases" : {
|
||||||
"type" : "object",
|
"type" : "object",
|
||||||
@@ -136,7 +147,8 @@
|
|||||||
"f64" : { "type" : "number" },
|
"f64" : { "type" : "number" },
|
||||||
"v8" : { "type" : "array", "items" : { "type" : "number" } },
|
"v8" : { "type" : "array", "items" : { "type" : "number" } },
|
||||||
"vf64" : { "type" : "array", "items" : { "type" : "number" } }
|
"vf64" : { "type" : "array", "items" : { "type" : "number" } }
|
||||||
}
|
},
|
||||||
|
"additionalProperties" : false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"$ref" : "#/definitions/MyGame_Example_Monster"
|
"$ref" : "#/definitions/MyGame_Example_Monster"
|
||||||
|
|||||||
Reference in New Issue
Block a user