Skip to content

Commit 4f73348

Browse files
committed
dont use elementsCount as it returns 1
1 parent cd48a13 commit 4f73348

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

firebase-common/src/androidMain/kotlin/dev/teamhub/firebase/encoders.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class FirebaseEncoder : Encoder {
1818

1919
@Suppress("UNCHECKED_CAST")
2020
override fun beginStructure(desc: SerialDescriptor, vararg typeParams: KSerializer<*>) = when(desc.kind as StructureKind) {
21-
StructureKind.LIST -> MutableList<Any?>(desc.elementsCount) { null }
21+
StructureKind.LIST -> mutableListOf<Any?>()
2222
.also { value = it }
23-
.let { FirebaseCompositeEncoder { _, index, value -> it[index] = value } }
23+
.let { FirebaseCompositeEncoder { _, index, value -> it.add(index, value) } }
2424
StructureKind.MAP, StructureKind.CLASS -> mutableMapOf<Any?, Any?>()
2525
.also { value = it }
2626
.let { FirebaseCompositeEncoder { _, index, value -> it[desc.getElementName(index)] = value } }

firebase-common/src/androidMain/kotlin/dev/teamhub/firebase/serializers.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class FirebaseMapSerializer : KSerializer<Map<String, Any?>> {
1717
lateinit var keys: List<String>
1818
lateinit var map: Map<String, Any?>
1919

20-
override val descriptor= object : SerialDescriptor {
20+
override val descriptor = object : SerialDescriptor {
2121
override val kind = StructureKind.MAP
2222
override val name = "kotlin.Map<String, Any>"
2323
override fun getElementIndex(name: String) = keys.indexOf(name)
@@ -75,9 +75,9 @@ class FirebaseListSerializer : KSerializer<List<Any?>> {
7575

7676
override fun deserialize(decoder: Decoder): List<Any?> {
7777
val collectionDecoder = decoder.beginStructure(descriptor) as FirebaseCompositeDecoder
78-
val list = MutableList<Any?>(collectionDecoder.decodeCollectionSize(descriptor)) { null }
78+
val list = mutableListOf<Any?>()
7979
list.forEachIndexed { index, _ ->
80-
list[index] = collectionDecoder.decodeNullableSerializableElement(index)
80+
list.add(index, collectionDecoder.decodeNullableSerializableElement(index))
8181
}
8282
return list
8383
}

0 commit comments

Comments
 (0)