refactor: share form node ID serialization between MCP and CDP

This commit is contained in:
Adrià Arrufat
2026-03-23 10:18:24 +09:00
parent ad83c6e70b
commit a6d2ec7610
3 changed files with 23 additions and 105 deletions

View File

@@ -173,18 +173,17 @@ fn detectForms(cmd: anytype) !void {
);
// Register form and field nodes for backendNodeId references
var form_ids: std.ArrayList(Node.Id) = try .initCapacity(cmd.arena, forms_data.len);
for (forms_data) |form| {
for (forms_data) |*form| {
const registered = try bc.node_registry.register(form.node);
form_ids.appendAssumeCapacity(registered.id);
for (form.fields) |field| {
_ = try bc.node_registry.register(field.node);
form.backendNodeId = registered.id;
for (@constCast(form.fields)) |*field| {
const field_registered = try bc.node_registry.register(field.node);
field.backendNodeId = field_registered.id;
}
}
return cmd.sendResult(.{
.forms = forms_data,
.formNodeIds = form_ids.items,
}, .{});
}