override fun deserialize()

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)
    }