Serialize an ElementNode — either as a reference (if it has statementId) or inline.
( node: ElementNode, paramMap: ParamMap, collector: StatementCollector, )
| 157 | |
| 158 | /** Serialize an ElementNode — either as a reference (if it has statementId) or inline. */ |
| 159 | function 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 |
no test coverage detected