Skip to content

Rework the serializers using the DateTimeFormat API #415

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
May 30, 2025
109 changes: 109 additions & 0 deletions core/api/kotlinx-datetime.api
Original file line number Diff line number Diff line change
Expand Up @@ -859,6 +859,15 @@ public final class kotlinx/datetime/serializers/DatePeriodIso8601Serializer : ko
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/DatePeriod;)V
}

public final class kotlinx/datetime/serializers/DatePeriodSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/DatePeriodSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/DatePeriod;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/DatePeriod;)V
}

public final class kotlinx/datetime/serializers/DateTimePeriodComponentSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/DateTimePeriodComponentSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand All @@ -877,6 +886,15 @@ public final class kotlinx/datetime/serializers/DateTimePeriodIso8601Serializer
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/DateTimePeriod;)V
}

public final class kotlinx/datetime/serializers/DateTimePeriodSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/DateTimePeriodSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/DateTimePeriod;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/DateTimePeriod;)V
}

public final class kotlinx/datetime/serializers/DateTimeUnitSerializer : kotlinx/serialization/internal/AbstractPolymorphicSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/DateTimeUnitSerializer;
public fun findPolymorphicSerializerOrNull (Lkotlinx/serialization/encoding/CompositeDecoder;Ljava/lang/String;)Lkotlinx/serialization/DeserializationStrategy;
Expand Down Expand Up @@ -913,6 +931,52 @@ public final class kotlinx/datetime/serializers/FixedOffsetTimeZoneSerializer :
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/FixedOffsetTimeZone;)V
}

public abstract class kotlinx/datetime/serializers/FormattedInstantSerializer : kotlinx/serialization/KSerializer {
public fun <init> (Ljava/lang/String;Lkotlinx/datetime/format/DateTimeFormat;)V
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/Instant;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/Instant;)V
public fun toString ()Ljava/lang/String;
}

public abstract class kotlinx/datetime/serializers/FormattedLocalDateSerializer : kotlinx/serialization/KSerializer {
public fun <init> (Ljava/lang/String;Lkotlinx/datetime/format/DateTimeFormat;)V
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalDate;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDate;)V
}

public abstract class kotlinx/datetime/serializers/FormattedLocalDateTimeSerializer : kotlinx/serialization/KSerializer {
public fun <init> (Ljava/lang/String;Lkotlinx/datetime/format/DateTimeFormat;)V
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalDateTime;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDateTime;)V
}

public abstract class kotlinx/datetime/serializers/FormattedLocalTimeSerializer : kotlinx/serialization/KSerializer {
public fun <init> (Ljava/lang/String;Lkotlinx/datetime/format/DateTimeFormat;)V
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalTime;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalTime;)V
}

public abstract class kotlinx/datetime/serializers/FormattedUtcOffsetSerializer : kotlinx/serialization/KSerializer {
public fun <init> (Ljava/lang/String;Lkotlinx/datetime/format/DateTimeFormat;)V
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/UtcOffset;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/UtcOffset;)V
}

public final class kotlinx/datetime/serializers/InstantComponentSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/InstantComponentSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand All @@ -931,6 +995,15 @@ public final class kotlinx/datetime/serializers/InstantIso8601Serializer : kotli
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/Instant;)V
}

public final class kotlinx/datetime/serializers/InstantSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/InstantSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/Instant;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/Instant;)V
}

public final class kotlinx/datetime/serializers/LocalDateComponentSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalDateComponentSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand All @@ -949,6 +1022,15 @@ public final class kotlinx/datetime/serializers/LocalDateIso8601Serializer : kot
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDate;)V
}

public final class kotlinx/datetime/serializers/LocalDateSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalDateSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalDate;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDate;)V
}

public final class kotlinx/datetime/serializers/LocalDateTimeComponentSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalDateTimeComponentSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand All @@ -967,6 +1049,15 @@ public final class kotlinx/datetime/serializers/LocalDateTimeIso8601Serializer :
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDateTime;)V
}

public final class kotlinx/datetime/serializers/LocalDateTimeSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalDateTimeSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalDateTime;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalDateTime;)V
}

public final class kotlinx/datetime/serializers/LocalTimeComponentSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalTimeComponentSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand All @@ -985,6 +1076,15 @@ public final class kotlinx/datetime/serializers/LocalTimeIso8601Serializer : kot
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalTime;)V
}

public final class kotlinx/datetime/serializers/LocalTimeSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/LocalTimeSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/LocalTime;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/LocalTime;)V
}

public final class kotlinx/datetime/serializers/MonthBasedDateTimeUnitSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/MonthBasedDateTimeUnitSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand Down Expand Up @@ -1021,6 +1121,15 @@ public final class kotlinx/datetime/serializers/TimeZoneSerializer : kotlinx/ser
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/TimeZone;)V
}

public final class kotlinx/datetime/serializers/UtcOffsetIso8601Serializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/UtcOffsetIso8601Serializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlinx/datetime/UtcOffset;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlinx/datetime/UtcOffset;)V
}

public final class kotlinx/datetime/serializers/UtcOffsetSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Lkotlinx/datetime/serializers/UtcOffsetSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
Expand Down
Loading