MCPcopy Create free account
hub / github.com/AGenUI/AGenUI / appendDataModel

Method appendDataModel

core/src/surface/agenui_surface.cpp:256–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

254}
255
256void Surface::appendDataModel(const nlohmann::json& dataModelData) {
257 if (_dataModel == nullptr) {
258 return;
259 }
260 AGENUI_PERFORMANCE_LOG("surface_appendDataModel_begin", "%s", _surfaceId.c_str());
261 BatchScope batchScope(_virtualDom->batchGuard());
262
263 std::string path = dataModelData.contains("path") ? dataModelData["path"].get<std::string>() : "/";
264
265 if (!dataModelData.contains("value")) {
266 return;
267 }
268
269 const auto& value = dataModelData["value"];
270 std::string valueStr;
271 if (value.is_string()) {
272 valueStr = value.get<std::string>();
273 } else {
274 valueStr = value.dump();
275 }
276
277 _dataModel->appendData(path, valueStr);
278
279 AGENUI_PERFORMANCE_LOG("surface_appendDataModel_end", "%s", _surfaceId.c_str());
280}
281
282void Surface::onNodeUpdate(const std::string& componentId, const std::string& nodeJson) {
283 if (!_surfaceManager) return;

Callers 1

processNormalEventMethod · 0.45

Calls 5

c_strMethod · 0.80
containsMethod · 0.80
dumpMethod · 0.80
batchGuardMethod · 0.45
appendDataMethod · 0.45

Tested by

no test coverage detected