@@ -19,7 +19,7 @@ import kotlinx.serialization.encoding.*
1919public object DateTimePeriodComponentSerializer: KSerializer<DateTimePeriod> {
2020
2121 override val descriptor: SerialDescriptor =
22- buildClassSerialDescriptor(" kotlinx.datetime.DateTimePeriod" ) {
22+ buildClassSerialDescriptor(" kotlinx.datetime.DateTimePeriod components " ) {
2323 element<Int >(" years" , isOptional = true )
2424 element<Int >(" months" , isOptional = true )
2525 element<Int >(" days" , isOptional = true )
@@ -81,7 +81,7 @@ public object DateTimePeriodComponentSerializer: KSerializer<DateTimePeriod> {
8181public object DateTimePeriodIso8601Serializer: KSerializer<DateTimePeriod> {
8282
8383 override val descriptor: SerialDescriptor =
84- PrimitiveSerialDescriptor (" kotlinx.datetime.DateTimePeriod" , PrimitiveKind .STRING )
84+ PrimitiveSerialDescriptor (" kotlinx.datetime.DateTimePeriod ISO " , PrimitiveKind .STRING )
8585
8686 override fun deserialize (decoder : Decoder ): DateTimePeriod =
8787 DateTimePeriod .parse(decoder.decodeString())
@@ -110,7 +110,7 @@ public object DatePeriodComponentSerializer: KSerializer<DatePeriod> {
110110 private fun unexpectedNonzero (fieldName : String , value : Int ) = unexpectedNonzero(fieldName, value.toLong())
111111
112112 override val descriptor: SerialDescriptor =
113- buildClassSerialDescriptor(" kotlinx.datetime.DatePeriod" ) {
113+ buildClassSerialDescriptor(" kotlinx.datetime.DatePeriod components " ) {
114114 element<Int >(" years" , isOptional = true )
115115 element<Int >(" months" , isOptional = true )
116116 element<Int >(" days" , isOptional = true )
@@ -166,7 +166,7 @@ public object DatePeriodComponentSerializer: KSerializer<DatePeriod> {
166166public object DatePeriodIso8601Serializer: KSerializer<DatePeriod> {
167167
168168 override val descriptor: SerialDescriptor =
169- PrimitiveSerialDescriptor (" kotlinx.datetime.DatePeriod" , PrimitiveKind .STRING )
169+ PrimitiveSerialDescriptor (" kotlinx.datetime.DatePeriod ISO " , PrimitiveKind .STRING )
170170
171171 override fun deserialize (decoder : Decoder ): DatePeriod =
172172 when (val period = DateTimePeriod .parse(decoder.decodeString())) {
@@ -179,3 +179,15 @@ public object DatePeriodIso8601Serializer: KSerializer<DatePeriod> {
179179 }
180180
181181}
182+
183+ @PublishedApi
184+ internal object DateTimePeriodSerializer: KSerializer<DateTimePeriod> by DateTimePeriodIso8601Serializer {
185+ override val descriptor =
186+ PrimitiveSerialDescriptor (" kotlinx.datetime.DateTimePeriod" , PrimitiveKind .STRING )
187+ }
188+
189+ @PublishedApi
190+ internal object DatePeriodSerializer: KSerializer<DatePeriod> by DatePeriodIso8601Serializer {
191+ override val descriptor =
192+ PrimitiveSerialDescriptor (" kotlinx.datetime.DatePeriod" , PrimitiveKind .STRING )
193+ }
0 commit comments