Skip to content

Commit 39e7c92

Browse files
authored
dataconnect: Add JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer (#6519)
1 parent 9299c6d commit 39e7c92

File tree

13 files changed

+2157
-8
lines changed

13 files changed

+2157
-8
lines changed

firebase-dataconnect/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
paired with code generated by version 1.7.0 (or later) of the Data Connect
3131
emulator.
3232
([#6513](https://github.com/firebase/firebase-android-sdk/pull/6513))
33+
* [feature] JavaTimeLocalDateSerializer and KotlinxDatetimeLocalDateSerializer
34+
added, to enable using the standard "local date" classes `java.time.LocalDate`
35+
and/or `kotlinx.datetime.LocalDate` instead of the bespoke
36+
`com.google.firebase.dataconnect.LocalDate` class for `Date` GraphQL fields
37+
and variables.
38+
([#6519](https://github.com/firebase/firebase-android-sdk/pull/6519))
3339

3440
# 16.0.0-beta02
3541
* [changed] Updated protobuf dependency to `3.25.5` to fix

firebase-dataconnect/api.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,22 @@ package com.google.firebase.dataconnect.serializers {
310310
field @NonNull public static final com.google.firebase.dataconnect.serializers.AnyValueSerializer INSTANCE;
311311
}
312312

313+
public final class JavaTimeLocalDateSerializer implements kotlinx.serialization.KSerializer<java.time.LocalDate> {
314+
method @NonNull public java.time.LocalDate deserialize(@NonNull kotlinx.serialization.encoding.Decoder decoder);
315+
method @NonNull public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor();
316+
method public void serialize(@NonNull kotlinx.serialization.encoding.Encoder encoder, @NonNull java.time.LocalDate value);
317+
property @NonNull public kotlinx.serialization.descriptors.SerialDescriptor descriptor;
318+
field @NonNull public static final com.google.firebase.dataconnect.serializers.JavaTimeLocalDateSerializer INSTANCE;
319+
}
320+
321+
public final class KotlinxDatetimeLocalDateSerializer implements kotlinx.serialization.KSerializer<kotlinx.datetime.LocalDate> {
322+
method @NonNull public kotlinx.datetime.LocalDate deserialize(@NonNull kotlinx.serialization.encoding.Decoder decoder);
323+
method @NonNull public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor();
324+
method public void serialize(@NonNull kotlinx.serialization.encoding.Encoder encoder, @NonNull kotlinx.datetime.LocalDate value);
325+
property @NonNull public kotlinx.serialization.descriptors.SerialDescriptor descriptor;
326+
field @NonNull public static final com.google.firebase.dataconnect.serializers.KotlinxDatetimeLocalDateSerializer INSTANCE;
327+
}
328+
313329
public final class LocalDateSerializer implements kotlinx.serialization.KSerializer<com.google.firebase.dataconnect.LocalDate> {
314330
method @NonNull public com.google.firebase.dataconnect.LocalDate deserialize(@NonNull kotlinx.serialization.encoding.Decoder decoder);
315331
method @NonNull public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor();

0 commit comments

Comments
 (0)