in Confidence/src/main/java/com/spotify/confidence/serializers/Serializers.kt [137:151]
override fun deserialize(decoder: Decoder): ConfidenceValue.Struct {
val valueMap = mutableMapOf<String, ConfidenceValue>()
val jsonDecoder = decoder as JsonDecoder
val jsonElement = jsonDecoder.decodeJsonElement()
for ((key, value) in jsonElement.jsonObject) {
schemaStruct.schema[key]?.let {
valueMap[key] = value.convertToValue(key, it)
} ?: throw ParseError(
"Couldn't find value \"$key\" in schema",
listOf(key)
)
}
return ConfidenceValue.Struct(valueMap)
}