15namespace switchboard {
27 Config(
const std::map<std::string, std::any>& config = {});
33 Config(
const std::string& jsonString);
41 std::map<std::string, std::any>
getValue()
const;
50 [[nodiscard]]
bool hasKey(
const std::string& key)
const;
59 [[nodiscard]] std::any
getAny(
const std::string& key)
const;
70 [[nodiscard]] T
get(
const std::string& key)
const;
78 void set(
const std::string& key,
const std::any& value);
101 template <
typename T>
102 static T
get(
const std::map<std::string, std::any>& config,
const std::string& key, std::optional<T> defaultValue = std::nullopt);
113 static std::optional<std::string>
findString(
const std::map<std::string, std::any>& config,
const std::string& preferredKey);
122 static std::map<std::string, std::any>
jsonToMap(
const std::string& jsonString);
131 static std::string
mapToJson(
const std::map<std::string, std::any>& config);
134 std::map<std::string, std::any> config;
std::any getAny(const std::string &key) const
Config(const std::map< std::string, std::any > &config={})
static std::optional< std::string > findString(const std::map< std::string, std::any > &config, const std::string &preferredKey)
Finds a string in the configuration map.
void set(const std::string &key, const std::any &value)
Config(const std::string &jsonString)
static std::string mapToJson(const std::map< std::string, std::any > &config)
std::map< std::string, std::any > getValue() const
static T get(const std::map< std::string, std::any > &config, const std::string &key, std::optional< T > defaultValue=std::nullopt)
static std::map< std::string, std::any > jsonToMap(const std::string &jsonString)
T get(const std::string &key) const
static T convert(const std::any &value)
bool hasKey(const std::string &key) const