MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / jsonMerge

Function jsonMerge

source/core/StarJson.cpp:1038–1049  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1036}
1037
1038Json jsonMerge(Json const& base, Json const& merger) {
1039 if (base.type() == Json::Type::Object && merger.type() == Json::Type::Object) {
1040 JsonObject merged = base.toObject();
1041 for (auto const& p : merger.toObject()) {
1042 auto res = merged.insert(p);
1043 if (!res.second)
1044 res.first->second = jsonMerge(res.first->second, p.second);
1045 }
1046 return merged;
1047 }
1048 return merger.type() == Json::Type::Null ? base : merger;
1049}
1050
1051Json jsonMergeNulling(Json const& base, Json const& merger) {
1052 if (base.type() == Json::Type::Object && merger.type() == Json::Type::Object) {

Callers 15

applyMergeOperationFunction · 0.70
loadConfigMethod · 0.50
createRadioMessageMethod · 0.50
VehicleMethod · 0.50
createStagehandMethod · 0.50
inheritMethod · 0.50
generateNpcVariantMethod · 0.50
readNpcVariantMethod · 0.50
parametersMethod · 0.50
produceSystemMethod · 0.50
setupMethod · 0.50

Calls 3

toObjectMethod · 0.80
typeMethod · 0.45
insertMethod · 0.45

Tested by 2

humanoidConfigMethod · 0.40
TESTFunction · 0.40