1#pragma once
2#include <Core/Types.h>
3
4#include <sys/stat.h>
5#include <type_traits>
6#include <vector>
7#include <map>
8
9namespace DB
10{
11
12/// NOTE The code is totally wrong.
13class JSONString
14{
15private:
16 std::map<std::string, std::string> content;
17 size_t padding;
18
19public:
20 explicit JSONString(size_t padding_ = 1) : padding(padding_) {}
21
22 void set(const std::string & key, std::string value, bool wrap = true);
23
24 template <typename T>
25 std::enable_if_t<is_arithmetic_v<T>> set(const std::string key, T value)
26 {
27 set(key, std::to_string(value), /*wrap= */ false);
28 }
29
30 void set(const std::string & key, const std::vector<JSONString> & run_infos);
31
32 std::string asString() const
33 {
34 return asString(padding);
35 }
36
37 std::string asString(size_t cur_padding) const;
38};
39
40}
41