ObservableMutableMetaSerializer
This commit is contained in:
parent
e5902c0bfe
commit
de9ca6e009
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Coroutine exception logging in context
|
- Coroutine exception logging in context
|
||||||
|
- ObservableMutableMetaSerializer
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Simplify inheritance logic in `MutableTypedMeta`
|
- Simplify inheritance logic in `MutableTypedMeta`
|
||||||
|
@ -45,4 +45,21 @@ public object MutableMetaSerializer : KSerializer<MutableMeta> {
|
|||||||
override fun serialize(encoder: Encoder, value: MutableMeta) {
|
override fun serialize(encoder: Encoder, value: MutableMeta) {
|
||||||
encoder.encodeSerializableValue(MetaSerializer, value)
|
encoder.encodeSerializableValue(MetaSerializer, value)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A serializer for [ObservableMutableMeta]
|
||||||
|
*/
|
||||||
|
public object ObservableMutableMetaSerializer : KSerializer<ObservableMutableMeta> {
|
||||||
|
|
||||||
|
override val descriptor: SerialDescriptor = MetaSerializer.descriptor
|
||||||
|
|
||||||
|
override fun deserialize(decoder: Decoder): ObservableMutableMeta {
|
||||||
|
val meta = decoder.decodeSerializableValue(MetaSerializer)
|
||||||
|
return ((meta as? MutableMeta) ?: meta.toMutableMeta()).asObservable()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun serialize(encoder: Encoder, value: ObservableMutableMeta) {
|
||||||
|
encoder.encodeSerializableValue(MetaSerializer, value)
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user