@@ -24,7 +24,7 @@ fun <T> decode(strategy: DeserializationStrategy<T>, value: Any?): T {
24
24
return FirebaseDecoder (value).decode(strategy)
25
25
}
26
26
27
- expect fun FirebaseDecoder.structureDecoder (desc : SerialDescriptor , vararg typeParams : KSerializer <* >): CompositeDecoder
27
+ expect fun FirebaseDecoder.structureDecoder (descriptor : SerialDescriptor , vararg typeParams : KSerializer <* >): CompositeDecoder
28
28
29
29
class FirebaseDecoder (internal val value : Any? ) : Decoder {
30
30
@@ -34,7 +34,7 @@ class FirebaseDecoder(internal val value: Any?) : Decoder {
34
34
override val updateMode: UpdateMode = UpdateMode .BANNED
35
35
36
36
@Suppress(" UNCHECKED_CAST" )
37
- override fun beginStructure (desc : SerialDescriptor , vararg typeParams : KSerializer <* >) = structureDecoder(desc , * typeParams)
37
+ override fun beginStructure (descriptor : SerialDescriptor , vararg typeParams : KSerializer <* >) = structureDecoder(descriptor , * typeParams)
38
38
39
39
override fun decodeString () = decodeString(value)
40
40
@@ -54,7 +54,7 @@ class FirebaseDecoder(internal val value: Any?) : Decoder {
54
54
55
55
override fun decodeChar () = decodeChar(value)
56
56
57
- override fun decodeEnum (enumDescription : SerialDescriptor ) = decodeEnum(value, enumDescription )
57
+ override fun decodeEnum (enumDescriptor : SerialDescriptor ) = decodeEnum(value, enumDescriptor )
58
58
59
59
override fun decodeNotNullMark () = decodeNotNullMark(value)
60
60
@@ -67,68 +67,68 @@ class FirebaseDecoder(internal val value: Any?) : Decoder {
67
67
class FirebaseClassDecoder (
68
68
size : Int ,
69
69
private val containsKey : (name: String ) -> Boolean ,
70
- get : (desc : SerialDescriptor , index: Int ) -> Any?
70
+ get : (descriptor : SerialDescriptor , index: Int ) -> Any?
71
71
) : FirebaseCompositeDecoder(size, get) {
72
72
private var index: Int = 0
73
73
74
74
override fun decodeSequentially () = false
75
75
76
- override fun decodeElementIndex (desc : SerialDescriptor ): Int =
77
- (index until desc .elementsCount)
78
- .firstOrNull { ! desc .isElementOptional(it) || containsKey(desc .getElementName(it)) }
76
+ override fun decodeElementIndex (descriptor : SerialDescriptor ): Int =
77
+ (index until descriptor .elementsCount)
78
+ .firstOrNull { ! descriptor .isElementOptional(it) || containsKey(descriptor .getElementName(it)) }
79
79
?.also { index = it + 1 }
80
80
? : READ_DONE
81
81
}
82
82
83
83
open class FirebaseCompositeDecoder constructor(
84
84
private val size : Int ,
85
- private val get : (desc : SerialDescriptor , index: Int ) -> Any?
85
+ private val get : (descriptor : SerialDescriptor , index: Int ) -> Any?
86
86
): CompositeDecoder {
87
87
88
88
override val context = EmptyModule
89
89
override val updateMode = UpdateMode .OVERWRITE
90
90
91
91
override fun decodeSequentially () = true
92
92
93
- override fun decodeElementIndex (desc : SerialDescriptor ): Int = throw NotImplementedError ()
93
+ override fun decodeElementIndex (descriptor : SerialDescriptor ): Int = throw NotImplementedError ()
94
94
95
- override fun decodeCollectionSize (desc : SerialDescriptor ) = size
95
+ override fun decodeCollectionSize (descriptor : SerialDescriptor ) = size
96
96
97
- override fun <T > decodeSerializableElement (desc : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T >): T =
98
- deserializer.deserialize(FirebaseDecoder (get(desc , index)))
97
+ override fun <T > decodeSerializableElement (descriptor : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T >): T =
98
+ deserializer.deserialize(FirebaseDecoder (get(descriptor , index)))
99
99
100
- override fun <T : Any > decodeNullableSerializableElement (desc : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T ?>): T ? =
101
- if (decodeNotNullMark(get(desc , index))) decodeSerializableElement(desc , index, deserializer) else decodeNull(get(desc , index))
100
+ override fun <T : Any > decodeNullableSerializableElement (descriptor : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T ?>): T ? =
101
+ if (decodeNotNullMark(get(descriptor , index))) decodeSerializableElement(descriptor , index, deserializer) else decodeNull(get(descriptor , index))
102
102
103
103
// fun decodeNullableSerializableElement(index: Int): Any? = get(UnitDescriptor, index)?.let { value ->
104
104
// value.firebaseSerializer().let { decodeSerializableElement<Any>(it.descriptor, index, it) }
105
105
// }
106
106
107
- override fun <T > updateSerializableElement (desc : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T >, old : T ): T =
108
- deserializer.deserialize(FirebaseDecoder (get(desc , index)))
107
+ override fun <T > updateSerializableElement (descriptor : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T >, old : T ): T =
108
+ deserializer.deserialize(FirebaseDecoder (get(descriptor , index)))
109
109
110
- override fun <T : Any > updateNullableSerializableElement (desc : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T ?>, old : T ? ): T ? =
111
- if (decodeNotNullMark(get(desc , index))) decodeSerializableElement(desc , index, deserializer) else decodeNull(get(desc , index))
110
+ override fun <T : Any > updateNullableSerializableElement (descriptor : SerialDescriptor , index : Int , deserializer : DeserializationStrategy <T ?>, old : T ? ): T ? =
111
+ if (decodeNotNullMark(get(descriptor , index))) decodeSerializableElement(descriptor , index, deserializer) else decodeNull(get(descriptor , index))
112
112
113
- override fun decodeBooleanElement (desc : SerialDescriptor , index : Int ) = decodeBoolean(get(desc , index))
113
+ override fun decodeBooleanElement (descriptor : SerialDescriptor , index : Int ) = decodeBoolean(get(descriptor , index))
114
114
115
- override fun decodeByteElement (desc : SerialDescriptor , index : Int ) = decodeByte(get(desc , index))
115
+ override fun decodeByteElement (descriptor : SerialDescriptor , index : Int ) = decodeByte(get(descriptor , index))
116
116
117
- override fun decodeCharElement (desc : SerialDescriptor , index : Int ) = decodeChar(get(desc , index))
117
+ override fun decodeCharElement (descriptor : SerialDescriptor , index : Int ) = decodeChar(get(descriptor , index))
118
118
119
- override fun decodeDoubleElement (desc : SerialDescriptor , index : Int ) = decodeDouble(get(desc , index))
119
+ override fun decodeDoubleElement (descriptor : SerialDescriptor , index : Int ) = decodeDouble(get(descriptor , index))
120
120
121
- override fun decodeFloatElement (desc : SerialDescriptor , index : Int ) = decodeFloat(get(desc , index))
121
+ override fun decodeFloatElement (descriptor : SerialDescriptor , index : Int ) = decodeFloat(get(descriptor , index))
122
122
123
- override fun decodeIntElement (desc : SerialDescriptor , index : Int ) = decodeInt(get(desc , index))
123
+ override fun decodeIntElement (descriptor : SerialDescriptor , index : Int ) = decodeInt(get(descriptor , index))
124
124
125
- override fun decodeLongElement (desc : SerialDescriptor , index : Int ) = decodeLong(get(desc , index))
125
+ override fun decodeLongElement (descriptor : SerialDescriptor , index : Int ) = decodeLong(get(descriptor , index))
126
126
127
- override fun decodeShortElement (desc : SerialDescriptor , index : Int ) = decodeShort(get(desc , index))
127
+ override fun decodeShortElement (descriptor : SerialDescriptor , index : Int ) = decodeShort(get(descriptor , index))
128
128
129
- override fun decodeStringElement (desc : SerialDescriptor , index : Int ) = decodeString(get(desc , index))
129
+ override fun decodeStringElement (descriptor : SerialDescriptor , index : Int ) = decodeString(get(descriptor , index))
130
130
131
- override fun decodeUnitElement (desc : SerialDescriptor , index : Int ) = decodeUnit(get(desc , index))
131
+ override fun decodeUnitElement (descriptor : SerialDescriptor , index : Int ) = decodeUnit(get(descriptor , index))
132
132
133
133
override fun endStructure (descriptor : SerialDescriptor ) {
134
134
}
@@ -180,9 +180,9 @@ private fun decodeChar(value: Any?) = when(value) {
180
180
else -> throw SerializationException (" Expected $value to be char" )
181
181
}
182
182
183
- private fun decodeEnum (value : Any? , enumDescription : SerialDescriptor ) = when (value) {
183
+ private fun decodeEnum (value : Any? , enumDescriptor : SerialDescriptor ) = when (value) {
184
184
is Number -> value.toInt()
185
- is String -> enumDescription .getElementIndexOrThrow(value)
185
+ is String -> enumDescriptor .getElementIndexOrThrow(value)
186
186
else -> throw SerializationException (" Expected $value to be enum" )
187
187
}
188
188
0 commit comments