MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / insert_node

Method insert_node

packages/server/src/devtools.rs:1608–1641  ·  view source on GitHub ↗
(&mut self, node: &Value)

Source from the content-addressed store, hash-verified

1606 }
1607
1608 fn insert_node(&mut self, node: &Value) -> u64 {
1609 let node_id = self.next_node_id;
1610 self.next_node_id += 1;
1611 let children_values = node
1612 .get("children")
1613 .and_then(Value::as_array)
1614 .cloned()
1615 .unwrap_or_default();
1616 let inspector_id = node
1617 .get("inspectorId")
1618 .or_else(|| node.get("id"))
1619 .and_then(Value::as_str)
1620 .map(ToOwned::to_owned);
1621 let frame = rect_from_node(node);
1622 self.nodes.insert(
1623 node_id,
1624 DomNode {
1625 backend_node_id: node_id,
1626 children: Vec::new(),
1627 frame,
1628 inspector_id,
1629 node: node.clone(),
1630 node_id,
1631 },
1632 );
1633 let children = children_values
1634 .iter()
1635 .map(|child| self.insert_node(child))
1636 .collect::<Vec<_>>();
1637 if let Some(node) = self.nodes.get_mut(&node_id) {
1638 node.children = children;
1639 }
1640 node_id
1641 }
1642
1643 fn document_node(&self, depth: i64) -> Value {
1644 json!({

Callers 1

rebuildMethod · 0.80

Calls 4

rect_from_nodeFunction · 0.85
insertMethod · 0.80
getMethod · 0.65
cloneMethod · 0.65

Tested by

no test coverage detected