Skip to content

Commit c5e313c

Browse files
committed
Add helper methods.
1 parent e8af8ef commit c5e313c

File tree

1 file changed

+14
-0
lines changed
  • firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore

1 file changed

+14
-0
lines changed

firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore/encoders.kt

+14
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,17 @@ internal fun <T> encode(strategy: SerializationStrategy<T>, value: T, shouldEnco
2020
shouldEncodeElementDefault,
2121
FieldValue.serverTimestamp()
2222
)
23+
24+
@PublishedApi
25+
internal fun <T> encodeAsMap(
26+
strategy: SerializationStrategy<T>,
27+
data: T,
28+
encodeDefaults: Boolean = false
29+
): Map<String, Any?> = encode(strategy, data, encodeDefaults) as Map<String, Any?>
30+
31+
@PublishedApi
32+
internal fun encodeAsMap(
33+
encodeDefaults: Boolean = false,
34+
vararg fieldsAndValues: Pair<String, Any?>
35+
): Map<String, Any?>? = fieldsAndValues.takeUnless { fieldsAndValues.isEmpty() }
36+
?.map { (field, value) -> field to encode(value, encodeDefaults) }?.toMap()

0 commit comments

Comments
 (0)