#pragma once
#include <nlohmann/json.hpp>
#include <fstream>
#include <codecvt>

using namespace nlohmann;

struct Config {
  json $config;
  std::string $src_path = "./config.json";

  Config(const std::string src_path);

  Config(json config, std::string src_path)
    : $config(config), $src_path(src_path) {}

  json &operator[](const std::string &key);

  std::wstring wstring(const std::string main_key, const std::string sub_key);
};
