in xar/XarHelpers.cpp [130:150]
std::string serializeHeaderAsJSON(const XarHeader& header) noexcept {
std::string ret = "{";
for (const auto& [name, value] :
std::initializer_list<std::pair<std::string, std::string>>{
{kOffsetName, std::to_string(header.offset)},
{kUuidName, "\"" + header.uuid + "\""},
{kVersion, "\"" + header.version + "\""},
{kXarexecTarget, "\"" + header.xarexecTarget + "\""},
{kXarexecTrampolineNames,
"[\"" + join("\",\"", header.xarexecTrampolineNames) + "\"]"}}) {
if (ret.size() > 1) {
ret += ",";
}
ret += "\"";
ret += name;
ret += "\":";
ret += value;
}
ret += "}";
return ret;
}