// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include #include #include #include #include namespace utils { inline std::optional JSONLoader(const std::filesystem::path &path) { auto file = std::ifstream{path}; if (file.bad()) { return {}; } std::stringstream buf{}; buf << file.rdbuf(); std::string err; json11::Json js = json11::Json::parse(buf.str(), err); if (err.length() != 0) { LOG_ERROR("Failed to parse input data, err: %s", err.c_str()); return {}; } else { return js; } } } // namespace utils