From 75034a2c5ae9a2a447757d0d7a0e2a2301e5c473 Mon Sep 17 00:00:00 2001 From: Riyyi Date: Fri, 22 Jul 2022 02:13:12 +0200 Subject: [PATCH] Util: Implement Json::Value type customization for print formatting --- src/util/json/value.cpp | 6 ++++++ src/util/json/value.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/util/json/value.cpp b/src/util/json/value.cpp index d831329..0cd56b8 100644 --- a/src/util/json/value.cpp +++ b/src/util/json/value.cpp @@ -12,6 +12,7 @@ #include #include // move, swap +#include "util/format/format.h" #include "util/json/array.h" #include "util/json/job.h" #include "util/json/object.h" @@ -331,4 +332,9 @@ std::ostream& operator<<(std::ostream& output, const Value& value) return output << value.dump(4); } +void format(FormatBuilder& builder, const Value& value) +{ + builder.putString(value.dump(4)); +} + } // namespace Json diff --git a/src/util/json/value.h b/src/util/json/value.h index 784ef54..cf75c2f 100644 --- a/src/util/json/value.h +++ b/src/util/json/value.h @@ -14,6 +14,7 @@ #include #include // forward +#include "util/format/format.h" #include "util/json/fromjson.h" #include "util/json/tojson.h" @@ -134,6 +135,8 @@ private: std::istream& operator>>(std::istream& input, Value& value); std::ostream& operator<<(std::ostream& output, const Value& value); +void format(FormatBuilder& builder, const Value& value); + } // namespace Json /**