@@ -55,6 +55,9 @@ import kotlinx.parcelize.Parcelize
5555import kotlinx.serialization.*
5656import kotlinx.serialization.descriptors.*
5757import kotlinx.serialization.encoding.*
58+ { {#discriminator} }
59+ import kotlinx.serialization.json.JsonClassDiscriminator
60+ { {/discriminator} }
5861{ {/multiplatform} }
5962{ {#serializableModel} }
6063import java.io.Serializable
@@ -74,7 +77,7 @@ import {{packageName}}.infrastructure.ITransformForStorage
7477{ {#parcelizeModels} }
7578@Parcelize
7679{ {/parcelizeModels} }
77- { {#multiplatform} }{ {^discriminator } } @Serializable{ {/discriminator } } { {/multiplatform} }{ {#kotlinx_serialization} }{ {#serializableModel} }@KSerializable{ {/serializableModel} }{ {^serializableModel} }@Serializable{ {/serializableModel} }{ {/kotlinx_serialization} }{ {#moshi} }{ {#moshiCodeGen} }@JsonClass(generateAdapter = true){ {/moshiCodeGen} }{ {/moshi} }{ {#jackson} }{ {#discriminator} }{ {> typeInfoAnnotation} }{ {/discriminator} }{ {/jackson} }
80+ { {#multiplatform} }@Serializable{ {/multiplatform} }{ {#kotlinx_serialization} }{ {#serializableModel} }@KSerializable{ {/serializableModel} }{ {^serializableModel} }@Serializable{ {/serializableModel} }{ {/kotlinx_serialization} }{ {#moshi} }{ {#moshiCodeGen} }@JsonClass(generateAdapter = true){ {/moshiCodeGen} }{ {/moshi} }{ {#jackson} }{ {#discriminator} }{ {> typeInfoAnnotation} }{ {/discriminator} }{ {/jackson} }
7881{ {#isDeprecated} }
7982@Deprecated(message = "This schema is deprecated.")
8083{ {/isDeprecated} }
@@ -91,13 +94,21 @@ import {{packageName}}.infrastructure.ITransformForStorage
9194@SerialName(value = { {#lambda.doublequote} }{ {{additionalProperties.discriminatorValue} }}{ {/lambda.doublequote} })
9295{ {/additionalProperties.discriminatorValue} }
9396{ {/kotlinx_serialization} }
94- { {#nonPublicApi} }internal { {/nonPublicApi} }{ {^nonPublicApi} }{ {#explicitApi} }public { {/explicitApi} }{ {/nonPublicApi} }{ {#discriminator} }{ {#kotlinx_serialization} }sealed class{ {/kotlinx_serialization} }{ {^kotlinx_serialization} }interface{ {/kotlinx_serialization} }{ {/discriminator} }{ {^discriminator} }{ {#hasVars} }data { {/hasVars} }class{ {/discriminator} } { {classname} }{ {^discriminator} } (
97+ { {#multiplatform} }{ {#discriminator} }
98+ @OptIn(ExperimentalSerializationApi::class)
99+ @JsonClassDiscriminator(discriminator = "{ {{discriminator.propertyName} }}")
100+ { {/discriminator} }
101+ { {#additionalProperties.discriminatorValue} }
102+ @SerialName(value = { {#lambda.doublequote} }{ {{additionalProperties.discriminatorValue} }}{ {/lambda.doublequote} })
103+ { {/additionalProperties.discriminatorValue} }
104+ { {/multiplatform} }
105+ { {#nonPublicApi} }internal { {/nonPublicApi} }{ {^nonPublicApi} }{ {#explicitApi} }public { {/explicitApi} }{ {/nonPublicApi} }{ {#discriminator} }{ {#kotlinx_serialization} }sealed class{ {/kotlinx_serialization} }{ {#multiplatform} }sealed class{ {/multiplatform} }{ {^multiplatform} }{ {^kotlinx_serialization} }interface{ {/kotlinx_serialization} }{ {/multiplatform} }{ {/discriminator} }{ {^discriminator} }{ {#hasVars} }data { {/hasVars} }class{ {/discriminator} } { {classname} }{ {^discriminator} } (
95106
96107{ {#allVars} }
97108{ {#required} }{ {> data_class_req_var} }{ {/required} }{ {^required} }{ {> data_class_opt_var} }{ {/required} }{ {^-last} },{ {/-last} }
98109
99110{ {/allVars} }
100- ){{/discriminator}}{{#parent}}{{^serializableModel}}{{^parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#kotlinx_serialization}}(){{/kotlinx_serialization}}{{#isArray}}(){{/isArray}}{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{#serializableModel}}{{^parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Serializable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{^serializableModel}}{{#parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{#serializableModel}}{{#parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Serializable, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{#serializableModel}}{{^parcelizeModels}} : Serializable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{^serializableModel}}{{#parcelizeModels}} : Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{#serializableModel}}{{#parcelizeModels}} : Serializable, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#generateRoomModels}}{{#parent}}, {{/parent}}{{^discriminator}}{{^parent}}:{{/parent}} ITransformForStorage<{{classname}}RoomModel>{{/discriminator}}{{/generateRoomModels}}{{#vendorExtensions.x-has-data-class-body}} {
111+ ){{/discriminator}}{{#parent}}{{^serializableModel}}{{^parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#kotlinx_serialization}}(){{/kotlinx_serialization}}{{#multiplatform}}(){{/multiplatform}}{{#isArray}}(){{/isArray}}{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{#serializableModel}}{{^parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Serializable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{^serializableModel}}{{#parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#parent}}{{#serializableModel}}{{#parcelizeModels}} : {{{parent}}}{{#isMap}}(){{/isMap}}{{#isArray}}(){{/isArray}}, Serializable, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{#serializableModel}}{{^parcelizeModels}} : Serializable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{^serializableModel}}{{#parcelizeModels}} : Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{^parent}}{{#serializableModel}}{{#parcelizeModels}} : Serializable, Parcelable{{/parcelizeModels}}{{/serializableModel}}{{/parent}}{{#generateRoomModels}}{{#parent}}, {{/parent}}{{^discriminator}}{{^parent}}:{{/parent}} ITransformForStorage<{{classname}}RoomModel>{{/discriminator}}{{/generateRoomModels}}{{#vendorExtensions.x-has-data-class-body}} {
101112{ {/vendorExtensions.x-has-data-class-body} }
102113{ {#generateRoomModels} }
103114 companion object { }
0 commit comments