diff --git a/packages/quicktype-core/src/language/Java/JavaJacksonRenderer.ts b/packages/quicktype-core/src/language/Java/JavaJacksonRenderer.ts index f6af97f157..5f159b5fb8 100644 --- a/packages/quicktype-core/src/language/Java/JavaJacksonRenderer.ts +++ b/packages/quicktype-core/src/language/Java/JavaJacksonRenderer.ts @@ -32,6 +32,10 @@ export class JacksonRenderer extends JavaRenderer { "JsonParser", "JsonProcessingException", "ObjectMapper", + "ObjectReader", + "ObjectWriter", + "DeserializationFeature", + "SerializationFeature", "DeserializationContext", "SerializerProvider", "None", diff --git a/packages/quicktype-core/src/language/Kotlin/KotlinJacksonRenderer.ts b/packages/quicktype-core/src/language/Kotlin/KotlinJacksonRenderer.ts index dfcf5d01d1..408525bea9 100644 --- a/packages/quicktype-core/src/language/Kotlin/KotlinJacksonRenderer.ts +++ b/packages/quicktype-core/src/language/Kotlin/KotlinJacksonRenderer.ts @@ -32,8 +32,18 @@ export class KotlinJacksonRenderer extends KotlinRenderer { "JsonGenerator", "JsonNode", "JsonParser", + "ArrayNode", + "BooleanNode", + "DeserializationFeature", + "DoubleNode", + "IntNode", + "LongNode", + "NullNode", + "ObjectNode", + "TextNode", "ObjectMapper", "SerializerProvider", + "SerializationFeature", "SimpleModule", "StdDeserializer", "StdSerializer", diff --git a/test/inputs/json/priority/keywords.json b/test/inputs/json/priority/keywords.json index fce8e35bba..ea1d081135 100644 --- a/test/inputs/json/priority/keywords.json +++ b/test/inputs/json/priority/keywords.json @@ -11,6 +11,7 @@ "and_eq": { "and_eq": 123 }, "any": { "any": 123 }, "Any": { "Any": 123 }, + "ArrayNode": { "ArrayNode": 123 }, "array": { "array": 123 }, "as": { "as": 123 }, "asm": { "asm": 123 }, @@ -30,6 +31,7 @@ "BOOL": { "BOOL": 123 }, "bool": { "bool": 123 }, "boolean": { "boolean": 123 }, + "BooleanNode": { "BooleanNode": 123 }, "break": { "break": 123 }, "bycopy": { "bycopy": 123 }, "byref": { "byref": 123 }, @@ -62,11 +64,11 @@ "convenience": { "convenience": 123 }, "convert": { "convert": 123 }, "converter": { "converter": 123 }, - "CultureInfo": { "CultureInfo": 123 }, - "date": { "date": 123 }, "dummy": 123 }, "obj2": { + "CultureInfo": { "CultureInfo": 123 }, + "date": { "date": 123 }, "date_parse_handling": { "date_parse_handling": 123 }, "DateFormatter": { "DateFormatter": 123 }, "DateOnly": { "DateOnly": 123 }, @@ -76,6 +78,7 @@ "debugger": { "debugger": 123 }, "decimal": { "decimal": 123 }, "declare": { "declare": 123 }, + "DeserializationFeature": { "DeserializationFeature": 123 }, "decltype": { "decltype": 123 }, "decode_string": { "decode_string": 123 }, "Decoder": { "Decoder": 123 }, @@ -92,6 +95,7 @@ "didSet": { "didSet": 123 }, "do": { "do": 123 }, "double": { "double": 123 }, + "DoubleNode": { "DoubleNode": 123 }, "dynamic": { "dynamic": 123 }, "dynamic_cast": { "dynamic_cast": 123 }, "elif": { "elif": 123 }, @@ -127,13 +131,13 @@ "from_dict": { "from_dict": 123 }, "from_json": { "from_json": 123 }, "func": { "func": 123 }, + "dummy": 123 + }, + "obj3": { "function": { "function": 123 }, "get": { "get": 123 }, "global": { "global": 123 }, "go": { "go": 123 }, - "dummy": 123 - }, - "obj3": { "goto": { "goto": 123 }, "guard": { "guard": 123 }, "Hashable": { "Hashable": 123 }, @@ -154,6 +158,7 @@ "inout": { "inout": 123 }, "instanceof": { "instanceof": 123 }, "int": { "int": 123 }, + "IntNode": { "IntNode": 123 }, "interface": { "interface": 123 }, "internal": { "internal": 123 }, "IsoDateTimeOffsetConverter": { "IsoDateTimeOffsetConverter": 123 }, @@ -183,6 +188,7 @@ "left": { "left": 123 }, "let": { "let": 123 }, "list": { "list": 123 }, + "LongNode": { "LongNode": 123 }, "Locale": { "Locale": 123 }, "lock": { "lock": 123 }, "long": { "long": 123 }, @@ -192,15 +198,16 @@ "module": { "module": 123 }, "mutable": { "mutable": 123 }, "mutating": { "mutating": 123 }, + "dummy": 123 + }, + "obj4": { "namespace": { "namespace": 123 }, "native": { "native": 123 }, "new": { "new": 123 }, "newtonsoft": { "newtonsoft": 123 }, "nil": { "nil": 123 }, + "NullNode": { "NullNode": 123 }, "NO": { "NO": 123 }, - "dummy": 123 - }, - "obj4": { "noexcept": { "noexcept": 123 }, "nonatomic": { "nonatomic": 123 }, "none": { "none": 123 }, @@ -218,7 +225,10 @@ "nullptr": { "nullptr": 123 }, "number": { "number": 123 }, "object": { "object": 123 }, + "ObjectNode": { "ObjectNode": 123 }, "ObjectMapper": { "ObjectMapper": 123 }, + "ObjectReader": { "ObjectReader": 123 }, + "ObjectWriter": { "ObjectWriter": 123 }, "of": { "of": 123 }, "oneway": { "oneway": 123 }, "open": { "open": 123 }, @@ -255,6 +265,9 @@ "require": { "require": 123 }, "required": { "required": 123 }, "requires": { "requires": 123 }, + "dummy": 123 + }, + "obj5": { "restrict": { "restrict": 123 }, "retain": { "retain": 123 }, "rethrows": { "rethrows": 123 }, @@ -265,9 +278,6 @@ "sbyte": { "sbyte": 123 }, "sealed": { "sealed": 123 }, "SEL": { "SEL": 123 }, - "dummy": 123 - }, - "obj5": { "select": { "select": 123 }, "Self": { "Self": 123 }, "Serializable": { "Serializable": 123 }, @@ -278,6 +288,7 @@ "KSerializer": { "KSerializer": 123 }, "PrimitiveKind": { "PrimitiveKind": 123 }, "SerialDescriptor": { "SerialDescriptor": 123 }, + "SerializationFeature": { "SerializationFeature": 123 }, "SerializerProvider": { "SerializerProvider": 123 }, "set": { "set": 123 }, "short": { "short": 123 }, @@ -303,6 +314,7 @@ "template": { "template": 123 }, "then": { "then": 123 }, "this": { "this": 123 }, + "TextNode": { "TextNode": 123 }, "thread_local": { "thread_local": 123 }, "throw": { "throw": 123 }, "throws": { "throws": 123 }, @@ -320,6 +332,9 @@ "Type": { "Type": 123 }, "type": { "type": 123 }, "typealias": { "typealias": 123 }, + "dummy": 123 + }, + "obj6": { "typedef": { "typedef": 123 }, "typeid": { "typeid": 123 }, "typename": { "typename": 123 }, @@ -332,9 +347,6 @@ "UseSerializers": { "UseSerializers": 123 }, "unowned": { "unowned": 123 }, "unsafe": { "unsafe": 123 }, - "dummy": 123 - }, - "obj6": { "unsigned": { "unsigned": 123 }, "ushort": { "ushort": 123 }, "using": { "using": 123 }, diff --git a/test/inputs/schema/direct-union.1.json b/test/inputs/schema/direct-union.1.json index 5227ae2d95..2c6a419c72 100644 --- a/test/inputs/schema/direct-union.1.json +++ b/test/inputs/schema/direct-union.1.json @@ -1,4 +1,12 @@ { + "arrayNode": {}, + "booleanNode": {}, + "doubleNode": {}, + "intNode": {}, + "longNode": {}, + "nullNode": {}, + "objectNode": {}, + "textNode": {}, "stuff": { "one": { "required": null @@ -18,4 +26,4 @@ ] } } -} \ No newline at end of file +} diff --git a/test/inputs/schema/direct-union.schema b/test/inputs/schema/direct-union.schema index 0ecf1a486a..93bdcb4ec5 100644 --- a/test/inputs/schema/direct-union.schema +++ b/test/inputs/schema/direct-union.schema @@ -7,12 +7,28 @@ "additionalProperties": { "$ref": "#/definitions/thing" } - } + }, + "arrayNode": { "$ref": "#/definitions/ArrayNode" }, + "booleanNode": { "$ref": "#/definitions/BooleanNode" }, + "doubleNode": { "$ref": "#/definitions/DoubleNode" }, + "intNode": { "$ref": "#/definitions/IntNode" }, + "longNode": { "$ref": "#/definitions/LongNode" }, + "nullNode": { "$ref": "#/definitions/NullNode" }, + "objectNode": { "$ref": "#/definitions/ObjectNode" }, + "textNode": { "$ref": "#/definitions/TextNode" } }, "required": [ "stuff" ], "definitions": { + "ArrayNode": { "type": "object", "additionalProperties": false }, + "BooleanNode": { "type": "object", "additionalProperties": false }, + "DoubleNode": { "type": "object", "additionalProperties": false }, + "IntNode": { "type": "object", "additionalProperties": false }, + "LongNode": { "type": "object", "additionalProperties": false }, + "NullNode": { "type": "object", "additionalProperties": false }, + "ObjectNode": { "type": "object", "additionalProperties": false }, + "TextNode": { "type": "object", "additionalProperties": false }, "thing": { "type": "object", "additionalProperties": false, @@ -40,4 +56,4 @@ ] } } -} \ No newline at end of file +} diff --git a/test/inputs/schema/keyword-enum.schema b/test/inputs/schema/keyword-enum.schema index 5a24b92a0f..c3075f0ff4 100644 --- a/test/inputs/schema/keyword-enum.schema +++ b/test/inputs/schema/keyword-enum.schema @@ -15,6 +15,7 @@ "and_eq", "any", "Any", + "ArrayNode", "array", "as", "asm", @@ -34,6 +35,7 @@ "BOOL", "bool", "boolean", + "BooleanNode", "break", "bycopy", "byref", @@ -77,6 +79,7 @@ "debugger", "decimal", "declare", + "DeserializationFeature", "decltype", "decode_string", "Decoder", @@ -93,6 +96,7 @@ "didSet", "do", "double", + "DoubleNode", "dynamic", "dynamic_cast", "elif", @@ -152,6 +156,7 @@ "inout", "instanceof", "int", + "IntNode", "interface", "internal", "IsoDateTimeOffsetConverter", @@ -181,6 +186,7 @@ "left", "let", "list", + "LongNode", "Locale", "lock", "long", @@ -195,6 +201,7 @@ "new", "newtonsoft", "nil", + "NullNode", "NO", "noexcept", "nonatomic", @@ -213,7 +220,10 @@ "nullptr", "number", "object", + "ObjectNode", "ObjectMapper", + "ObjectReader", + "ObjectWriter", "of", "oneway", "open", @@ -270,6 +280,7 @@ "KSerializer", "PrimitiveKind", "SerialDescriptor", + "SerializationFeature", "SerializerProvider", "set", "short", @@ -295,6 +306,7 @@ "template", "then", "this", + "TextNode", "thread_local", "throw", "throws", diff --git a/test/inputs/schema/keyword-unions.schema b/test/inputs/schema/keyword-unions.schema index c4ff0945be..d4f03d4932 100644 --- a/test/inputs/schema/keyword-unions.schema +++ b/test/inputs/schema/keyword-unions.schema @@ -78,6 +78,13 @@ ], "title": "union_Any" }, + "ArrayNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "ArrayNode" } + ], + "title": "union_ArrayNode" + }, "array": { "oneOf": [ { "type": "number" }, @@ -211,6 +218,13 @@ ], "title": "union_boolean" }, + "BooleanNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "BooleanNode" } + ], + "title": "union_BooleanNode" + }, "break": { "oneOf": [ { "type": "number" }, @@ -512,6 +526,13 @@ ], "title": "union_declare" }, + "DeserializationFeature": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "DeserializationFeature" } + ], + "title": "union_DeserializationFeature" + }, "decltype": { "oneOf": [ { "type": "number" }, @@ -624,6 +645,13 @@ ], "title": "union_double" }, + "DoubleNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "DoubleNode" } + ], + "title": "union_DoubleNode" + }, "dynamic": { "oneOf": [ { "type": "number" }, @@ -1037,6 +1065,13 @@ ], "title": "union_int" }, + "IntNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "IntNode" } + ], + "title": "union_IntNode" + }, "interface": { "oneOf": [ { "type": "number" }, @@ -1240,6 +1275,13 @@ ], "title": "union_list" }, + "LongNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "LongNode" } + ], + "title": "union_LongNode" + }, "Locale": { "oneOf": [ { "type": "number" }, @@ -1338,6 +1380,13 @@ ], "title": "union_nil" }, + "NullNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "NullNode" } + ], + "title": "union_NullNode" + }, "NO": { "oneOf": [ { "type": "number" }, @@ -1464,6 +1513,13 @@ ], "title": "union_object" }, + "ObjectNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "ObjectNode" } + ], + "title": "union_ObjectNode" + }, "ObjectMapper": { "oneOf": [ { "type": "number" }, @@ -1471,6 +1527,20 @@ ], "title": "union_ObjectMapper" }, + "ObjectReader": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "ObjectReader" } + ], + "title": "union_ObjectReader" + }, + "ObjectWriter": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "ObjectWriter" } + ], + "title": "union_ObjectWriter" + }, "of": { "oneOf": [ { "type": "number" }, @@ -1863,6 +1933,13 @@ ], "title": "union_SerialDescriptor" }, + "SerializationFeature": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "SerializationFeature" } + ], + "title": "union_SerializationFeature" + }, "SerializerProvider": { "oneOf": [ { "type": "number" }, @@ -2038,6 +2115,13 @@ ], "title": "union_this" }, + "TextNode": { + "oneOf": [ + { "type": "number" }, + { "type": "object", "additionalProperties": false, "title": "TextNode" } + ], + "title": "union_TextNode" + }, "thread_local": { "oneOf": [ { "type": "number" }, diff --git a/test/keywords.txt b/test/keywords.txt index 2859a322a6..e46b59de71 100644 --- a/test/keywords.txt +++ b/test/keywords.txt @@ -9,6 +9,7 @@ and and_eq any Any +ArrayNode array as asm @@ -28,6 +29,7 @@ bitor BOOL bool boolean +BooleanNode break bycopy byref @@ -71,6 +73,7 @@ DateTimeStyles debugger decimal declare +DeserializationFeature decltype decode_string Decoder @@ -87,6 +90,7 @@ dictionary didSet do double +DoubleNode dynamic dynamic_cast elif @@ -146,6 +150,7 @@ inline inout instanceof int +IntNode interface internal IsoDateTimeOffsetConverter @@ -175,6 +180,7 @@ lazy left let list +LongNode Locale lock long @@ -189,6 +195,7 @@ native new newtonsoft nil +NullNode NO noexcept nonatomic @@ -207,7 +214,10 @@ null nullptr number object +ObjectNode ObjectMapper +ObjectReader +ObjectWriter of oneway open @@ -264,6 +274,7 @@ SerialName KSerializer PrimitiveKind SerialDescriptor +SerializationFeature SerializerProvider set short @@ -289,6 +300,7 @@ system template then this +TextNode thread_local throw throws