@@ -19,7 +19,7 @@ import kotlinx.serialization.encoding.*
19
19
public object DateTimePeriodComponentSerializer: KSerializer<DateTimePeriod> {
20
20
21
21
override val descriptor: SerialDescriptor =
22
- buildClassSerialDescriptor(" kotlinx.datetime.DateTimePeriod" ) {
22
+ buildClassSerialDescriptor(" kotlinx.datetime.DateTimePeriod components " ) {
23
23
element<Int >(" years" , isOptional = true )
24
24
element<Int >(" months" , isOptional = true )
25
25
element<Int >(" days" , isOptional = true )
@@ -81,7 +81,7 @@ public object DateTimePeriodComponentSerializer: KSerializer<DateTimePeriod> {
81
81
public object DateTimePeriodIso8601Serializer: KSerializer<DateTimePeriod> {
82
82
83
83
override val descriptor: SerialDescriptor =
84
- PrimitiveSerialDescriptor (" kotlinx.datetime.DateTimePeriod" , PrimitiveKind .STRING )
84
+ PrimitiveSerialDescriptor (" kotlinx.datetime.DateTimePeriod ISO " , PrimitiveKind .STRING )
85
85
86
86
override fun deserialize (decoder : Decoder ): DateTimePeriod =
87
87
DateTimePeriod .parse(decoder.decodeString())
@@ -110,7 +110,7 @@ public object DatePeriodComponentSerializer: KSerializer<DatePeriod> {
110
110
private fun unexpectedNonzero (fieldName : String , value : Int ) = unexpectedNonzero(fieldName, value.toLong())
111
111
112
112
override val descriptor: SerialDescriptor =
113
- buildClassSerialDescriptor(" kotlinx.datetime.DatePeriod" ) {
113
+ buildClassSerialDescriptor(" kotlinx.datetime.DatePeriod components " ) {
114
114
element<Int >(" years" , isOptional = true )
115
115
element<Int >(" months" , isOptional = true )
116
116
element<Int >(" days" , isOptional = true )
@@ -166,7 +166,7 @@ public object DatePeriodComponentSerializer: KSerializer<DatePeriod> {
166
166
public object DatePeriodIso8601Serializer: KSerializer<DatePeriod> {
167
167
168
168
override val descriptor: SerialDescriptor =
169
- PrimitiveSerialDescriptor (" kotlinx.datetime.DatePeriod" , PrimitiveKind .STRING )
169
+ PrimitiveSerialDescriptor (" kotlinx.datetime.DatePeriod ISO " , PrimitiveKind .STRING )
170
170
171
171
override fun deserialize (decoder : Decoder ): DatePeriod =
172
172
when (val period = DateTimePeriod .parse(decoder.decodeString())) {
@@ -179,3 +179,15 @@ public object DatePeriodIso8601Serializer: KSerializer<DatePeriod> {
179
179
}
180
180
181
181
}
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