MCPcopy
hub / github.com/thesysdev/openui / serializeElementValue

Function serializeElementValue

packages/lang-core/src/parser/serialize.ts:159–176  ·  view source on GitHub ↗

Serialize an ElementNode — either as a reference (if it has statementId) or inline.

(
  node: ElementNode,
  paramMap: ParamMap,
  collector: StatementCollector,
)

Source from the content-addressed store, hash-verified

157
158/** Serialize an ElementNode — either as a reference (if it has statementId) or inline. */
159function serializeElementValue(
160 node: ElementNode,
161 paramMap: ParamMap,
162 collector: StatementCollector,
163): string {
164 if (node.statementId) {
165 // Register as separate statement if not already registered
166 if (!collector.has(node.statementId)) {
167 // Serialize the expression first (depth-first → children registered before parent)
168 const expr = serializeElementExpr(node, paramMap, collector);
169 collector.register(node.statementId, `${node.statementId} = ${expr}`);
170 }
171 // Emit bare reference
172 return node.statementId;
173 }
174 // Inline (no statementId)
175 return serializeElementExpr(node, paramMap, collector);
176}
177
178// ─── ElementNode → expression string ─────────────────────────────────────────
179

Callers 1

serializeValueFunction · 0.85

Calls 3

serializeElementExprFunction · 0.85
hasMethod · 0.80
registerMethod · 0.45

Tested by

no test coverage detected