#pragma once #include "converters.h" namespace Quotient { namespace EventContent { template struct SingleKeyValue { T value; }; } // namespace EventContent template struct JsonConverter> { using content_type = EventContent::SingleKeyValue; static content_type load(const QJsonValue& jv) { return { fromJson(jv.toObject().value(JsonKey)) }; } static QJsonObject dump(const content_type& c) { return { { JsonKey, toJson(c.value) } }; } static inline const auto JsonKey = toSnakeCase(*KeyStr); }; } // namespace Quotient