@llui/vite-plugin 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/collect-deps.js.map +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/msg-schema.js.map +1 -1
- package/dist/state-schema.js.map +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +139 -3
- package/dist/transform.js.map +1 -1
- package/package.json +9 -9
package/dist/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["import ts from 'typescript'\nimport { collectDeps } from './collect-deps.js'\nimport { extractMsgSchema, extractEffectSchema } from './msg-schema.js'\nimport { extractStateSchema, type StateType } from './state-schema.js'\n\nfunction createMaskLiteral(f: ts.NodeFactory, mask: number): ts.Expression {\n if (mask >= 0) return f.createNumericLiteral(mask)\n // -1 (0xFFFFFFFF | 0) — emit as bitwise OR: 0xFFFFFFFF | 0\n return f.createBinaryExpression(\n f.createNumericLiteral(0xffffffff),\n ts.SyntaxKind.BarToken,\n f.createNumericLiteral(0),\n )\n}\n\n// HTML element helper names that the compiler can transform\nconst ELEMENT_HELPERS = new Set([\n 'a',\n 'abbr',\n 'article',\n 'aside',\n 'b',\n 'blockquote',\n 'br',\n 'button',\n 'canvas',\n 'code',\n 'dd',\n 'details',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hr',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'nav',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'pre',\n 'progress',\n 'section',\n 'select',\n 'small',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'video',\n])\n\nconst PROP_KEYS = new Set([\n 'value',\n 'checked',\n 'selected',\n 'disabled',\n 'readOnly',\n 'multiple',\n 'indeterminate',\n 'defaultValue',\n 'defaultChecked',\n 'innerHTML',\n 'textContent',\n])\n\ntype BindingKind = 'text' | 'prop' | 'attr' | 'class' | 'style'\n\n/**\n * Walk from `use` outward toward the source file root, looking for a\n * `const <name> = <initializer>` (or `let`/`var`) declaration that binds\n * this identifier in an enclosing scope. Returns the initializer if found.\n *\n * This enables reactive-binding detection for hoisted accessors:\n *\n * const cls = (s: State) => isActive(item, s.path) ? 'on' : 'off'\n * return a({ class: cls }, ...)\n *\n * Without resolution, `class: cls` would fall through the static path\n * and emit `__e.className = cls`, coercing the function to its source\n * string. With resolution, we see that `cls` is an arrow and emit a\n * binding exactly as if the arrow had been inlined.\n *\n * Scope rules:\n * - Only single-binding `const`/`let`/`var` declarations with an\n * initializer are considered. No destructuring, no multi-declarator\n * statements (too easy to get wrong without a type checker).\n * - Later reassignments are NOT tracked — if the identifier is `let`\n * and gets reassigned, the resolution is unreliable. We conservatively\n * refuse to resolve `let` bindings for now (arrow-valued accessors\n * are ~always `const` in practice).\n * - The declaration must dominate the use (same block or an enclosing\n * one). TypeScript's block semantics mean walking up parent blocks\n * is sufficient.\n */\nfunction resolveLocalConstInitializer(use: ts.Identifier): ts.Expression | null {\n const name = use.text\n let node: ts.Node = use\n while (node.parent) {\n const parent = node.parent\n // Scan statements of an enclosing block/source-file for a matching declaration\n let statements: readonly ts.Statement[] | null = null\n if (ts.isBlock(parent) || ts.isSourceFile(parent) || ts.isModuleBlock(parent)) {\n statements = parent.statements\n } else if (ts.isCaseClause(parent) || ts.isDefaultClause(parent)) {\n statements = parent.statements\n }\n if (statements) {\n for (const stmt of statements) {\n if (!ts.isVariableStatement(stmt)) continue\n // Skip `let` — reassignment would invalidate our resolution\n const flags = stmt.declarationList.flags\n if (!(flags & ts.NodeFlags.Const)) continue\n if (stmt.declarationList.declarations.length !== 1) continue\n const decl = stmt.declarationList.declarations[0]!\n if (!ts.isIdentifier(decl.name) || decl.name.text !== name) continue\n if (!decl.initializer) continue\n return decl.initializer\n }\n }\n node = parent\n }\n return null\n}\n\nfunction classifyKind(key: string): BindingKind {\n if (key === 'class' || key === 'className') return 'class'\n if (key.startsWith('style.')) return 'style'\n if (PROP_KEYS.has(key)) return 'prop'\n return 'attr'\n}\n\nfunction resolveKey(key: string, kind: BindingKind): string {\n if (kind === 'class') return 'class'\n if (kind === 'style') return key.slice(6)\n if (kind === 'prop') return key\n if (key === 'className') return 'class'\n return key\n}\n\n/**\n * Transform a source file containing @llui/dom imports.\n * Returns the transformed source or null if no transformation needed.\n */\nexport interface TransformEdit {\n start: number\n end: number\n replacement: string\n}\n\nexport function transformLlui(\n source: string,\n _filename: string,\n devMode = false,\n mcpPort: number | null = 5200,\n): { output: string; edits: TransformEdit[] } | null {\n const sourceFile = ts.createSourceFile('input.ts', source, ts.ScriptTarget.Latest, true)\n\n // Find the @llui/dom import\n const imp = findLluiImport(sourceFile)\n if (!imp) return null\n const lluiImport = imp\n\n // Collect imported element helper names (local → original)\n const importedHelpers = getImportedHelpers(lluiImport)\n if (importedHelpers.size === 0 && !hasReactiveAccessors(sourceFile)) return null\n\n // Pass 2 pre-scan: collect all state access paths\n // Only use precise masks in files that define a component() — the __dirty\n // function is generated per-component, so bit assignments in other files\n // won't match. Files without component() get FULL_MASK on all bindings.\n const fileHasComponent = hasComponentDef(sourceFile, lluiImport)\n const fieldBits = fileHasComponent ? collectDeps(source) : new Map<string, number>()\n\n // Identifier names bound to the View<S,M> helpers parameter of a `view` callback.\n // When the user writes `h.text(...)` / `h.show(...)` / `h.each(...)`, the\n // compiler treats the call as if it were a bare import call.\n const viewHelperNames = collectViewHelperNames(sourceFile, lluiImport)\n // Destructured aliases: `view: (_, { show, text: t }) => [...]` → { show→show, t→text }.\n const viewHelperAliases = collectViewHelperAliases(sourceFile, lluiImport, viewHelperNames)\n\n // Track which helpers were compiled vs bailed out\n const compiledHelpers = new Set<string>()\n const bailedHelpers = new Set<string>()\n let usesElTemplate = false\n let usesElSplit = false\n let usesMemo = false\n let usesApplyBinding = false\n\n const f = ts.factory\n const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed })\n\n // Collect source positions of transformed nodes for source mapping\n const edits: TransformEdit[] = []\n\n function visitor(node: ts.Node): ts.Node {\n // Synthetic nodes (created by ts.factory) don't have real positions\n const hasPos = node.pos >= 0 && node.end >= 0\n const origStart = hasPos ? node.getStart(sourceFile) : -1\n const origEnd = hasPos ? node.getEnd() : -1\n\n // Pass 0: each() optimizations — dedup item() selectors + auto-wrap items in memo\n if (\n ts.isCallExpression(node) &&\n isHelperCall(node.expression, 'each', viewHelperNames, viewHelperAliases)\n ) {\n let current: ts.CallExpression = node\n let changed = false\n const memoWrapped = tryWrapEachItemsWithMemo(current, fieldBits, f)\n if (memoWrapped) {\n current = memoWrapped\n changed = true\n usesMemo = true\n }\n const deduped = tryDeduplicateItemSelectors(current, f, printer, sourceFile)\n if (deduped) {\n current = deduped\n changed = true\n }\n // Inject __mask for Phase 1 gating\n const masked = tryInjectStructuralMask(\n current,\n viewHelperNames,\n viewHelperAliases,\n fieldBits,\n f,\n )\n if (masked) {\n current = masked\n changed = true\n }\n if (changed) {\n const result = ts.visitEachChild(current, visitor, undefined!)\n if (hasPos) edits.push({ start: origStart, end: origEnd, replacement: '' })\n // Row factory: try after children are transformed\n if (ts.isCallExpression(result)) {\n try {\n const rf = tryEmitRowFactory(result, f, source)\n if (rf) return rf\n } catch (err) {\n const line = ts.getLineAndCharacterOfPosition(sourceFile, result.getStart())\n console.warn(\n `[llui] Row factory failed in ${_filename}:${line.line + 1} — ${(err as Error).message}`,\n )\n }\n }\n return result\n }\n }\n\n // Pass 1: Transform element helper calls to elSplit or elTemplate\n if (ts.isCallExpression(node)) {\n const transformed = tryTransformElementCall(\n node,\n importedHelpers,\n fieldBits,\n compiledHelpers,\n bailedHelpers,\n f,\n )\n if (transformed) {\n if (ts.isIdentifier(transformed.expression)) {\n if (transformed.expression.text === 'elTemplate') usesElTemplate = true\n else if (transformed.expression.text === 'elSplit') usesElSplit = true\n }\n if (hasPos) edits.push({ start: origStart, end: origEnd, replacement: '' })\n return ts.visitEachChild(transformed, visitor, undefined!)\n }\n\n // Pass 2: Inject mask into text() calls\n const textTransformed = tryInjectTextMask(\n node,\n lluiImport,\n viewHelperNames,\n viewHelperAliases,\n fieldBits,\n f,\n )\n if (textTransformed) {\n if (hasPos) edits.push({ start: origStart, end: origEnd, replacement: '' })\n return textTransformed\n }\n\n // Inject __mask into each()/branch()/show() options for Phase 1 gating\n const structuralMasked = tryInjectStructuralMask(\n node,\n viewHelperNames,\n viewHelperAliases,\n fieldBits,\n f,\n )\n if (structuralMasked) {\n if (hasPos) edits.push({ start: origStart, end: origEnd, replacement: '' })\n return ts.visitEachChild(structuralMasked, visitor, undefined!)\n }\n }\n\n // Pass 2: Inject __dirty, __update, and __msgSchema into component() calls\n if (ts.isCallExpression(node) && isComponentCall(node, lluiImport)) {\n let result = tryInjectDirty(node, fieldBits, f)\n if (result) usesApplyBinding = true\n if (devMode) {\n const schema = extractMsgSchema(source)\n if (schema) {\n result = injectMsgSchema(result ?? node, schema, f)\n }\n const stateSchema = extractStateSchema(source)\n if (stateSchema) {\n result = injectStateSchema(result ?? node, stateSchema.fields, f)\n }\n const effectSchema = extractEffectSchema(source)\n if (effectSchema) {\n result = injectEffectSchema(result ?? node, effectSchema, f)\n }\n result = injectComponentMeta(result ?? node, node, sourceFile, _filename, f)\n }\n if (result) {\n if (hasPos) edits.push({ start: origStart, end: origEnd, replacement: '' })\n return ts.visitEachChild(result, visitor, undefined!)\n }\n }\n\n return ts.visitEachChild(node, visitor, undefined!)\n }\n\n let transformed = ts.visitNode(sourceFile, visitor) as ts.SourceFile\n\n // Pass 3: Clean up imports — use the old cleanupImports approach\n // which operates on the transformed SourceFile safely\n const safeToRemove = new Set([...compiledHelpers].filter((h) => !bailedHelpers.has(h)))\n transformed = cleanupImports(\n transformed,\n lluiImport,\n importedHelpers,\n safeToRemove,\n usesElSplit,\n usesElTemplate,\n usesMemo,\n usesApplyBinding,\n f,\n )\n\n if (edits.length === 0) return null\n\n // Find component declarations for HMR\n const componentDecls = devMode ? findComponentDeclarations(sourceFile, lluiImport) : []\n\n // Build per-statement edits by comparing original vs transformed.\n // Only emit edits for statements that actually changed.\n // Untouched code keeps its original positions → accurate source maps.\n const finalEdits: TransformEdit[] = []\n const origStmts = sourceFile.statements\n const xfStmts = transformed.statements\n\n for (let i = 0; i < origStmts.length && i < xfStmts.length; i++) {\n const origStart = origStmts[i]!.getStart(sourceFile)\n const origEnd = origStmts[i]!.getEnd()\n const origText = source.slice(origStart, origEnd)\n\n let xfText: string\n try {\n xfText = printer.printNode(ts.EmitHint.Unspecified, xfStmts[i]!, transformed)\n } catch {\n // Synthetic nodes may fail to print individually — fall back to full reprint\n const { top: _top, bottom: _bottom } = devMode\n ? generateDevCode(componentDecls, mcpPort)\n : { top: '', bottom: '' }\n const output =\n (_top ? _top + '\\n' : '') + printer.printFile(transformed) + (_bottom ? '\\n' + _bottom : '')\n return { output, edits: [{ start: 0, end: source.length, replacement: output }] }\n }\n\n // Compare ignoring trailing semicolons and whitespace (printer adds them)\n const origNorm = origText.trim().replace(/;$/, '')\n const xfNorm = xfText.trim().replace(/;$/, '')\n if (origNorm !== xfNorm) {\n // Match the original style: if the original didn't end with a semicolon,\n // strip the one the printer added\n const origHasSemi = origText.trimEnd().endsWith(';')\n const replacement = origHasSemi ? xfText : xfText.replace(/;(\\s*)$/, '$1')\n finalEdits.push({ start: origStart, end: origEnd, replacement })\n }\n }\n\n // Dev setup: enable* must run BEFORE user's mountApp (top of file),\n // but import.meta.hot.accept needs to reference user's component vars\n // (bottom of file). So split the injection.\n if (devMode) {\n const { top, bottom } = generateDevCode(componentDecls, mcpPort)\n if (top) finalEdits.push({ start: 0, end: 0, replacement: top + '\\n' })\n if (bottom)\n finalEdits.push({ start: source.length, end: source.length, replacement: '\\n' + bottom })\n }\n\n if (finalEdits.length === 0) return null\n\n // Build the full output by applying edits (for backward compat)\n const sorted = [...finalEdits].sort((a, b) => b.start - a.start)\n let output = source\n for (const edit of sorted) {\n output = output.slice(0, edit.start) + edit.replacement + output.slice(edit.end)\n }\n\n return { output, edits: finalEdits }\n}\n\n// ── HMR ──────────────────────────────────────────────────────────\n\nfunction generateDevCode(\n components: Array<{ varName: string; componentName: string }>,\n mcpPort: number | null,\n): { top: string; bottom: string } {\n if (components.length === 0) {\n return {\n top: '',\n bottom: `if (import.meta.hot) {\\n import.meta.hot.accept()\\n}`,\n }\n }\n\n const relayImport = mcpPort !== null ? ', startRelay as __startRelay' : ''\n const relayCall = mcpPort !== null ? `\\n__startRelay(${mcpPort})` : ''\n\n const top = `\nimport { enableHmr as __enableHmr, replaceComponent as __replaceComponent } from '@llui/dom/hmr'\nimport { enableDevTools as __enableDevTools${relayImport} } from '@llui/dom/devtools'\n__enableHmr()\n__enableDevTools()${relayCall}\n`.trim()\n\n const replaceCalls = components\n .map(({ varName, componentName }) => ` __replaceComponent(\"${componentName}\", ${varName})`)\n .join('\\n')\n\n // HMR auto-connect: when the Vite plugin detects that @llui/mcp's\n // active marker file exists or appears, it sends `llui:mcp-ready`\n // with the MCP bridge port. We forward that to __lluiConnect so the\n // browser connects automatically — no console gymnastics, no retry\n // spam, regardless of whether MCP or Vite started first.\n const mcpHmrHandler =\n mcpPort !== null\n ? `\n import.meta.hot.on('llui:mcp-ready', (data) => {\n if (typeof globalThis.__lluiConnect === 'function') {\n globalThis.__lluiConnect(data?.port)\n }\n })`\n : ''\n\n const bottom = `\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n${replaceCalls}\n })${mcpHmrHandler}\n}\n`.trim()\n\n return { top, bottom }\n}\n\n/** Find all component() calls and extract the variable name and component name */\nfunction findComponentDeclarations(\n sf: ts.SourceFile,\n lluiImport: ts.ImportDeclaration,\n): Array<{ varName: string; componentName: string }> {\n const result: Array<{ varName: string; componentName: string }> = []\n\n function visit(node: ts.Node): void {\n // Match: const Foo = component({ name: 'Foo', ... })\n if (\n ts.isVariableDeclaration(node) &&\n ts.isIdentifier(node.name) &&\n node.initializer &&\n ts.isCallExpression(node.initializer) &&\n isComponentCall(node.initializer, lluiImport)\n ) {\n const varName = node.name.text\n const config = node.initializer.arguments[0]\n if (config && ts.isObjectLiteralExpression(config)) {\n for (const prop of config.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'name' &&\n ts.isStringLiteral(prop.initializer)\n ) {\n result.push({ varName, componentName: prop.initializer.text })\n }\n }\n }\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sf)\n return result\n}\n\n// ── Helpers ──────────────────────────────────────────────────────\n\nfunction findLluiImport(sf: ts.SourceFile): ts.ImportDeclaration | null {\n for (const stmt of sf.statements) {\n if (\n ts.isImportDeclaration(stmt) &&\n ts.isStringLiteral(stmt.moduleSpecifier) &&\n stmt.moduleSpecifier.text === '@llui/dom'\n ) {\n return stmt\n }\n }\n return null\n}\n\nfunction getImportedHelpers(imp: ts.ImportDeclaration): Map<string, string> {\n const map = new Map<string, string>()\n const clause = imp.importClause\n if (!clause || !clause.namedBindings || !ts.isNamedImports(clause.namedBindings)) return map\n\n for (const spec of clause.namedBindings.elements) {\n const original = (spec.propertyName ?? spec.name).text\n const local = spec.name.text\n if (ELEMENT_HELPERS.has(original)) {\n map.set(local, original)\n }\n }\n return map\n}\n\nfunction hasReactiveAccessors(sf: ts.SourceFile): boolean {\n let found = false\n function visit(node: ts.Node): void {\n if (found) return\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n if (node.expression.text === 'text' || node.expression.text === 'component') {\n found = true\n }\n }\n ts.forEachChild(node, visit)\n }\n visit(sf)\n return found\n}\n\nfunction hasComponentDef(sf: ts.SourceFile, lluiImport: ts.ImportDeclaration): boolean {\n let found = false\n function visit(node: ts.Node): void {\n if (found) return\n if (ts.isCallExpression(node) && isComponentCall(node, lluiImport)) {\n found = true\n return\n }\n ts.forEachChild(node, visit)\n }\n visit(sf)\n return found\n}\n\n/**\n * Scan for `component({ view: (h) => ... })` arrow functions and collect\n * the identifier name used as the View-bundle parameter. When the user\n * writes `h.show(...)` / `h.text(...)` inside the view, the compiler treats\n * it the same as bare `show(...)` / `text(...)` for mask injection.\n */\nfunction collectViewHelperNames(sf: ts.SourceFile, lluiImport: ts.ImportDeclaration): Set<string> {\n const names = new Set<string>()\n function visit(node: ts.Node): void {\n if (ts.isCallExpression(node) && isComponentCall(node, lluiImport)) {\n const arg = node.arguments[0]\n if (arg && ts.isObjectLiteralExpression(arg)) {\n for (const prop of arg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'view' &&\n (ts.isArrowFunction(prop.initializer) || ts.isFunctionExpression(prop.initializer))\n ) {\n const params = prop.initializer.parameters\n if (params.length >= 1) {\n const first = params[0]!\n if (ts.isIdentifier(first.name)) {\n names.add(first.name.text)\n }\n }\n }\n }\n }\n }\n // Also: any function parameter annotated as `View<...>` — covers extracted\n // view-functions like `function repoPage(h: View<State, Msg>, ...)`.\n if (\n ts.isParameter(node) &&\n node.type &&\n isViewTypeReference(node.type) &&\n ts.isIdentifier(node.name)\n ) {\n names.add(node.name.text)\n }\n ts.forEachChild(node, visit)\n }\n visit(sf)\n return names\n}\n\nfunction isViewTypeReference(t: ts.TypeNode): boolean {\n return ts.isTypeReferenceNode(t) && ts.isIdentifier(t.typeName) && t.typeName.text === 'View'\n}\n\n/**\n * Scan for `component({ view: ({ show, each, text, ... }) => ... })`\n * destructured parameters and return a map from the locally-bound name to\n * the primitive name it aliases. This lets users write the bare `show(...)` /\n * `text(...)` forms without importing them, while the compiler still\n * applies mask injection etc.\n *\n * view: ({ show, text: t }) => [...]\n * // returns { show → \"show\", t → \"text\" }\n */\nconst VIEW_HELPER_PRIMITIVES = new Set([\n 'show',\n 'branch',\n 'each',\n 'text',\n 'memo',\n 'selector',\n 'ctx',\n 'slice',\n 'send',\n])\n\nfunction collectViewHelperAliases(\n sf: ts.SourceFile,\n lluiImport: ts.ImportDeclaration,\n helperNames: Set<string>,\n): Map<string, string> {\n const aliases = new Map<string, string>()\n function addFromBindingPattern(pattern: ts.ObjectBindingPattern): void {\n for (const elem of pattern.elements) {\n // { show } → propertyName=undefined, name=show\n // { show: mySh } → propertyName=show, name=mySh\n const sourceName =\n elem.propertyName && ts.isIdentifier(elem.propertyName)\n ? elem.propertyName.text\n : ts.isIdentifier(elem.name)\n ? elem.name.text\n : null\n const localName = ts.isIdentifier(elem.name) ? elem.name.text : null\n if (sourceName && localName && VIEW_HELPER_PRIMITIVES.has(sourceName)) {\n aliases.set(localName, sourceName)\n }\n }\n }\n function visit(node: ts.Node): void {\n if (ts.isCallExpression(node) && isComponentCall(node, lluiImport)) {\n const arg = node.arguments[0]\n if (arg && ts.isObjectLiteralExpression(arg)) {\n for (const prop of arg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'view' &&\n (ts.isArrowFunction(prop.initializer) || ts.isFunctionExpression(prop.initializer))\n ) {\n const params = prop.initializer.parameters\n if (params.length >= 1) {\n const first = params[0]!\n if (ts.isObjectBindingPattern(first.name)) {\n addFromBindingPattern(first.name)\n }\n }\n }\n }\n }\n }\n // Also: function parameters like `(…, { show, text }: View<State, Msg>) => …`\n // on extracted helpers — allow the same destructuring ergonomics.\n if (\n ts.isParameter(node) &&\n node.type &&\n isViewTypeReference(node.type) &&\n ts.isObjectBindingPattern(node.name)\n ) {\n addFromBindingPattern(node.name)\n }\n // Also: `const { show, text } = h` assignments where `h` is a known\n // helper binding — lets helpers destructure once at the top of the\n // function body.\n if (\n ts.isVariableDeclaration(node) &&\n ts.isObjectBindingPattern(node.name) &&\n node.initializer &&\n ts.isIdentifier(node.initializer) &&\n helperNames.has(node.initializer.text)\n ) {\n addFromBindingPattern(node.name)\n }\n ts.forEachChild(node, visit)\n }\n visit(sf)\n return aliases\n}\n\nfunction isComponentCall(node: ts.CallExpression, lluiImport: ts.ImportDeclaration): boolean {\n if (!ts.isIdentifier(node.expression)) return false\n const name = node.expression.text\n if (name !== 'component') return false\n // Verify it's from the llui import\n const clause = lluiImport.importClause\n if (!clause?.namedBindings || !ts.isNamedImports(clause.namedBindings)) return false\n return clause.namedBindings.elements.some(\n (s) => s.name.text === 'component' || (s.propertyName && s.propertyName.text === 'component'),\n )\n}\n\nfunction emitStaticProp(\n staticProps: ts.Statement[],\n f: ts.NodeFactory,\n kind: BindingKind,\n resolvedKey: string,\n value: ts.Expression,\n): void {\n switch (kind) {\n case 'class':\n staticProps.push(\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('__e'), 'className'),\n ts.SyntaxKind.EqualsToken,\n value,\n ),\n ),\n )\n break\n case 'prop':\n staticProps.push(\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('__e'), resolvedKey),\n ts.SyntaxKind.EqualsToken,\n value,\n ),\n ),\n )\n break\n case 'style':\n staticProps.push(\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(f.createIdentifier('__e'), 'style'),\n 'setProperty',\n ),\n undefined,\n [f.createStringLiteral(resolvedKey), value],\n ),\n ),\n )\n break\n default: // attr\n staticProps.push(\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('__e'), 'setAttribute'),\n undefined,\n [f.createStringLiteral(resolvedKey), value],\n ),\n ),\n )\n }\n}\n\n// ── Pass 1: Element → elSplit ────────────────────────────────────\n\nfunction tryTransformElementCall(\n node: ts.CallExpression,\n helpers: Map<string, string>,\n fieldBits: Map<string, number>,\n compiled: Set<string>,\n bailed: Set<string>,\n f: ts.NodeFactory,\n): ts.CallExpression | null {\n if (!ts.isIdentifier(node.expression)) return null\n const localName = node.expression.text\n const originalName = helpers.get(localName)\n if (!originalName) return null\n\n // Handle children-only overload: `div([...])` — first arg is the children array.\n // Normalize to props=undefined, children=firstArg so downstream logic works.\n const firstArg = node.arguments[0]\n const usesChildrenOnlyOverload = firstArg && ts.isArrayLiteralExpression(firstArg)\n const propsArg = usesChildrenOnlyOverload ? undefined : firstArg\n if (propsArg && !ts.isObjectLiteralExpression(propsArg)) {\n bailed.add(localName)\n return null\n }\n // Bail on spread assignments (`...parts.root`) — the compiler cannot\n // statically classify spread contents, and silently dropping them would\n // break consumers (e.g. @llui/components parts spreading). Fall back to\n // the runtime element helper so spreads are applied normally.\n if (\n propsArg &&\n ts.isObjectLiteralExpression(propsArg) &&\n propsArg.properties.some((p) => ts.isSpreadAssignment(p))\n ) {\n bailed.add(localName)\n return null\n }\n\n const tag = f.createStringLiteral(originalName)\n\n // Classify props\n const staticProps: ts.Statement[] = []\n const events: ts.ArrayLiteralExpression[] = []\n const bindings: ts.ArrayLiteralExpression[] = []\n\n if (propsArg && ts.isObjectLiteralExpression(propsArg)) {\n for (const prop of propsArg.properties) {\n // Handle both PropertyAssignment (key: value) and ShorthandPropertyAssignment ({ id })\n let key: string\n let value: ts.Expression\n\n if (ts.isPropertyAssignment(prop)) {\n if (!ts.isIdentifier(prop.name) && !ts.isStringLiteral(prop.name)) continue\n key = ts.isIdentifier(prop.name) ? prop.name.text : prop.name.text\n value = prop.initializer\n } else if (ts.isShorthandPropertyAssignment(prop)) {\n key = prop.name.text\n value = prop.name // The identifier itself is the value\n } else {\n continue\n }\n if (key === 'key') continue\n\n // Event handler\n if (/^on[A-Z]/.test(key)) {\n const eventName = key.slice(2).toLowerCase()\n events.push(f.createArrayLiteralExpression([f.createStringLiteral(eventName), value]))\n continue\n }\n\n // If the value is an Identifier that refers to a local const-bound\n // arrow/function, resolve it and treat it as if the arrow had been\n // inlined. Without this, `class: cls` where `const cls = (s) => ...`\n // falls through to the static path and emits `.className = cls`,\n // coercing the function to its source string in the DOM.\n if (ts.isIdentifier(value)) {\n const resolved = resolveLocalConstInitializer(value)\n if (resolved && (ts.isArrowFunction(resolved) || ts.isFunctionExpression(resolved))) {\n value = resolved\n }\n }\n\n // Reactive binding — value is an arrow function or function expression\n if (ts.isArrowFunction(value) || ts.isFunctionExpression(value)) {\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n const { mask, readsState } = computeAccessorMask(value, fieldBits)\n\n // Zero-mask constant folding: accessor doesn't read state → treat as static\n if (mask === 0 && !readsState) {\n emitStaticProp(\n staticProps,\n f,\n kind,\n resolvedKey,\n f.createCallExpression(value, undefined, []),\n )\n continue\n }\n\n bindings.push(\n f.createArrayLiteralExpression([\n createMaskLiteral(f, mask),\n f.createStringLiteral(kind),\n f.createStringLiteral(resolvedKey),\n value,\n ]),\n )\n continue\n }\n\n // Call expression — check if it's a per-item accessor: item(t => t.field)\n if (ts.isCallExpression(value)) {\n if (isPerItemCall(value)) {\n // Emit as a binding with FULL_MASK — the accessor is the item() call itself\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n bindings.push(\n f.createArrayLiteralExpression([\n createMaskLiteral(f, 0xffffffff | 0),\n f.createStringLiteral(kind),\n f.createStringLiteral(resolvedKey),\n value,\n ]),\n )\n continue\n }\n // Unknown call expression — bail out\n bailed.add(localName)\n return null\n }\n\n // Per-item property access: item.field — equivalent to item(t => t.field)\n // Also matches hoisted __a0/__a1/… identifiers produced by dedup pass.\n if (isPerItemFieldAccess(value) || isHoistedPerItem(value)) {\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n bindings.push(\n f.createArrayLiteralExpression([\n createMaskLiteral(f, 0xffffffff | 0),\n f.createStringLiteral(kind),\n f.createStringLiteral(resolvedKey),\n value,\n ]),\n )\n continue\n }\n\n // Static prop\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n emitStaticProp(staticProps, f, kind, resolvedKey, value)\n }\n }\n\n // Build elSplit args\n const staticFn =\n staticProps.length > 0\n ? f.createArrowFunction(\n undefined,\n undefined,\n [f.createParameterDeclaration(undefined, undefined, '__e')],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(staticProps, true),\n )\n : f.createNull()\n\n const eventsArr = events.length > 0 ? f.createArrayLiteralExpression(events) : f.createNull()\n\n const bindingsArr =\n bindings.length > 0 ? f.createArrayLiteralExpression(bindings) : f.createNull()\n\n const children = usesChildrenOnlyOverload\n ? node.arguments[0]!\n : (node.arguments[1] ?? f.createNull())\n\n compiled.add(localName)\n\n // Subtree collapse: if children contain nested element helpers,\n // collapse the entire tree into a single elTemplate() call\n const analyzed = analyzeSubtree(node, helpers, fieldBits, [])\n if (analyzed && hasNestedElements(analyzed)) {\n // Mark all descendant helpers as compiled for import cleanup\n collectUsedHelpers(analyzed, compiled)\n const templateCall = emitSubtreeTemplate(analyzed, fieldBits, f)\n return templateCall\n }\n\n // Static subtree prerendering: if no events, no bindings, and children\n // are all static text, emit a <template> clone\n if (events.length === 0 && bindings.length === 0 && isStaticChildren(children)) {\n const html = buildStaticHTML(originalName, staticProps, children, f)\n if (html) {\n return emitTemplateClone(html, f) as ts.CallExpression\n }\n }\n\n const call = f.createCallExpression(f.createIdentifier('elSplit'), undefined, [\n tag,\n staticFn,\n eventsArr,\n bindingsArr,\n children,\n ])\n ts.addSyntheticLeadingComment(call, ts.SyntaxKind.MultiLineCommentTrivia, '@__PURE__', false)\n return call\n}\n\n// ── Pass 2: Mask injection ───────────────────────────────────────\n\n/**\n * Match a call expression against a primitive name across all three binding\n * forms:\n * - bare imported identifier: `name(...)` where `name` was imported from @llui/dom\n * - destructured alias: `name(...)` where `name` is bound via\n * `view: (_, { name }) => ...` (or `{ name: alias }`)\n * - member call: `<h>.name(...)` where `<h>` is the 2nd view parameter\n *\n * The compiler treats all three identically for mask injection / each()\n * optimization purposes.\n */\nfunction isHelperCall(\n expr: ts.Expression,\n name: string,\n helperNames: Set<string>,\n aliases?: Map<string, string>,\n): boolean {\n if (ts.isIdentifier(expr)) {\n if (expr.text === name) return true\n if (aliases && aliases.get(expr.text) === name) return true\n return false\n }\n if (\n ts.isPropertyAccessExpression(expr) &&\n ts.isIdentifier(expr.expression) &&\n helperNames.has(expr.expression.text) &&\n ts.isIdentifier(expr.name) &&\n expr.name.text === name\n ) {\n return true\n }\n return false\n}\n\nfunction tryInjectTextMask(\n node: ts.CallExpression,\n lluiImport: ts.ImportDeclaration,\n viewHelperNames: Set<string>,\n viewHelperAliases: Map<string, string>,\n fieldBits: Map<string, number>,\n f: ts.NodeFactory,\n): ts.CallExpression | null {\n if (!isHelperCall(node.expression, 'text', viewHelperNames, viewHelperAliases)) {\n return null\n }\n\n // For a bare identifier `text`, verify it actually resolves to the @llui/dom\n // import (otherwise a user-defined `text` in scope would be rewritten).\n // Destructured-alias and member-expression forms are already provenance-safe.\n if (ts.isIdentifier(node.expression) && !viewHelperAliases.has(node.expression.text)) {\n const clause = lluiImport.importClause\n if (!clause?.namedBindings || !ts.isNamedImports(clause.namedBindings)) return null\n const hasText = clause.namedBindings.elements.some(\n (s) => s.name.text === 'text' || s.propertyName?.text === 'text',\n )\n if (!hasText) return null\n }\n\n const firstArg = node.arguments[0]\n if (!firstArg) return null\n // Only inject mask for accessor functions, not static strings\n if (!ts.isArrowFunction(firstArg) && !ts.isFunctionExpression(firstArg)) return null\n // Don't inject if mask already provided\n if (node.arguments.length >= 2) return null\n\n const { mask } = computeAccessorMask(firstArg, fieldBits)\n\n return f.createCallExpression(node.expression, node.typeArguments, [\n firstArg,\n createMaskLiteral(f, mask === 0 ? 0xffffffff | 0 : mask),\n ])\n}\n\n/**\n * Inject `__mask` into the options object of each()/branch()/show() calls.\n *\n * Analyzes the driving accessor (`items` for each, `on` for branch, `when`\n * for show) and computes the bitmask of state fields it reads. The runtime\n * uses this to skip Phase 1 reconciliation when irrelevant state changed\n * (e.g., each() that reads `rows` is skipped when only `selected` changed).\n */\nfunction tryInjectStructuralMask(\n node: ts.CallExpression,\n viewHelperNames: Set<string>,\n viewHelperAliases: Map<string, string>,\n fieldBits: Map<string, number>,\n f: ts.NodeFactory,\n): ts.CallExpression | null {\n if (fieldBits.size === 0) return null\n\n // Match each(), branch(), show() — bare, aliased, or member-call\n const isEach = isHelperCall(node.expression, 'each', viewHelperNames, viewHelperAliases)\n const isBranch = isHelperCall(node.expression, 'branch', viewHelperNames, viewHelperAliases)\n const isShow = isHelperCall(node.expression, 'show', viewHelperNames, viewHelperAliases)\n if (!isEach && !isBranch && !isShow) return null\n\n const optsArg = node.arguments[0]\n if (!optsArg || !ts.isObjectLiteralExpression(optsArg)) return null\n\n // Already has __mask\n for (const prop of optsArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__mask'\n ) {\n return null\n }\n }\n\n // Find the driving accessor property: items/on/when\n const driverProp = isEach ? 'items' : isBranch ? 'on' : 'when'\n let driverAccessor: ts.ArrowFunction | ts.FunctionExpression | null = null\n for (const prop of optsArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === driverProp\n ) {\n if (ts.isArrowFunction(prop.initializer) || ts.isFunctionExpression(prop.initializer)) {\n driverAccessor = prop.initializer\n }\n break\n }\n }\n\n if (!driverAccessor) return null\n\n const { mask } = computeAccessorMask(driverAccessor, fieldBits)\n if (mask === 0 || mask === (0xffffffff | 0)) return null // no benefit\n\n // Inject __mask into the options object\n const maskProp = f.createPropertyAssignment('__mask', createMaskLiteral(f, mask))\n const newProps = [...optsArg.properties, maskProp]\n const newOpts = f.createObjectLiteralExpression(newProps, optsArg.properties.hasTrailingComma)\n return f.createCallExpression(node.expression, node.typeArguments, [\n newOpts,\n ...node.arguments.slice(1),\n ])\n}\n\nfunction tryInjectDirty(\n node: ts.CallExpression,\n fieldBits: Map<string, number>,\n f: ts.NodeFactory,\n): ts.CallExpression | null {\n if (fieldBits.size === 0) return null\n const configArg = node.arguments[0]\n if (!configArg || !ts.isObjectLiteralExpression(configArg)) return null\n\n // Check if __dirty already exists\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__dirty'\n ) {\n return null\n }\n }\n\n // Build __dirty: (o, n) => (Object.is(o.field, n.field) ? 0 : bit) | ...\n // Compare at top-level field (depth 1) — nested path changes within a\n // field must trigger the bit even if the specific sub-path isn't tracked.\n // e.g., route.page tracked but route.data changes → must fire.\n const topLevelBits = new Map<string, number>()\n for (const [path, bit] of fieldBits) {\n const topField = path.split('.')[0]!\n topLevelBits.set(topField, (topLevelBits.get(topField) ?? 0) | bit)\n }\n\n const comparisons: ts.Expression[] = []\n for (const [field, bit] of topLevelBits) {\n const oAccess = buildAccess(f, 'o', [field])\n const nAccess = buildAccess(f, 'n', [field])\n\n comparisons.push(\n f.createParenthesizedExpression(\n f.createConditionalExpression(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('Object'), 'is'),\n undefined,\n [oAccess, nAccess],\n ),\n f.createToken(ts.SyntaxKind.QuestionToken),\n f.createNumericLiteral(0),\n f.createToken(ts.SyntaxKind.ColonToken),\n createMaskLiteral(f, bit),\n ),\n ),\n )\n }\n\n let dirtyBody: ts.Expression = comparisons[0]!\n for (let i = 1; i < comparisons.length; i++) {\n dirtyBody = f.createBinaryExpression(dirtyBody, ts.SyntaxKind.BarToken, comparisons[i]!)\n }\n\n // Fallback: if no tracked bit fired but the state reference changed, some\n // untracked field must have changed — return FULL_MASK so bindings whose\n // accessors came from external modules (spread parts) still fire.\n // tracked || (Object.is(o, n) ? 0 : FULL_MASK)\n const fallback = f.createParenthesizedExpression(\n f.createConditionalExpression(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('Object'), 'is'),\n undefined,\n [f.createIdentifier('o'), f.createIdentifier('n')],\n ),\n f.createToken(ts.SyntaxKind.QuestionToken),\n f.createNumericLiteral(0),\n f.createToken(ts.SyntaxKind.ColonToken),\n createMaskLiteral(f, -1),\n ),\n )\n dirtyBody = f.createBinaryExpression(\n f.createParenthesizedExpression(dirtyBody),\n ts.SyntaxKind.BarBarToken,\n fallback,\n )\n\n const dirtyFn = f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(undefined, undefined, 'o'),\n f.createParameterDeclaration(undefined, undefined, 'n'),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n dirtyBody,\n )\n\n const dirtyProp = f.createPropertyAssignment('__dirty', dirtyFn)\n\n // __maskLegend: maps each top-level state field to the bit(s) that fire when\n // it changes. Lets introspection tools decode runtime dirty masks to field names.\n const legendProps: ts.PropertyAssignment[] = []\n for (const [field, bit] of topLevelBits) {\n legendProps.push(f.createPropertyAssignment(field, createMaskLiteral(f, bit)))\n }\n const legendProp = f.createPropertyAssignment(\n '__maskLegend',\n f.createObjectLiteralExpression(legendProps, false),\n )\n\n // Structural mask — used by both __update and __handlers\n const structuralMask = computeStructuralMask(configArg, fieldBits)\n const phase2Mask = computePhase2Mask(configArg, fieldBits)\n\n const updateBody = buildUpdateBody(f, structuralMask, phase2Mask)\n const updateFn = f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(undefined, undefined, 's'),\n f.createParameterDeclaration(undefined, undefined, 'd'),\n f.createParameterDeclaration(undefined, undefined, 'b'),\n f.createParameterDeclaration(undefined, undefined, 'bl'),\n f.createParameterDeclaration(undefined, undefined, 'p'),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n updateBody,\n )\n const updateProp = f.createPropertyAssignment('__update', updateFn)\n\n // __handlers: per-message-type specialized update functions.\n // Analyzes the update() switch/case and generates direct handlers\n // that bypass the generic Phase 1/2 pipeline for single-message updates.\n const handlersProp = tryBuildHandlers(configArg, topLevelBits, structuralMask, f)\n\n // Keep __update even when __handlers is present — it provides Phase 1\n // mask gating for multi-message batches that bypass __handlers.\n const extraProps = [dirtyProp, legendProp, updateProp]\n if (handlersProp) extraProps.push(handlersProp)\n\n const newConfig = f.createObjectLiteralExpression([...configArg.properties, ...extraProps], true)\n\n return f.createCallExpression(node.expression, node.typeArguments, [\n newConfig,\n ...node.arguments.slice(1),\n ])\n}\n\n/**\n * Analyze update() switch/case and generate per-message-type handlers.\n *\n * Each handler receives (inst, msg) and returns [newState, effects].\n * The handler calls update() to get the new state, then directly invokes\n * the appropriate runtime primitives (reconcileItems, __directUpdate, etc.)\n * instead of going through the generic Phase 1/2 pipeline.\n *\n * Conservative: only generates handlers for cases where the field\n * modifications are statically determinable. Complex cases are skipped.\n */\nfunction tryBuildHandlers(\n configArg: ts.ObjectLiteralExpression,\n topLevelBits: Map<string, number>,\n structuralMask: number,\n f: ts.NodeFactory,\n): ts.PropertyAssignment | null {\n if (topLevelBits.size === 0) return null\n\n // Find the update function in the component config\n let updateFn: ts.ArrowFunction | ts.FunctionExpression | null = null\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'update'\n ) {\n if (ts.isArrowFunction(prop.initializer) || ts.isFunctionExpression(prop.initializer)) {\n updateFn = prop.initializer\n }\n break\n }\n }\n if (!updateFn) return null\n\n // Find the switch statement in the update body\n const body = ts.isBlock(updateFn.body) ? updateFn.body : null\n if (!body) return null\n\n let switchStmt: ts.SwitchStatement | null = null\n for (const stmt of body.statements) {\n if (ts.isSwitchStatement(stmt)) {\n switchStmt = stmt\n break\n }\n }\n if (!switchStmt) return null\n\n // Check the switch discriminant is msg.type pattern\n const stateParam = updateFn.parameters[0]?.name\n const msgParam = updateFn.parameters[1]?.name\n if (!stateParam || !msgParam || !ts.isIdentifier(stateParam) || !ts.isIdentifier(msgParam))\n return null\n const stateName = stateParam.text\n const _msgName = msgParam.text\n\n // Analyze each case clause\n const handlers: ts.PropertyAssignment[] = []\n\n for (const clause of switchStmt.caseBlock.clauses) {\n if (!ts.isCaseClause(clause)) continue\n\n // Extract the case label — must be a string literal like 'select'\n if (!ts.isStringLiteral(clause.expression)) continue\n const msgType = clause.expression.text\n\n // Collect ALL return [newState, effects] statements recursively from the\n // case body. Multiple returns (from if/else branches) must all be analyzed\n // so the handler's dirty mask covers every possible modified field.\n const returnExprs: ts.ArrayLiteralExpression[] = []\n const collectReturns = (node: ts.Node): void => {\n if (\n ts.isReturnStatement(node) &&\n node.expression &&\n ts.isArrayLiteralExpression(node.expression) &&\n node.expression.elements.length >= 2\n ) {\n returnExprs.push(node.expression)\n return\n }\n // Don't descend into nested functions — their returns are unrelated.\n if (\n ts.isFunctionDeclaration(node) ||\n ts.isFunctionExpression(node) ||\n ts.isArrowFunction(node) ||\n ts.isMethodDeclaration(node)\n ) {\n return\n }\n ts.forEachChild(node, collectReturns)\n }\n for (const stmt of clause.statements) {\n collectReturns(stmt)\n }\n if (returnExprs.length === 0) continue\n\n // Union modified fields across all return paths.\n const allModified = new Set<string>()\n let bailOut = false\n for (const returnExpr of returnExprs) {\n const stateExpr = returnExpr.elements[0]!\n const fields = analyzeModifiedFields(stateExpr, stateName, topLevelBits)\n if (!fields) {\n bailOut = true\n break\n }\n for (const f of fields) allModified.add(f)\n }\n if (bailOut) continue // at least one return path was too complex\n\n const modifiedFields = Array.from(allModified)\n\n // Compute the dirty mask for this case\n let caseDirty = 0\n for (const field of modifiedFields) {\n caseDirty |= topLevelBits.get(field) ?? 0xffffffff | 0\n }\n\n // Detect array operation pattern for structural block optimization\n const arrayOp = detectArrayOp(clause, stateName, modifiedFields, structuralMask, caseDirty)\n\n const handler = buildCaseHandler(f, caseDirty, arrayOp)\n handlers.push(f.createPropertyAssignment(f.createStringLiteral(msgType), handler))\n }\n\n if (handlers.length === 0) return null\n\n return f.createPropertyAssignment('__handlers', f.createObjectLiteralExpression(handlers, true))\n}\n\ntype ArrayOp =\n | 'none'\n | 'clear'\n | 'mutate'\n | 'remove'\n | 'general'\n | { type: 'strided'; stride: number } // for (i = 0; i < len; i += stride) pattern\n\n/**\n * Detect the array operation pattern in a case body.\n * - 'none': no array field modified (e.g., only `selected` changes)\n * - 'clear': array set to empty literal `[]`\n * - 'mutate': array created via `.slice()` then mutated in place (same keys)\n * - 'general': unknown pattern, use generic reconcile\n */\nfunction detectArrayOp(\n clause: ts.CaseClause,\n stateName: string,\n modifiedFields: string[],\n structuralMask?: number,\n caseDirty?: number,\n): ArrayOp {\n // No fields modified or dirty bits don't intersect any structural block →\n // skip structural blocks entirely (e.g., only `selected` changes)\n if (modifiedFields.length === 0) return 'none'\n if (structuralMask !== undefined && caseDirty !== undefined && (structuralMask & caseDirty) === 0)\n return 'none'\n\n // Look at the return expression's array field values\n for (const stmt of clause.statements) {\n const returnExpr = findReturnArray(stmt)\n if (!returnExpr) continue\n\n const stateExpr = returnExpr.elements[0]\n if (!stateExpr || !ts.isObjectLiteralExpression(stateExpr)) continue\n\n for (const prop of stateExpr.properties) {\n const name =\n ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name)\n ? prop.name.text\n : ts.isShorthandPropertyAssignment(prop)\n ? prop.name.text\n : null\n if (!name) continue\n\n // Check for empty array literal: `field: []`\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isArrayLiteralExpression(prop.initializer) &&\n prop.initializer.elements.length === 0\n ) {\n return 'clear'\n }\n\n // Check for shorthand `field` where field was assigned via `.slice()` earlier\n // This catches: `const rows = state.rows.slice(); rows[i] = ...; return { ...state, rows }`\n if (ts.isShorthandPropertyAssignment(prop)) {\n const varName = prop.name.text\n if (hasSliceAssignment(clause, stateName, varName)) {\n // Check for strided for-loop: for (let i = 0; i < arr.length; i += STRIDE)\n const stride = detectStrideLoop(clause, varName)\n if (stride > 1) return { type: 'strided', stride }\n return 'mutate'\n }\n }\n\n // Check for property assignment with filter: `field: state.field.filter(...)`\n if (ts.isPropertyAssignment(prop) && ts.isCallExpression(prop.initializer)) {\n const call = prop.initializer\n if (\n ts.isPropertyAccessExpression(call.expression) &&\n call.expression.name.text === 'filter'\n ) {\n return 'remove'\n }\n }\n }\n }\n\n return 'general'\n}\n\nfunction findReturnArray(stmt: ts.Statement): ts.ArrayLiteralExpression | null {\n if (ts.isReturnStatement(stmt) && stmt.expression && ts.isArrayLiteralExpression(stmt.expression))\n return stmt.expression\n if (ts.isBlock(stmt)) {\n for (const inner of stmt.statements) {\n const result = findReturnArray(inner)\n if (result) return result\n }\n }\n return null\n}\n\n/**\n * Detect a strided for-loop: `for (let i = 0; i < arr.length; i += STRIDE)`\n * where `arr` is the named variable. Returns the stride or 0 if not found.\n */\nfunction detectStrideLoop(clause: ts.CaseClause, _arrName: string): number {\n function walk(node: ts.Node): number {\n if (ts.isForStatement(node) && node.incrementor) {\n // Check incrementor: i += STRIDE\n const inc = node.incrementor\n if (\n ts.isBinaryExpression(inc) &&\n inc.operatorToken.kind === ts.SyntaxKind.PlusEqualsToken &&\n ts.isNumericLiteral(inc.right)\n ) {\n const stride = parseInt(inc.right.text, 10)\n if (stride > 1) return stride\n }\n }\n return ts.forEachChild(node, walk) ?? 0\n }\n for (const stmt of clause.statements) {\n const result = walk(stmt)\n if (result > 0) return result\n }\n return 0\n}\n\nfunction hasSliceAssignment(clause: ts.CaseClause, stateName: string, varName: string): boolean {\n function walk(node: ts.Node): boolean {\n // Look for: const varName = stateName.field.slice()\n if (\n ts.isVariableDeclaration(node) &&\n ts.isIdentifier(node.name) &&\n node.name.text === varName &&\n node.initializer\n ) {\n const init = node.initializer\n if (\n ts.isCallExpression(init) &&\n ts.isPropertyAccessExpression(init.expression) &&\n init.expression.name.text === 'slice'\n ) {\n return true\n }\n }\n return ts.forEachChild(node, walk) ?? false\n }\n for (const stmt of clause.statements) {\n if (walk(stmt)) return true\n }\n return false\n}\n\n/**\n * Analyze which top-level state fields are modified in a return expression.\n * Returns the set of field names, or null if too complex to determine.\n */\nfunction analyzeModifiedFields(\n stateExpr: ts.Expression,\n stateName: string,\n topLevelBits: Map<string, number>,\n): string[] | null {\n // Pattern: { ...state, field1: ..., field2: ... } or { field1: ..., field2: ... }\n if (ts.isObjectLiteralExpression(stateExpr)) {\n const modified: string[] = []\n for (const prop of stateExpr.properties) {\n if (ts.isSpreadAssignment(prop)) {\n // { ...state } — the spread doesn't modify fields\n continue\n }\n if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name)) {\n const fieldName = prop.name.text\n if (topLevelBits.has(fieldName)) {\n modified.push(fieldName)\n }\n }\n // Handle shorthand: { ...state, rows } where rows is a local variable\n if (ts.isShorthandPropertyAssignment(prop)) {\n const fieldName = prop.name.text\n if (topLevelBits.has(fieldName)) {\n modified.push(fieldName)\n }\n }\n }\n return modified.length > 0 ? modified : null\n }\n\n // Pattern: state (no change — early return)\n if (ts.isIdentifier(stateExpr) && stateExpr.text === stateName) {\n return [] // no fields modified\n }\n\n return null // too complex\n}\n\n/**\n * Build a handler function for a specific message type case.\n *\n * Generated: (inst, msg) => {\n * const [s, e] = inst.def.update(inst.state, msg)\n * inst.state = s\n * const bl = inst.structuralBlocks, b = inst.allBindings, p = b.length\n * // Phase 1: gated by caseDirty\n * for (let i = 0; i < bl.length; i++) {\n * if (bl[i].mask & caseDirty) bl[i].reconcile(s, caseDirty)\n * }\n * // Phase 2\n * __runPhase2(s, caseDirty, b, p)\n * return [s, e]\n * }\n */\n/**\n * Build a handler that delegates to __handleMsg(inst, msg, dirty, method).\n * method: 0=reconcile, 1=reconcileItems, 2=reconcileClear, 3=reconcileRemove, -1=skip blocks\n */\nfunction buildCaseHandler(\n f: ts.NodeFactory,\n caseDirty: number,\n arrayOp: ArrayOp,\n): ts.ArrowFunction {\n const method =\n typeof arrayOp === 'object' && arrayOp.type === 'strided'\n ? 10 + arrayOp.stride // reconcileChanged with stride\n : arrayOp === 'none'\n ? -1\n : arrayOp === 'mutate'\n ? 1\n : arrayOp === 'clear'\n ? 2\n : arrayOp === 'remove'\n ? 3\n : 0 // general\n\n // (inst, msg) => __handleMsg(inst, msg, dirty, method)\n return f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(undefined, undefined, 'inst'),\n f.createParameterDeclaration(undefined, undefined, 'msg'),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createCallExpression(f.createIdentifier('__handleMsg'), undefined, [\n f.createIdentifier('inst'),\n f.createIdentifier('msg'),\n createMaskLiteral(f, caseDirty),\n method >= 0\n ? f.createNumericLiteral(method)\n : f.createPrefixUnaryExpression(ts.SyntaxKind.MinusToken, f.createNumericLiteral(1)),\n ]),\n )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction _deadCode_legacyCaseHandler(\n f: ts.NodeFactory,\n caseDirty: number,\n arrayOp: ArrayOp,\n): ts.ArrowFunction {\n const stmts: ts.Statement[] = []\n\n // const [s, e] = inst.def.update(inst.state, msg)\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n f.createArrayBindingPattern([\n f.createBindingElement(undefined, undefined, 's'),\n f.createBindingElement(undefined, undefined, 'e'),\n ]),\n undefined,\n undefined,\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(f.createIdentifier('inst'), 'def'),\n 'update',\n ),\n undefined,\n [\n f.createPropertyAccessExpression(f.createIdentifier('inst'), 'state'),\n f.createIdentifier('msg'),\n ],\n ),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // inst.state = s\n stmts.push(\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('inst'), 'state'),\n ts.SyntaxKind.EqualsToken,\n f.createIdentifier('s'),\n ),\n ),\n )\n\n // Phase 1 + Phase 2, specialized by array operation pattern\n if (caseDirty !== 0) {\n // Determine the reconcile method based on array operation\n const reconcileMethod =\n arrayOp === 'clear'\n ? 'reconcileClear'\n : arrayOp === 'mutate'\n ? 'reconcileItems'\n : arrayOp === 'remove'\n ? 'reconcileRemove'\n : 'reconcile'\n\n if (arrayOp === 'none') {\n // No structural changes — skip Phase 1, only run Phase 2\n // (e.g., select: only selector binding needs updating)\n } else {\n // Phase 1: call specialized reconciler on matching blocks\n // const bl = inst.structuralBlocks\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 'bl',\n undefined,\n undefined,\n f.createPropertyAccessExpression(f.createIdentifier('inst'), 'structuralBlocks'),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // for (let i = 0; i < bl.length; i++) { if (bl[i].mask & dirty) bl[i].METHOD(s, dirty) }\n const blockEl = f.createElementAccessExpression(\n f.createIdentifier('bl'),\n f.createIdentifier('i'),\n )\n const reconcileArgs =\n reconcileMethod === 'reconcileClear'\n ? []\n : [\n f.createIdentifier('s'),\n ...(reconcileMethod === 'reconcile' ? [createMaskLiteral(f, caseDirty)] : []),\n ]\n\n stmts.push(\n f.createForStatement(\n f.createVariableDeclarationList(\n [f.createVariableDeclaration('i', undefined, undefined, f.createNumericLiteral(0))],\n ts.NodeFlags.Let,\n ),\n f.createBinaryExpression(\n f.createIdentifier('i'),\n ts.SyntaxKind.LessThanToken,\n f.createPropertyAccessExpression(f.createIdentifier('bl'), 'length'),\n ),\n f.createPostfixUnaryExpression(f.createIdentifier('i'), ts.SyntaxKind.PlusPlusToken),\n f.createBlock(\n [\n f.createIfStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(blockEl, 'mask'),\n ts.SyntaxKind.AmpersandToken,\n createMaskLiteral(f, caseDirty),\n ),\n f.createExpressionStatement(\n f.createCallExpression(\n // Use specialized method if available, fall back to reconcile\n // bl[i].reconcileItems?.(s) ?? bl[i].reconcile(s, dirty)\n // Simplified: just call the method — it exists on each() blocks\n f.createPropertyAccessExpression(blockEl, reconcileMethod),\n undefined,\n reconcileArgs as ts.Expression[],\n ),\n ),\n ),\n ],\n true,\n ),\n ),\n )\n }\n\n // Phase 2: compact + update bindings\n // const b = inst.allBindings, p = b.length\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 'b',\n undefined,\n undefined,\n f.createPropertyAccessExpression(f.createIdentifier('inst'), 'allBindings'),\n ),\n f.createVariableDeclaration(\n 'p',\n undefined,\n undefined,\n f.createPropertyAccessExpression(f.createIdentifier('b'), 'length'),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // __runPhase2(s, caseDirty, b, p)\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(f.createIdentifier('__runPhase2'), undefined, [\n f.createIdentifier('s'),\n createMaskLiteral(f, caseDirty),\n f.createIdentifier('b'),\n f.createIdentifier('p'),\n ]),\n ),\n )\n }\n\n // return [s, e]\n stmts.push(\n f.createReturnStatement(\n f.createArrayLiteralExpression([f.createIdentifier('s'), f.createIdentifier('e')]),\n ),\n )\n\n return f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(undefined, undefined, 'inst'),\n f.createParameterDeclaration(undefined, undefined, 'msg'),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(stmts, true),\n )\n}\n\n// ── Row Factory ─────────────────────────────────────────────────\n\n/**\n * Transform an eligible each() render to use a row factory — shared update\n * function with zero per-row closures for bindings.\n *\n * Runs AFTER the element transform pass has converted tr/td/text() calls\n * into elTemplate() calls, so we can analyze the template structure.\n */\nfunction tryEmitRowFactory(\n eachCall: ts.CallExpression,\n f: ts.NodeFactory,\n _originalSource: string,\n): ts.CallExpression | null {\n const arg = eachCall.arguments[0]\n if (!arg || !ts.isObjectLiteralExpression(arg)) return null\n\n // Find render property\n let renderProp: ts.PropertyAssignment | null = null\n for (const prop of arg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'render'\n ) {\n renderProp = prop\n break\n }\n }\n if (!renderProp) return null\n\n const renderFn = renderProp.initializer\n if (!ts.isArrowFunction(renderFn) && !ts.isFunctionExpression(renderFn)) return null\n const body = ts.isBlock(renderFn.body) ? renderFn.body : null\n if (!body) return null\n\n // Find the elTemplate call in the transformed render body\n let templateCall: ts.CallExpression | null = null\n let templateVarName: string | null = null\n\n for (const stmt of body.statements) {\n if (ts.isVariableStatement(stmt)) {\n for (const decl of stmt.declarationList.declarations) {\n if (\n ts.isIdentifier(decl.name) &&\n decl.initializer &&\n ts.isCallExpression(decl.initializer)\n ) {\n if (\n ts.isIdentifier(decl.initializer.expression) &&\n decl.initializer.expression.text === 'elTemplate'\n ) {\n if (templateCall) return null // multiple templates — bail\n templateCall = decl.initializer\n templateVarName = decl.name.text\n }\n }\n }\n }\n // Check for nested structural primitives — bail\n if (containsStructuralCall(stmt)) return null\n // Bail on selector.bind() — row factory + selector causes V8 deopt\n // even without per-row disposers (selector fn declarations per render)\n if (_containsSelectorBind(stmt)) return null\n }\n\n if (!templateCall || templateCall.arguments.length < 2) return null\n\n // Extract HTML string\n const htmlArg = templateCall.arguments[0]\n if (!htmlArg || !ts.isStringLiteral(htmlArg)) return null\n const html = htmlArg.text\n\n // Extract patch function\n const patchFn = templateCall.arguments[1]\n if (!patchFn || (!ts.isArrowFunction(patchFn) && !ts.isFunctionExpression(patchFn))) return null\n const patchBody = ts.isBlock(patchFn.body) ? patchFn.body : null\n if (!patchBody) return null\n\n const rootParam = patchFn.parameters[0]\n const bindParam = patchFn.parameters[1]\n if (!rootParam || !bindParam) return null\n const rootName = ts.isIdentifier(rootParam.name) ? rootParam.name.text : null\n const bindName = ts.isIdentifier(bindParam.name) ? bindParam.name.text : null\n if (!rootName || !bindName) return null\n\n // Extract bindings from patch function\n interface RowBinding {\n nodeInitializer: ts.Expression // the node path expression (e.g., root.firstChild)\n kind: string\n key: string | undefined\n accessor: ts.Expression\n }\n const bindings: RowBinding[] = []\n const nodeVarInitializers = new Map<string, ts.Expression>()\n\n for (const stmt of patchBody.statements) {\n if (ts.isVariableStatement(stmt)) {\n for (const decl of stmt.declarationList.declarations) {\n if (ts.isIdentifier(decl.name) && decl.initializer) {\n nodeVarInitializers.set(decl.name.text, decl.initializer)\n }\n }\n }\n\n if (ts.isExpressionStatement(stmt) && ts.isCallExpression(stmt.expression)) {\n const call = stmt.expression\n if (\n ts.isIdentifier(call.expression) &&\n call.expression.text === bindName &&\n call.arguments.length >= 5\n ) {\n const nodeArg = call.arguments[0]!\n const maskArg = call.arguments[1]!\n const kindArg = call.arguments[2]!\n const keyArg = call.arguments[3]!\n const accessorArg = call.arguments[4]!\n\n // Must be per-item (mask -1)\n if (ts.isPrefixUnaryExpression(maskArg) && maskArg.operator === ts.SyntaxKind.MinusToken) {\n // -1 → per-item ✓\n } else if (ts.isBinaryExpression(maskArg)) {\n // -1 | 0 or 4294967295 | 0 → per-item ✓\n } else {\n return null // state-level binding — bail\n }\n\n const kind = ts.isStringLiteral(kindArg) ? kindArg.text : ''\n const key = ts.isStringLiteral(keyArg) ? keyArg.text : undefined\n\n // Resolve node path — recursively expand variable references to get\n // the full path from root, then create fresh factory nodes\n function resolveNodePath(expr: ts.Expression): ts.Expression {\n if (ts.isIdentifier(expr)) {\n if (expr.text === rootName) return f.createIdentifier(rootName)\n const init = nodeVarInitializers.get(expr.text)\n if (init) return resolveNodePath(init)\n return f.createIdentifier(expr.text)\n }\n if (ts.isPropertyAccessExpression(expr)) {\n return f.createPropertyAccessExpression(\n resolveNodePath(expr.expression),\n expr.name.text,\n )\n }\n if (ts.isElementAccessExpression(expr)) {\n return f.createElementAccessExpression(\n resolveNodePath(expr.expression),\n expr.argumentExpression,\n )\n }\n return expr\n }\n const nodeInit = resolveNodePath(nodeArg)\n\n // Clone accessor to strip source position — prevents mixed-position errors\n const clonedAccessor = ts.isIdentifier(accessorArg)\n ? f.createIdentifier(accessorArg.text)\n : accessorArg\n bindings.push({ nodeInitializer: nodeInit, kind, key, accessor: clonedAccessor })\n }\n }\n }\n\n if (bindings.length === 0) return null\n\n // Build map of __a{N} → __s{N} for rewriting accessor references.\n // After dedup, `__a{N} = acc(__s{N})`. In the row factory, __a{N} declarations\n // are eliminated, so all references must be rewritten to __s{N}.\n const accToSelector = new Map<string, string>()\n for (const stmt of body.statements) {\n if (!ts.isVariableStatement(stmt)) continue\n for (const decl of stmt.declarationList.declarations) {\n if (!ts.isIdentifier(decl.name) || !decl.name.text.startsWith('__a')) continue\n if (!decl.initializer || !ts.isCallExpression(decl.initializer)) continue\n const callArg0 = decl.initializer.arguments[0]\n if (callArg0 && ts.isIdentifier(callArg0) && callArg0.text.startsWith('__s')) {\n accToSelector.set(decl.name.text, callArg0.text)\n }\n }\n }\n\n // Rewrite binding accessors: __a{N} → __s{N}\n for (const b of bindings) {\n if (ts.isIdentifier(b.accessor) && accToSelector.has(b.accessor.text)) {\n b.accessor = f.createIdentifier(accToSelector.get(b.accessor.text)!)\n }\n }\n\n // Collect __s{N} selector definitions — needed by __rowUpd and render init.\n // These are currently scoped to the render body; we'll hoist them into the\n // __rowUpd IIFE so they're accessible.\n const selectorDefs = new Map<string, ts.Expression>()\n for (const stmt of body.statements) {\n if (!ts.isVariableStatement(stmt)) continue\n for (const decl of stmt.declarationList.declarations) {\n if (ts.isIdentifier(decl.name) && decl.name.text.startsWith('__s') && decl.initializer) {\n selectorDefs.set(decl.name.text, decl.initializer)\n }\n }\n }\n\n // === Generate the row factory ===\n\n // 1. __tpl: IIFE that creates + caches the template element\n const tplInit = f.createCallExpression(\n f.createParenthesizedExpression(\n f.createArrowFunction(\n undefined,\n undefined,\n [],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(\n [\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 't',\n undefined,\n undefined,\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createIdentifier('document'),\n 'createElement',\n ),\n undefined,\n [f.createStringLiteral('template')],\n ),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('t'), 'innerHTML'),\n ts.SyntaxKind.EqualsToken,\n f.createStringLiteral(html),\n ),\n ),\n f.createReturnStatement(f.createIdentifier('t')),\n ],\n true,\n ),\n ),\n ),\n undefined,\n [],\n )\n\n // 2. __rowUpd: (e) => { const t = e.current; for each binding: check + write }\n const updStmts: ts.Statement[] = []\n updStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 't',\n undefined,\n undefined,\n f.createPropertyAccessExpression(f.createIdentifier('e'), 'current'),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n for (let i = 0; i < bindings.length; i++) {\n const b = bindings[i]!\n const vId = f.createIdentifier(`v${i}`)\n const cachedProp = f.createElementAccessExpression(\n f.createIdentifier('e'),\n f.createStringLiteral(`_v${i}`),\n )\n const nodeProp = f.createElementAccessExpression(\n f.createIdentifier('e'),\n f.createStringLiteral(`_n${i}`),\n )\n\n // const v{i} = accessor(t)\n updStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n vId,\n undefined,\n undefined,\n f.createCallExpression(b.accessor, undefined, [f.createIdentifier('t')]),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // DOM write expression\n const domWrite =\n b.kind === 'text'\n ? f.createBinaryExpression(\n f.createPropertyAccessExpression(nodeProp, 'nodeValue'),\n ts.SyntaxKind.EqualsToken,\n vId,\n )\n : b.kind === 'class'\n ? f.createBinaryExpression(\n f.createPropertyAccessExpression(nodeProp, 'className'),\n ts.SyntaxKind.EqualsToken,\n vId,\n )\n : f.createBinaryExpression(\n f.createPropertyAccessExpression(nodeProp, 'nodeValue'),\n ts.SyntaxKind.EqualsToken,\n vId,\n )\n\n // if (v{i} !== e['_v{i}']) { e['_v{i}'] = v{i}; DOM_WRITE }\n updStmts.push(\n f.createIfStatement(\n f.createBinaryExpression(vId, ts.SyntaxKind.ExclamationEqualsEqualsToken, cachedProp),\n f.createBlock(\n [\n f.createExpressionStatement(\n f.createBinaryExpression(cachedProp, ts.SyntaxKind.EqualsToken, vId),\n ),\n f.createExpressionStatement(domWrite),\n ],\n true,\n ),\n ),\n )\n }\n\n // Wrap __rowUpd in IIFE that declares selectors (they're scoped to the\n // render body but __rowUpd lives on the options object outside render).\n const rawUpdFn = f.createArrowFunction(\n undefined,\n undefined,\n [f.createParameterDeclaration(undefined, undefined, 'e')],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(updStmts, true),\n )\n\n // Build: (() => { const __s0 = ...; const __s1 = ...; return (e) => { ... } })()\n const selectorDecls: ts.Statement[] = []\n for (const [name, init] of selectorDefs) {\n selectorDecls.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(name, undefined, undefined, init)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n }\n selectorDecls.push(f.createReturnStatement(rawUpdFn))\n\n const rowUpdFn = f.createCallExpression(\n f.createParenthesizedExpression(\n f.createArrowFunction(\n undefined,\n undefined,\n [],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(selectorDecls, true),\n ),\n ),\n undefined,\n [],\n )\n\n // 3. New render callback: ({ entry: e, __tpl, __rowUpd }) => { ... }\n const renderStmts: ts.Statement[] = []\n\n // Declare selectors at the top of render body (they're used for initial values)\n for (const [name, init] of selectorDefs) {\n renderStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(name, undefined, undefined, init)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n }\n\n // const r = __tpl.content.firstElementChild.cloneNode(true)\n renderStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 'r',\n undefined,\n undefined,\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(f.createIdentifier('__tpl'), 'content'),\n 'firstElementChild',\n ),\n 'cloneNode',\n ),\n undefined,\n [f.createTrue()],\n ),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // For each binding: store node ref, compute initial, apply\n for (let i = 0; i < bindings.length; i++) {\n const b = bindings[i]!\n const nProp = f.createElementAccessExpression(\n f.createIdentifier('e'),\n f.createStringLiteral(`_n${i}`),\n )\n const vProp = f.createElementAccessExpression(\n f.createIdentifier('e'),\n f.createStringLiteral(`_v${i}`),\n )\n\n // Rewrite node path: replace root param name with 'r'\n const rewrittenPath = rewriteRoot(b.nodeInitializer, rootName, 'r', f)\n\n // e['_n{i}'] = rewrittenPath\n renderStmts.push(\n f.createExpressionStatement(\n f.createBinaryExpression(nProp, ts.SyntaxKind.EqualsToken, rewrittenPath),\n ),\n )\n\n // e['_v{i}'] = accessor(e.current)\n renderStmts.push(\n f.createExpressionStatement(\n f.createBinaryExpression(\n vProp,\n ts.SyntaxKind.EqualsToken,\n f.createCallExpression(b.accessor, undefined, [\n f.createPropertyAccessExpression(f.createIdentifier('e'), 'current'),\n ]),\n ),\n ),\n )\n\n // DOM write: e['_n{i}'].nodeValue = e['_v{i}']\n const initWrite =\n b.kind === 'text'\n ? f.createBinaryExpression(\n f.createPropertyAccessExpression(nProp, 'nodeValue'),\n ts.SyntaxKind.EqualsToken,\n vProp,\n )\n : b.kind === 'class'\n ? f.createBinaryExpression(\n f.createPropertyAccessExpression(nProp, 'className'),\n ts.SyntaxKind.EqualsToken,\n vProp,\n )\n : f.createBinaryExpression(\n f.createPropertyAccessExpression(nProp, 'nodeValue'),\n ts.SyntaxKind.EqualsToken,\n vProp,\n )\n renderStmts.push(f.createExpressionStatement(initWrite))\n }\n\n // e.__rowUpdate = __rowUpd\n renderStmts.push(\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('e'), '__rowUpdate'),\n ts.SyntaxKind.EqualsToken,\n f.createIdentifier('__rowUpd'),\n ),\n ),\n )\n\n // Rewrite a statement: replace __a{N}() → __s{N}(e.current),\n // replace template var → r, strip positions via deep clone.\n function rewriteStmt(stmt: ts.Statement): ts.Statement {\n function visit(node: ts.Node): ts.Node {\n // Rewrite __a{N}() → __s{N}(e.current)\n if (\n ts.isCallExpression(node) &&\n ts.isIdentifier(node.expression) &&\n accToSelector.has(node.expression.text) &&\n node.arguments.length === 0\n ) {\n const selectorName = accToSelector.get(node.expression.text)!\n return f.createCallExpression(f.createIdentifier(selectorName), undefined, [\n f.createPropertyAccessExpression(f.createIdentifier('e'), 'current'),\n ])\n }\n // Rewrite template variable → r\n if (ts.isIdentifier(node) && templateVarName && node.text === templateVarName) {\n return f.createIdentifier('r')\n }\n // Clone identifiers to strip positions\n if (ts.isIdentifier(node)) {\n return f.createIdentifier(node.text)\n }\n return ts.visitEachChild(node, visit, undefined!)\n }\n return ts.visitEachChild(stmt, visit, undefined!) as ts.Statement\n }\n\n // Preserve non-template, non-compiler-generated, non-return statements.\n for (const stmt of body.statements) {\n if (ts.isReturnStatement(stmt)) continue\n\n if (ts.isVariableStatement(stmt)) {\n // Skip template declaration\n const isTemplate = stmt.declarationList.declarations.some(\n (d) => ts.isIdentifier(d.name) && d.name.text === templateVarName,\n )\n if (isTemplate) continue\n // Skip __a{N} and __s{N} declarations (compiler-generated acc/selector)\n const isCompilerOnly = stmt.declarationList.declarations.every(\n (d) =>\n ts.isIdentifier(d.name) &&\n (d.name.text.startsWith('__a') || d.name.text.startsWith('__s')),\n )\n if (isCompilerOnly) continue\n }\n\n // Rewrite and include\n renderStmts.push(rewriteStmt(stmt))\n }\n\n // return [r]\n renderStmts.push(\n f.createReturnStatement(f.createArrayLiteralExpression([f.createIdentifier('r')])),\n )\n\n const newRenderFn = f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(\n undefined,\n undefined,\n f.createObjectBindingPattern([\n f.createBindingElement(undefined, 'entry', 'e'),\n f.createBindingElement(undefined, undefined, '__tpl'),\n f.createBindingElement(undefined, undefined, '__rowUpd'),\n ]),\n ),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(renderStmts, true),\n )\n\n // 4. Build new each options. To avoid mixed-position AST issues, we keep\n // original properties unchanged and only ADD __tpl, __rowUpd, and replace render.\n // The trick: return the original node structure but with the render property\n // swapped. Use ts.factory.updateObjectLiteralExpression which preserves positions.\n const updatedProps = arg.properties.map(\n (p): ts.ObjectLiteralElementLike =>\n p === renderProp ? f.createPropertyAssignment('render', newRenderFn) : p,\n )\n updatedProps.push(f.createPropertyAssignment('__tpl', tplInit))\n updatedProps.push(f.createPropertyAssignment('__rowUpd', rowUpdFn))\n\n const newOpts = f.updateObjectLiteralExpression(arg, updatedProps)\n\n return f.updateCallExpression(eachCall, eachCall.expression, eachCall.typeArguments, [\n newOpts,\n ...eachCall.arguments.slice(1),\n ])\n}\n\nfunction _containsSelectorBind(node: ts.Node): boolean {\n if (\n ts.isCallExpression(node) &&\n ts.isPropertyAccessExpression(node.expression) &&\n node.expression.name.text === 'bind'\n ) {\n return true\n }\n return ts.forEachChild(node, _containsSelectorBind) ?? false\n}\n\nfunction containsStructuralCall(node: ts.Node): boolean {\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n if (['each', 'branch', 'show', 'child', 'foreign'].includes(node.expression.text)) return true\n }\n return ts.forEachChild(node, containsStructuralCall) ?? false\n}\n\n/** Rewrite property access chains replacing oldRoot identifier with newRoot */\nfunction rewriteRoot(\n expr: ts.Expression,\n oldRoot: string,\n newRoot: string,\n f: ts.NodeFactory,\n): ts.Expression {\n if (ts.isIdentifier(expr) && expr.text === oldRoot) return f.createIdentifier(newRoot)\n if (ts.isPropertyAccessExpression(expr)) {\n return f.createPropertyAccessExpression(\n rewriteRoot(expr.expression, oldRoot, newRoot, f),\n expr.name.text,\n )\n }\n if (ts.isElementAccessExpression(expr)) {\n return f.createElementAccessExpression(\n rewriteRoot(expr.expression, oldRoot, newRoot, f),\n expr.argumentExpression,\n )\n }\n return expr\n}\n\n/** Parse a statement string into a fresh AST node (no source positions) */\nfunction _parseStmt(code: string): ts.Statement | null {\n const sf = ts.createSourceFile('__gen.ts', code, ts.ScriptTarget.Latest, false)\n return (sf.statements[0] as ts.Statement | undefined) ?? null\n}\n\n/**\n * Compute the OR of all structural block masks found in the view function.\n * Returns FULL_MASK if any structural block uses FULL_MASK or if no blocks found.\n */\nfunction computeStructuralMask(\n configArg: ts.ObjectLiteralExpression,\n fieldBits: Map<string, number>,\n): number {\n const viewProp = configArg.properties.find(\n (p) => ts.isPropertyAssignment(p) && ts.isIdentifier(p.name) && p.name.text === 'view',\n )\n if (!viewProp || !ts.isPropertyAssignment(viewProp)) return 0xffffffff | 0\n\n let mask = 0\n let foundStructural = false\n\n function walk(node: ts.Node): void {\n if (ts.isCallExpression(node)) {\n const name = ts.isIdentifier(node.expression) ? node.expression.text : ''\n if (['each', 'branch', 'show'].includes(name) && node.arguments[0]) {\n foundStructural = true\n const opts = node.arguments[0]\n if (ts.isObjectLiteralExpression(opts)) {\n // Check for __mask property (already injected by tryInjectStructuralMask)\n for (const prop of opts.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__mask'\n ) {\n if (ts.isNumericLiteral(prop.initializer)) {\n mask |= parseInt(prop.initializer.text, 10)\n return\n }\n if (ts.isPrefixUnaryExpression(prop.initializer)) {\n // Handle negative literals like -1\n mask = 0xffffffff | 0\n return\n }\n }\n }\n // No __mask found — use driving accessor mask\n const driverProp = name === 'each' ? 'items' : name === 'branch' ? 'on' : 'when'\n for (const prop of opts.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === driverProp\n ) {\n if (\n ts.isArrowFunction(prop.initializer) ||\n ts.isFunctionExpression(prop.initializer)\n ) {\n const { mask: m } = computeAccessorMask(prop.initializer, fieldBits)\n mask |= m || 0xffffffff | 0\n }\n break\n }\n }\n }\n }\n }\n ts.forEachChild(node, walk)\n }\n\n walk(viewProp.initializer)\n return foundStructural ? mask || 0xffffffff | 0 : 0\n}\n\n/**\n * Compute the OR of all component-level binding masks from text() calls\n * and element bindings in the view. Returns 0 if no component-level bindings.\n */\nfunction computePhase2Mask(\n _configArg: ts.ObjectLiteralExpression,\n _fieldBits: Map<string, number>,\n): number {\n // For now, return FULL_MASK — a future pass can analyze all binding sites\n // in the view to compute the precise aggregate. The key optimization is\n // already in Phase 1 gating: when structuralMask doesn't intersect dirty,\n // the entire reconciliation is skipped.\n return 0xffffffff | 0\n}\n\n/**\n * Build the __update function body:\n * {\n * // Phase 1 — structural reconciliation (gated by structuralMask)\n * if (d & structuralMask) {\n * for (let i = 0; i < bl.length; i++) {\n * const bk = bl[i]\n * if (!bk || (bk.mask & d) === 0) continue\n * bk.reconcile(s, d)\n * }\n * // Compact dead bindings\n * if (b.length > p || (p > 0 && b[0].dead)) {\n * let w = 0\n * for (let r = 0; r < b.length; r++) { if (!b[r].dead) b[w++] = b[r] }\n * b.length = w\n * p = Math.min(w, p)\n * }\n * }\n * // Phase 2 — binding updates\n * if (d !== 0) {\n * for (let i = 0; i < p; i++) {\n * const bn = b[i]\n * if (bn.dead || (bn.mask & d) === 0) continue\n * const v = bn.accessor(s)\n * const l = bn.lastValue\n * if (v === l || (v !== v && l !== l)) continue\n * bn.lastValue = v\n * __runPhase2(s, d, b, p)\n * }\n * }\n * }\n */\nfunction buildUpdateBody(f: ts.NodeFactory, structuralMask: number, _phase2Mask: number): ts.Block {\n const stmts: ts.Statement[] = []\n\n // Phase 1: structural block reconciliation, gated by aggregate mask\n if (structuralMask !== 0) {\n const phase1Stmts: ts.Statement[] = []\n\n // for (let i = 0; i < bl.length; i++) {\n // const bk = bl[i];\n // if (!bk || (bk.mask & d) === 0) continue;\n // bk.reconcile(s, d)\n // }\n // Re-read bl.length each iteration and null-check bk — a branch's\n // reconcile may dispose the old scope, whose disposers splice child\n // structural blocks out of this shared array mid-iteration.\n const blockLoop = f.createForStatement(\n f.createVariableDeclarationList(\n [f.createVariableDeclaration('i', undefined, undefined, f.createNumericLiteral(0))],\n ts.NodeFlags.Let,\n ),\n f.createBinaryExpression(\n f.createIdentifier('i'),\n ts.SyntaxKind.LessThanToken,\n f.createPropertyAccessExpression(f.createIdentifier('bl'), 'length'),\n ),\n f.createPostfixUnaryExpression(f.createIdentifier('i'), ts.SyntaxKind.PlusPlusToken),\n f.createBlock(\n [\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n 'bk',\n undefined,\n undefined,\n f.createElementAccessExpression(\n f.createIdentifier('bl'),\n f.createIdentifier('i'),\n ),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n f.createIfStatement(\n f.createBinaryExpression(\n f.createPrefixUnaryExpression(\n ts.SyntaxKind.ExclamationToken,\n f.createIdentifier('bk'),\n ),\n ts.SyntaxKind.BarBarToken,\n f.createBinaryExpression(\n f.createParenthesizedExpression(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('bk'), 'mask'),\n ts.SyntaxKind.AmpersandToken,\n f.createIdentifier('d'),\n ),\n ),\n ts.SyntaxKind.EqualsEqualsEqualsToken,\n f.createNumericLiteral(0),\n ),\n ),\n f.createContinueStatement(),\n ),\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('bk'), 'reconcile'),\n undefined,\n [f.createIdentifier('s'), f.createIdentifier('d')],\n ),\n ),\n ],\n true,\n ),\n )\n phase1Stmts.push(blockLoop)\n\n // Compaction: if (b.length > p || (p > 0 && b[0].dead)) { ... }\n const compactBody = f.createBlock(\n [\n // let w = 0\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration('w', undefined, undefined, f.createNumericLiteral(0))],\n ts.NodeFlags.Let,\n ),\n ),\n // for (let r = 0; r < b.length; r++) { if (!b[r].dead) b[w++] = b[r] }\n f.createForStatement(\n f.createVariableDeclarationList(\n [f.createVariableDeclaration('r', undefined, undefined, f.createNumericLiteral(0))],\n ts.NodeFlags.Let,\n ),\n f.createBinaryExpression(\n f.createIdentifier('r'),\n ts.SyntaxKind.LessThanToken,\n f.createPropertyAccessExpression(f.createIdentifier('b'), 'length'),\n ),\n f.createPostfixUnaryExpression(f.createIdentifier('r'), ts.SyntaxKind.PlusPlusToken),\n f.createBlock(\n [\n f.createIfStatement(\n f.createPrefixUnaryExpression(\n ts.SyntaxKind.ExclamationToken,\n f.createPropertyAccessExpression(\n f.createElementAccessExpression(\n f.createIdentifier('b'),\n f.createIdentifier('r'),\n ),\n 'dead',\n ),\n ),\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createElementAccessExpression(\n f.createIdentifier('b'),\n f.createPostfixUnaryExpression(\n f.createIdentifier('w'),\n ts.SyntaxKind.PlusPlusToken,\n ),\n ),\n ts.SyntaxKind.EqualsToken,\n f.createElementAccessExpression(\n f.createIdentifier('b'),\n f.createIdentifier('r'),\n ),\n ),\n ),\n ),\n ],\n true,\n ),\n ),\n // b.length = w\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('b'), 'length'),\n ts.SyntaxKind.EqualsToken,\n f.createIdentifier('w'),\n ),\n ),\n // p = Math.min(w, p)\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createIdentifier('p'),\n ts.SyntaxKind.EqualsToken,\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('Math'), 'min'),\n undefined,\n [f.createIdentifier('w'), f.createIdentifier('p')],\n ),\n ),\n ),\n ],\n true,\n )\n\n const compactCondition = f.createBinaryExpression(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier('b'), 'length'),\n ts.SyntaxKind.GreaterThanToken,\n f.createIdentifier('p'),\n ),\n ts.SyntaxKind.BarBarToken,\n f.createParenthesizedExpression(\n f.createBinaryExpression(\n f.createBinaryExpression(\n f.createIdentifier('p'),\n ts.SyntaxKind.GreaterThanToken,\n f.createNumericLiteral(0),\n ),\n ts.SyntaxKind.AmpersandAmpersandToken,\n f.createPropertyAccessExpression(\n f.createElementAccessExpression(f.createIdentifier('b'), f.createNumericLiteral(0)),\n 'dead',\n ),\n ),\n ),\n )\n phase1Stmts.push(f.createIfStatement(compactCondition, compactBody))\n\n // Wrap Phase 1 in mask gate\n if (structuralMask !== (0xffffffff | 0)) {\n stmts.push(\n f.createIfStatement(\n f.createBinaryExpression(\n f.createParenthesizedExpression(\n f.createBinaryExpression(\n f.createIdentifier('d'),\n ts.SyntaxKind.AmpersandToken,\n createMaskLiteral(f, structuralMask),\n ),\n ),\n ts.SyntaxKind.ExclamationEqualsEqualsToken,\n f.createNumericLiteral(0),\n ),\n f.createBlock(phase1Stmts, true),\n ),\n )\n } else {\n stmts.push(...phase1Stmts)\n }\n }\n\n // Phase 2: delegate to shared runtime — __runPhase2(s, d, b, p)\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(f.createIdentifier('__runPhase2'), undefined, [\n f.createIdentifier('s'),\n f.createIdentifier('d'),\n f.createIdentifier('b'),\n f.createIdentifier('p'),\n ]),\n ),\n )\n\n return f.createBlock(stmts, true)\n}\n\nfunction buildAccess(f: ts.NodeFactory, root: string, parts: string[]): ts.Expression {\n let expr: ts.Expression = f.createIdentifier(root)\n for (const part of parts) {\n // Use optional chaining for nested paths\n if (parts.length > 1) {\n expr = f.createPropertyAccessChain(expr, f.createToken(ts.SyntaxKind.QuestionDotToken), part)\n } else {\n expr = f.createPropertyAccessExpression(expr, part)\n }\n }\n return expr\n}\n\n// ── Pass 3: Import cleanup ───────────────────────────────────────\n\nfunction cleanupImports(\n sf: ts.SourceFile,\n lluiImport: ts.ImportDeclaration,\n _helpers: Map<string, string>,\n compiled: Set<string>,\n usesElSplit: boolean,\n usesElTemplate: boolean,\n usesMemo: boolean,\n usesApplyBinding: boolean,\n f: ts.NodeFactory,\n): ts.SourceFile {\n if (compiled.size === 0 && !usesElTemplate && !usesElSplit && !usesMemo && !usesApplyBinding)\n return sf\n\n const clause = lluiImport.importClause\n if (!clause?.namedBindings || !ts.isNamedImports(clause.namedBindings)) return sf\n\n const remaining = clause.namedBindings.elements.filter((spec) => !compiled.has(spec.name.text))\n\n const hasElSplit = clause.namedBindings.elements.some((s) => s.name.text === 'elSplit')\n if (!hasElSplit && usesElSplit) {\n remaining.push(f.createImportSpecifier(false, undefined, f.createIdentifier('elSplit')))\n }\n\n const hasElTemplate = clause.namedBindings.elements.some((s) => s.name.text === 'elTemplate')\n if (!hasElTemplate && usesElTemplate) {\n remaining.push(f.createImportSpecifier(false, undefined, f.createIdentifier('elTemplate')))\n }\n\n const hasMemo = clause.namedBindings.elements.some((s) => s.name.text === 'memo')\n if (!hasMemo && usesMemo) {\n remaining.push(f.createImportSpecifier(false, undefined, f.createIdentifier('memo')))\n }\n\n if (usesApplyBinding) {\n if (!clause.namedBindings.elements.some((s) => s.name.text === '__runPhase2')) {\n remaining.push(f.createImportSpecifier(false, undefined, f.createIdentifier('__runPhase2')))\n }\n if (!clause.namedBindings.elements.some((s) => s.name.text === '__handleMsg')) {\n remaining.push(f.createImportSpecifier(false, undefined, f.createIdentifier('__handleMsg')))\n }\n }\n\n const newBindings = f.createNamedImports(remaining)\n const newClause = f.createImportClause(false, undefined, newBindings)\n const newImportDecl = f.createImportDeclaration(undefined, newClause, lluiImport.moduleSpecifier)\n\n let replaced = false\n const statements = sf.statements.map((stmt) => {\n if (\n !replaced &&\n ts.isImportDeclaration(stmt) &&\n ts.isStringLiteral(stmt.moduleSpecifier) &&\n stmt.moduleSpecifier.text === '@llui/dom' &&\n !stmt.importClause?.isTypeOnly\n ) {\n replaced = true\n return newImportDecl\n }\n return stmt\n })\n\n return f.updateSourceFile(sf, statements as unknown as ts.Statement[])\n}\n\n// ── __msgSchema injection ────────────────────────────────────────\n\nfunction injectStateSchema(\n node: ts.CallExpression,\n fields: Record<string, StateType>,\n f: ts.NodeFactory,\n): ts.CallExpression {\n const configArg = node.arguments[0]\n if (!configArg || !ts.isObjectLiteralExpression(configArg)) return node\n\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__stateSchema'\n ) {\n return node\n }\n }\n\n const schemaProp = f.createPropertyAssignment(\n '__stateSchema',\n stateTypeToLiteral({ kind: 'object', fields }, f),\n )\n const newConfig = f.createObjectLiteralExpression([...configArg.properties, schemaProp], true)\n\n return f.createCallExpression(node.expression, node.typeArguments, [\n newConfig,\n ...node.arguments.slice(1),\n ])\n}\n\nfunction stateTypeToLiteral(t: StateType, f: ts.NodeFactory): ts.Expression {\n if (typeof t === 'string') return f.createStringLiteral(t)\n if (t.kind === 'enum') {\n return f.createObjectLiteralExpression([\n f.createPropertyAssignment('kind', f.createStringLiteral('enum')),\n f.createPropertyAssignment(\n 'values',\n f.createArrayLiteralExpression(t.values.map((v) => f.createStringLiteral(v))),\n ),\n ])\n }\n if (t.kind === 'array') {\n return f.createObjectLiteralExpression([\n f.createPropertyAssignment('kind', f.createStringLiteral('array')),\n f.createPropertyAssignment('of', stateTypeToLiteral(t.of, f)),\n ])\n }\n if (t.kind === 'optional') {\n return f.createObjectLiteralExpression([\n f.createPropertyAssignment('kind', f.createStringLiteral('optional')),\n f.createPropertyAssignment('of', stateTypeToLiteral(t.of, f)),\n ])\n }\n if (t.kind === 'union') {\n return f.createObjectLiteralExpression([\n f.createPropertyAssignment('kind', f.createStringLiteral('union')),\n f.createPropertyAssignment(\n 'of',\n f.createArrayLiteralExpression(t.of.map((m) => stateTypeToLiteral(m, f))),\n ),\n ])\n }\n // object\n const fieldProps: ts.PropertyAssignment[] = []\n for (const [k, v] of Object.entries(t.fields)) {\n fieldProps.push(f.createPropertyAssignment(k, stateTypeToLiteral(v, f)))\n }\n return f.createObjectLiteralExpression([\n f.createPropertyAssignment('kind', f.createStringLiteral('object')),\n f.createPropertyAssignment('fields', f.createObjectLiteralExpression(fieldProps, true)),\n ])\n}\n\nfunction injectComponentMeta(\n nodeWithMaybeEdits: ts.CallExpression,\n originalNode: ts.CallExpression,\n sourceFile: ts.SourceFile,\n filename: string,\n f: ts.NodeFactory,\n): ts.CallExpression {\n const configArg = nodeWithMaybeEdits.arguments[0]\n if (!configArg || !ts.isObjectLiteralExpression(configArg)) return nodeWithMaybeEdits\n\n // Don't inject if already present\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__componentMeta'\n ) {\n return nodeWithMaybeEdits\n }\n }\n\n // Line number from the original (real-position) node\n const pos = originalNode.pos >= 0 ? originalNode.getStart(sourceFile) : 0\n const { line } = sourceFile.getLineAndCharacterOfPosition(pos)\n\n const meta = f.createObjectLiteralExpression(\n [\n f.createPropertyAssignment('file', f.createStringLiteral(filename)),\n f.createPropertyAssignment('line', f.createNumericLiteral(line + 1)),\n ],\n false,\n )\n\n const metaProp = f.createPropertyAssignment('__componentMeta', meta)\n const newConfig = f.createObjectLiteralExpression([...configArg.properties, metaProp], true)\n\n return f.createCallExpression(nodeWithMaybeEdits.expression, nodeWithMaybeEdits.typeArguments, [\n newConfig,\n ...nodeWithMaybeEdits.arguments.slice(1),\n ])\n}\n\nfunction injectMsgSchema(\n node: ts.CallExpression,\n schema: {\n discriminant: string\n variants: Record<string, Record<string, string | { enum: string[] }>>\n },\n f: ts.NodeFactory,\n): ts.CallExpression {\n const configArg = node.arguments[0]\n if (!configArg || !ts.isObjectLiteralExpression(configArg)) return node\n\n // Don't inject if already present\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__msgSchema'\n ) {\n return node\n }\n }\n\n // Build the schema object literal\n const variantProps: ts.PropertyAssignment[] = []\n for (const [variant, fields] of Object.entries(schema.variants)) {\n const fieldProps: ts.PropertyAssignment[] = []\n for (const [field, type] of Object.entries(fields)) {\n if (typeof type === 'string') {\n fieldProps.push(f.createPropertyAssignment(field, f.createStringLiteral(type)))\n } else {\n fieldProps.push(\n f.createPropertyAssignment(\n field,\n f.createObjectLiteralExpression([\n f.createPropertyAssignment(\n 'enum',\n f.createArrayLiteralExpression(type.enum.map((v) => f.createStringLiteral(v))),\n ),\n ]),\n ),\n )\n }\n }\n variantProps.push(\n f.createPropertyAssignment(\n f.createStringLiteral(variant),\n f.createObjectLiteralExpression(fieldProps),\n ),\n )\n }\n\n const schemaObj = f.createObjectLiteralExpression(\n [\n f.createPropertyAssignment('discriminant', f.createStringLiteral(schema.discriminant)),\n f.createPropertyAssignment('variants', f.createObjectLiteralExpression(variantProps, true)),\n ],\n true,\n )\n\n const schemaProp = f.createPropertyAssignment('__msgSchema', schemaObj)\n\n const newConfig = f.createObjectLiteralExpression([...configArg.properties, schemaProp], true)\n\n return f.createCallExpression(node.expression, node.typeArguments, [\n newConfig,\n ...node.arguments.slice(1),\n ])\n}\n\nfunction injectEffectSchema(\n node: ts.CallExpression,\n schema: {\n discriminant: string\n variants: Record<string, Record<string, string | { enum: string[] }>>\n },\n f: ts.NodeFactory,\n): ts.CallExpression {\n const configArg = node.arguments[0]\n if (!configArg || !ts.isObjectLiteralExpression(configArg)) return node\n\n for (const prop of configArg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === '__effectSchema'\n ) {\n return node\n }\n }\n\n const variantProps: ts.PropertyAssignment[] = []\n for (const [variant, fields] of Object.entries(schema.variants)) {\n const fieldProps: ts.PropertyAssignment[] = []\n for (const [field, type] of Object.entries(fields)) {\n if (typeof type === 'string') {\n fieldProps.push(f.createPropertyAssignment(field, f.createStringLiteral(type)))\n } else {\n fieldProps.push(\n f.createPropertyAssignment(\n field,\n f.createObjectLiteralExpression([\n f.createPropertyAssignment(\n 'enum',\n f.createArrayLiteralExpression(type.enum.map((v) => f.createStringLiteral(v))),\n ),\n ]),\n ),\n )\n }\n }\n variantProps.push(\n f.createPropertyAssignment(\n f.createStringLiteral(variant),\n f.createObjectLiteralExpression(fieldProps),\n ),\n )\n }\n\n const schemaObj = f.createObjectLiteralExpression(\n [\n f.createPropertyAssignment('discriminant', f.createStringLiteral(schema.discriminant)),\n f.createPropertyAssignment('variants', f.createObjectLiteralExpression(variantProps, true)),\n ],\n true,\n )\n\n const schemaProp = f.createPropertyAssignment('__effectSchema', schemaObj)\n const newConfig = f.createObjectLiteralExpression([...configArg.properties, schemaProp], true)\n\n return f.createCallExpression(node.expression, node.typeArguments, [\n newConfig,\n ...node.arguments.slice(1),\n ])\n}\n\n// ── Per-item accessor detection ──────────────────────────────────\n\n// ── Item selector deduplication ──────────────────────────────────\n\n/**\n * In each() render callbacks, deduplicate repeated item(selector) calls.\n *\n * Before: item((r) => r.id) appears 4 times → 4 selector closures + 4 accessor closures\n * After: const __s0 = (r) => r.id; const __a0 = item(__s0); → 1 selector + 1 accessor\n */\nfunction tryDeduplicateItemSelectors(\n eachCall: ts.CallExpression,\n f: ts.NodeFactory,\n printer: ts.Printer,\n sourceFile: ts.SourceFile,\n): ts.CallExpression | null {\n // each() takes a single object literal argument\n const arg = eachCall.arguments[0]\n if (!arg || !ts.isObjectLiteralExpression(arg)) return null\n\n // Find the render property\n let renderProp: ts.PropertyAssignment | null = null\n for (const prop of arg.properties) {\n if (\n ts.isPropertyAssignment(prop) &&\n ts.isIdentifier(prop.name) &&\n prop.name.text === 'render'\n ) {\n renderProp = prop\n break\n }\n }\n if (!renderProp) return null\n\n const renderFn = renderProp.initializer\n if (!ts.isArrowFunction(renderFn) && !ts.isFunctionExpression(renderFn)) return null\n\n // Get the item parameter name from the options bag: ({ item, ... }) => ...\n const renderParam = renderFn.parameters[0]\n if (!renderParam) return null\n\n let itemName: string | null = null\n if (ts.isIdentifier(renderParam.name)) {\n // Old style: (item) => ... or (item, index) => ...\n itemName = renderParam.name.text\n } else if (ts.isObjectBindingPattern(renderParam.name)) {\n // New style: ({ item, send, ... }) => ...\n for (const el of renderParam.name.elements) {\n if (ts.isBindingElement(el) && ts.isIdentifier(el.name) && el.name.text === 'item') {\n itemName = 'item'\n break\n }\n }\n }\n if (!itemName) return null\n\n // Collect all item(selector) calls AND item.FIELD property-access expressions.\n // Both forms produce the same accessor; they dedup together via the field-name key.\n type Occurrence =\n | { kind: 'call'; node: ts.CallExpression; selector: ts.Expression; key: string }\n | { kind: 'access'; node: ts.PropertyAccessExpression; field: string; key: string }\n\n const occurrences: Occurrence[] = []\n\n // Try to extract a simple field name from an arrow selector: (t) => t.FIELD → \"FIELD\"\n function extractSimpleField(sel: ts.ArrowFunction | ts.FunctionExpression): string | null {\n if (sel.parameters.length !== 1) return null\n const paramName = sel.parameters[0]!.name\n if (!ts.isIdentifier(paramName)) return null\n const body = ts.isArrowFunction(sel) ? sel.body : null\n if (!body) return null\n const expr = ts.isBlock(body) ? null : body\n if (!expr || !ts.isPropertyAccessExpression(expr)) return null\n if (!ts.isIdentifier(expr.expression) || expr.expression.text !== paramName.text) return null\n if (!ts.isIdentifier(expr.name)) return null\n return expr.name.text\n }\n\n function collectItemCalls(node: ts.Node): void {\n // item(selector) calls\n if (\n ts.isCallExpression(node) &&\n ts.isIdentifier(node.expression) &&\n node.expression.text === itemName &&\n node.arguments.length === 1\n ) {\n const sel = node.arguments[0]!\n if (ts.isArrowFunction(sel) || ts.isFunctionExpression(sel)) {\n const field = extractSimpleField(sel)\n const key =\n field !== null\n ? `field:${field}`\n : `expr:${printer.printNode(ts.EmitHint.Expression, sel, sourceFile)}`\n occurrences.push({ kind: 'call', node, selector: sel, key })\n }\n }\n // item.FIELD property access — but NOT when it's the callee of a call expression\n // where we want the original to stay (e.g. item.id() we still replace, because the\n // accessor itself becomes __a0 and we keep the trailing ()).\n else if (\n ts.isPropertyAccessExpression(node) &&\n ts.isIdentifier(node.expression) &&\n node.expression.text === itemName &&\n ts.isIdentifier(node.name)\n ) {\n const field = node.name.text\n occurrences.push({ kind: 'access', node, field, key: `field:${field}` })\n }\n ts.forEachChild(node, collectItemCalls)\n }\n collectItemCalls(renderFn.body)\n\n if (occurrences.length < 2) return null // nothing to deduplicate\n\n // Group by normalized key (field:name or expr:text)\n const groups = new Map<string, Occurrence[]>()\n for (const occ of occurrences) {\n const existing = groups.get(occ.key)\n if (existing) existing.push(occ)\n else groups.set(occ.key, [occ])\n }\n\n // Hoist ALL occurrences (even unique ones) so compiled code uses `acc()` (plain\n // function) instead of `item(fn)` (Proxy-wrapped) or `item.FIELD` (Proxy.get trap).\n // Unique accesses get their own __a* var; duplicates share one.\n const allGroups = [...groups.entries()]\n if (allGroups.length === 0) return null\n\n // Build hoisted declarations and replacement map\n const hoistedStmts: ts.Statement[] = []\n const replacements = new Map<ts.Node, ts.Identifier>()\n let sIdx = 0\n\n for (const [key, occs] of allGroups) {\n const selVar = `__s${sIdx}`\n const accVar = `__a${sIdx}`\n sIdx++\n\n // Build the selector expression.\n // For field:FIELD, synthesize (t) => t.FIELD (or reuse an existing call's selector).\n // For expr:..., reuse the existing selector expression.\n let selector: ts.Expression\n const callOccurrence = occs.find((o) => o.kind === 'call')\n if (callOccurrence && callOccurrence.kind === 'call') {\n selector = callOccurrence.selector\n } else {\n // All occurrences are property-access form — synthesize (t) => t.FIELD\n const firstAccess = occs[0]!\n if (firstAccess.kind !== 'access') throw new Error('unreachable')\n selector = f.createArrowFunction(\n undefined,\n undefined,\n [f.createParameterDeclaration(undefined, undefined, 't')],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createPropertyAccessExpression(f.createIdentifier('t'), firstAccess.field),\n )\n }\n\n // const __s0 = (r) => r.id\n hoistedStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(selVar, undefined, undefined, selector)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n // const __a0 = acc(__s0) — use the plain-function `acc` instead of `item` (which\n // is a Proxy). Adds `acc` to the destructure binding below if not already present.\n hoistedStmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n accVar,\n undefined,\n undefined,\n f.createCallExpression(f.createIdentifier('acc'), undefined, [\n f.createIdentifier(selVar),\n ]),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n\n // Map all occurrences to the cached accessor identifier\n void key // silence unused\n for (const occ of occs) {\n replacements.set(occ.node, f.createIdentifier(accVar))\n }\n }\n\n // Rewrite the render function body to replace item(sel)/item.field with cached refs\n function replaceVisitor(node: ts.Node): ts.Node {\n if (replacements.has(node)) {\n return replacements.get(node)!\n }\n return ts.visitEachChild(node, replaceVisitor, undefined!)\n }\n\n const newBody = ts.visitNode(renderFn.body, replaceVisitor)!\n\n // Prepend hoisted declarations to the body\n let finalBody: ts.ConciseBody\n if (ts.isBlock(newBody)) {\n finalBody = f.createBlock([...hoistedStmts, ...(newBody as ts.Block).statements], true)\n } else {\n // Arrow with expression body → convert to block with return\n finalBody = f.createBlock(\n [...hoistedStmts, f.createReturnStatement(newBody as ts.Expression)],\n true,\n )\n }\n\n // Ensure `acc` is in the destructure binding pattern of the render param.\n // Hoisted code references it; if user didn't destructure it, add it.\n const newParameters = renderFn.parameters.map((p, idx) => {\n if (idx !== 0) return p\n if (!ts.isObjectBindingPattern(p.name)) return p\n const hasAcc = p.name.elements.some(\n (el) => ts.isBindingElement(el) && ts.isIdentifier(el.name) && el.name.text === 'acc',\n )\n if (hasAcc) return p\n const newBinding = f.createObjectBindingPattern([\n ...p.name.elements,\n f.createBindingElement(undefined, undefined, f.createIdentifier('acc')),\n ])\n return f.createParameterDeclaration(\n p.modifiers,\n p.dotDotDotToken,\n newBinding,\n p.questionToken,\n p.type,\n p.initializer,\n )\n })\n\n // Build new render function\n const newRenderFn = ts.isArrowFunction(renderFn)\n ? f.createArrowFunction(\n renderFn.modifiers,\n renderFn.typeParameters,\n newParameters,\n renderFn.type,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n finalBody,\n )\n : f.createFunctionExpression(\n renderFn.modifiers,\n renderFn.asteriskToken,\n renderFn.name,\n renderFn.typeParameters,\n newParameters,\n renderFn.type,\n finalBody as ts.Block,\n )\n\n // Rebuild the each() call with the new render property\n const newProps = arg.properties.map((prop) =>\n prop === renderProp ? f.createPropertyAssignment('render', newRenderFn) : prop,\n )\n const newArg = f.createObjectLiteralExpression(newProps, true)\n\n return f.createCallExpression(eachCall.expression, eachCall.typeArguments, [\n newArg,\n ...eachCall.arguments.slice(1),\n ])\n}\n\n// ── Auto-memoize each() items accessor ──────────────────────────\n\nconst ALLOCATING_METHODS = new Set([\n 'filter',\n 'map',\n 'slice',\n 'sort',\n 'reverse',\n 'concat',\n 'flat',\n 'flatMap',\n 'reduce',\n])\n\n/**\n * Detect whether an expression body contains array-allocating operations\n * that would produce a new array on every call.\n */\nfunction accessorAllocatesArray(body: ts.ConciseBody | ts.Expression): boolean {\n let found = false\n function walk(n: ts.Node): void {\n if (found) return\n // .method() on something — check the method name\n if (\n ts.isCallExpression(n) &&\n ts.isPropertyAccessExpression(n.expression) &&\n ts.isIdentifier(n.expression.name) &&\n ALLOCATING_METHODS.has(n.expression.name.text)\n ) {\n found = true\n return\n }\n // Spread in array literal: [...x, y]\n if (ts.isArrayLiteralExpression(n) && n.elements.some((el) => ts.isSpreadElement(el))) {\n found = true\n return\n }\n // Array.from(...)\n if (\n ts.isCallExpression(n) &&\n ts.isPropertyAccessExpression(n.expression) &&\n ts.isIdentifier(n.expression.expression) &&\n n.expression.expression.text === 'Array' &&\n ts.isIdentifier(n.expression.name) &&\n n.expression.name.text === 'from'\n ) {\n found = true\n return\n }\n ts.forEachChild(n, walk)\n }\n walk(body)\n return found\n}\n\n/**\n * Wrap `each({ items: (s) => s.x.filter(...) })` in `memo()` with a bitmask,\n * so the filter is only re-run when its dependencies change. For items accessors\n * that don't allocate (e.g. `(s) => s.items`), each's built-in same-ref fast\n * path already suffices — no wrap needed.\n *\n * Returns null if no wrapping was applied.\n */\nfunction tryWrapEachItemsWithMemo(\n eachCall: ts.CallExpression,\n fieldBits: Map<string, number>,\n f: ts.NodeFactory,\n): ts.CallExpression | null {\n const arg = eachCall.arguments[0]\n if (!arg || !ts.isObjectLiteralExpression(arg)) return null\n\n let itemsProp: ts.PropertyAssignment | null = null\n for (const prop of arg.properties) {\n if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name) && prop.name.text === 'items') {\n itemsProp = prop\n break\n }\n }\n if (!itemsProp) return null\n\n const accessor = itemsProp.initializer\n if (!ts.isArrowFunction(accessor) && !ts.isFunctionExpression(accessor)) return null\n\n // Don't wrap if it's already wrapped (call expression like memo(...) or similar)\n // We only wrap raw arrow functions.\n\n // Skip if the body doesn't allocate — each's own ref check handles those.\n const body = ts.isArrowFunction(accessor) ? accessor.body : accessor.body\n if (!accessorAllocatesArray(body)) return null\n\n const { mask, readsState } = computeAccessorMask(accessor, fieldBits)\n if (mask === 0 && !readsState) return null // constant, nothing to memoize\n const finalMask = mask === 0 && readsState ? 0xffffffff | 0 : mask\n\n // Wrap: memo(accessor, mask)\n const wrapped = f.createCallExpression(f.createIdentifier('memo'), undefined, [\n accessor,\n createMaskLiteral(f, finalMask),\n ])\n\n const newProps = arg.properties.map((p) =>\n p === itemsProp ? f.createPropertyAssignment('items', wrapped) : p,\n )\n const newArg = f.createObjectLiteralExpression(newProps, true)\n\n return f.createCallExpression(eachCall.expression, eachCall.typeArguments, [\n newArg,\n ...eachCall.arguments.slice(1),\n ])\n}\n\n// ── Subtree collapse: nested elements → elTemplate ──────────────\n\nconst VOID_ELEMENTS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n])\n\ninterface AnalyzedNode {\n tag: string\n localName: string\n /** Static HTML attributes (class, id, etc.) */\n staticAttrs: Array<[string, string]>\n /** Event handlers: [eventName, handlerExpression] */\n events: Array<[string, ts.Expression]>\n /** Reactive bindings: [mask, kind, key, accessor] */\n bindings: Array<[number, string, string, ts.Expression]>\n /** Children: analyzed elements, static text, or reactive text */\n children: AnalyzedChild[]\n /** Path from template root as childNodes indices */\n path: number[]\n}\n\ntype AnalyzedChild =\n | { type: 'element'; node: AnalyzedNode }\n | { type: 'staticText'; value: string }\n | { type: 'reactiveText'; accessor: ts.Expression; mask: number; childIdx: number }\n\n/**\n * Try to analyze an element call and all its descendants as a collapsible subtree.\n * Returns null if any part of the tree is not eligible for collapse.\n */\nfunction analyzeSubtree(\n node: ts.CallExpression,\n helpers: Map<string, string>,\n fieldBits: Map<string, number>,\n path: number[],\n): AnalyzedNode | null {\n if (!ts.isIdentifier(node.expression)) return null\n const localName = node.expression.text\n const tag = helpers.get(localName)\n if (!tag) return null\n\n // Handle children-only overload: `div([...])` — first arg is the children array.\n // In that case, treat it as no props + children=firstArg.\n const firstArg = node.arguments[0]\n const usesChildrenOnlyOverload = firstArg && ts.isArrayLiteralExpression(firstArg)\n const propsArg = usesChildrenOnlyOverload ? undefined : firstArg\n const childrenArg = usesChildrenOnlyOverload ? firstArg : node.arguments[1]\n\n if (propsArg && !ts.isObjectLiteralExpression(propsArg)) return null\n\n const staticAttrs: Array<[string, string]> = []\n const events: Array<[string, ts.Expression]> = []\n const bindings: Array<[number, string, string, ts.Expression]> = []\n\n if (propsArg && ts.isObjectLiteralExpression(propsArg)) {\n for (const prop of propsArg.properties) {\n let key: string\n let value: ts.Expression\n\n if (ts.isPropertyAssignment(prop)) {\n if (!ts.isIdentifier(prop.name) && !ts.isStringLiteral(prop.name)) return null\n key = ts.isIdentifier(prop.name) ? prop.name.text : prop.name.text\n value = prop.initializer\n } else if (ts.isShorthandPropertyAssignment(prop)) {\n key = prop.name.text\n value = prop.name\n } else {\n return null\n }\n if (key === 'key') continue\n\n // Event handler\n if (/^on[A-Z]/.test(key)) {\n events.push([key.slice(2).toLowerCase(), value])\n continue\n }\n\n // Resolve identifier → local const arrow initializer (see elSplit\n // path for the full rationale).\n if (ts.isIdentifier(value)) {\n const resolved = resolveLocalConstInitializer(value)\n if (resolved && (ts.isArrowFunction(resolved) || ts.isFunctionExpression(resolved))) {\n value = resolved\n }\n }\n\n // Reactive binding\n if (ts.isArrowFunction(value) || ts.isFunctionExpression(value)) {\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n const { mask, readsState } = computeAccessorMask(value, fieldBits)\n if (mask === 0 && !readsState) {\n // Constant fold — treat as static if we can extract a string\n const staticVal = tryExtractStaticString(value)\n if (staticVal !== null) {\n const attrKey = kind === 'class' ? 'class' : resolvedKey\n staticAttrs.push([attrKey, staticVal])\n continue\n }\n }\n bindings.push([mask === 0 && readsState ? 0xffffffff | 0 : mask, kind, resolvedKey, value])\n continue\n }\n\n // Per-item accessor call\n if (ts.isCallExpression(value) && isPerItemCall(value)) {\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n bindings.push([0xffffffff | 0, kind, resolvedKey, value])\n continue\n }\n\n // Per-item property access: item.field (or hoisted __a0/__a1/…)\n if (isPerItemFieldAccess(value) || isHoistedPerItem(value)) {\n const kind = classifyKind(key)\n const resolvedKey = resolveKey(key, kind)\n bindings.push([0xffffffff | 0, kind, resolvedKey, value])\n continue\n }\n\n // Static literal prop\n if (ts.isStringLiteral(value)) {\n const kind = classifyKind(key)\n const attrKey = kind === 'class' ? 'class' : resolveKey(key, kind)\n staticAttrs.push([attrKey, value.text])\n continue\n }\n if (ts.isNumericLiteral(value)) {\n const kind = classifyKind(key)\n const attrKey = kind === 'class' ? 'class' : resolveKey(key, kind)\n staticAttrs.push([attrKey, value.text])\n continue\n }\n if (value.kind === ts.SyntaxKind.TrueKeyword) {\n const kind = classifyKind(key)\n const attrKey = kind === 'class' ? 'class' : resolveKey(key, kind)\n staticAttrs.push([attrKey, ''])\n continue\n }\n\n // Non-literal prop — can't collapse\n return null\n }\n }\n\n // Analyze children\n const children: AnalyzedChild[] = []\n\n if (childrenArg && ts.isArrayLiteralExpression(childrenArg)) {\n let childIdx = 0\n for (const child of childrenArg.elements) {\n // String literal child — static text node\n if (ts.isStringLiteral(child) || ts.isNoSubstitutionTemplateLiteral(child)) {\n children.push({ type: 'staticText', value: child.text })\n childIdx++\n continue\n }\n\n // text('literal') — static text\n if (\n ts.isCallExpression(child) &&\n ts.isIdentifier(child.expression) &&\n child.expression.text === 'text'\n ) {\n if (child.arguments.length >= 1 && ts.isStringLiteral(child.arguments[0]!)) {\n children.push({ type: 'staticText', value: child.arguments[0]!.text })\n childIdx++ // static text creates a text node in the template DOM\n continue\n }\n // Reactive text — accessor is first arg\n const accessor = child.arguments[0]!\n if (ts.isArrowFunction(accessor) || ts.isFunctionExpression(accessor)) {\n const { mask, readsState } = computeAccessorMask(accessor, fieldBits)\n children.push({\n type: 'reactiveText',\n accessor,\n mask: mask === 0 && readsState ? 0xffffffff | 0 : mask,\n childIdx,\n })\n childIdx++ // placeholder text node in template\n continue\n }\n // Per-item text: text(item(t => t.label))\n if (ts.isCallExpression(accessor) && isPerItemCall(accessor)) {\n children.push({\n type: 'reactiveText',\n accessor,\n mask: 0xffffffff | 0,\n childIdx,\n })\n childIdx++ // placeholder text node in template\n continue\n }\n // Per-item text via property access: text(item.label)\n // Also matches hoisted __a0/__a1/… identifiers produced by dedup.\n if (isPerItemFieldAccess(accessor) || isHoistedPerItem(accessor)) {\n children.push({\n type: 'reactiveText',\n accessor,\n mask: 0xffffffff | 0,\n childIdx,\n })\n childIdx++\n continue\n }\n return null // unsupported text() form\n }\n\n // Element helper call — recurse\n if (\n ts.isCallExpression(child) &&\n ts.isIdentifier(child.expression) &&\n helpers.has(child.expression.text)\n ) {\n const childNode = analyzeSubtree(child, helpers, fieldBits, [...path, childIdx])\n if (!childNode) return null\n children.push({ type: 'element', node: childNode })\n childIdx++\n continue\n }\n\n // Anything else (each, branch, show, arbitrary expressions) — bail\n return null\n }\n\n // Note: mixed static + reactive text in the same parent is now supported\n // because reactive text uses <!--$--> comment placeholders that break\n // text-node merging at parse time.\n } else if (childrenArg && childrenArg.kind !== ts.SyntaxKind.NullKeyword) {\n // Non-array children (e.g., spread, variable) — bail\n return null\n }\n\n return { tag, localName, staticAttrs, events, bindings, children, path }\n}\n\nfunction tryExtractStaticString(accessor: ts.ArrowFunction | ts.FunctionExpression): string | null {\n const body = ts.isArrowFunction(accessor) ? accessor.body : null\n if (body && ts.isStringLiteral(body)) return body.text\n return null\n}\n\n/**\n * Check if a subtree has any nested element children (worth collapsing).\n */\nfunction hasNestedElements(node: AnalyzedNode): boolean {\n return node.children.some((c) => c.type === 'element')\n}\n\n/**\n * Collect all local helper names used in the subtree for import cleanup.\n */\nfunction collectUsedHelpers(node: AnalyzedNode, out: Set<string>): void {\n out.add(node.localName)\n for (const child of node.children) {\n if (child.type === 'element') collectUsedHelpers(child.node, out)\n }\n}\n\n/**\n * Build the static HTML string from an analyzed subtree.\n */\nfunction buildTemplateHTML(node: AnalyzedNode): string {\n let html = `<${node.tag}`\n for (const [key, value] of node.staticAttrs) {\n html += ` ${key}=\"${escapeAttr(value)}\"`\n }\n html += '>'\n\n if (VOID_ELEMENTS.has(node.tag)) return html\n\n for (let ci = 0; ci < node.children.length; ci++) {\n const child = node.children[ci]!\n if (child.type === 'staticText') {\n html += escapeHTML(child.value)\n } else if (child.type === 'element') {\n html += buildTemplateHTML(child.node)\n } else if (child.type === 'reactiveText') {\n // When the reactive text is not adjacent to another text-type child,\n // we can use a literal text node placeholder instead of a comment.\n // The cloned text node is reused in the patch function — no\n // createTextNode + replaceChild needed. This saves 2 DOM operations\n // per text binding per row.\n //\n // When adjacent text WOULD cause HTML-parser merging (two text nodes\n // collapse into one), we fall back to the comment placeholder.\n const prev = ci > 0 ? node.children[ci - 1]! : null\n const next = ci < node.children.length - 1 ? node.children[ci + 1]! : null\n const adjText =\n prev?.type === 'staticText' ||\n prev?.type === 'reactiveText' ||\n next?.type === 'staticText' ||\n next?.type === 'reactiveText'\n if (adjText) {\n html += '<!--$-->'\n } else {\n // Space character becomes a Text node in the cloned template.\n // Mark the child so the patch codegen knows to skip replaceChild.\n html += ' '\n ;(child as { inlineText?: boolean }).inlineText = true\n }\n }\n }\n\n html += `</${node.tag}>`\n return html\n}\n\ninterface PatchOp {\n /** Variable name for this node (e.g., __n0) */\n varName: string\n /** Expression to walk to this node from root */\n walkExpr: ts.Expression\n /** Event listeners to attach */\n events: Array<[string, ts.Expression]>\n /** Bindings to register via __bind */\n bindings: Array<[number, string, string, ts.Expression]>\n /** Reactive text children — reference existing placeholder text nodes */\n reactiveTexts: Array<{ accessor: ts.Expression; mask: number; childIdx: number }>\n}\n\n/**\n * Collect all patch operations from an analyzed subtree.\n */\nfunction collectPatchOps(\n node: AnalyzedNode,\n f: ts.NodeFactory,\n rootExpr: ts.Expression,\n ops: PatchOp[],\n counter: { n: number; t: number },\n): void {\n const hasDynamic =\n node.events.length > 0 ||\n node.bindings.length > 0 ||\n node.children.some((c) => c.type === 'reactiveText')\n\n let nodeExpr = rootExpr\n\n if (hasDynamic) {\n const varName = `__n${counter.n++}`\n // Build walk expression: root.childNodes[i].childNodes[j]...\n nodeExpr = f.createIdentifier(varName)\n ops.push({\n varName,\n walkExpr: buildWalkExpr(node.path, f),\n events: node.events,\n bindings: node.bindings,\n reactiveTexts: node.children.filter(\n (c): c is Extract<AnalyzedChild, { type: 'reactiveText' }> => c.type === 'reactiveText',\n ),\n })\n }\n\n // Recurse into element children\n for (const child of node.children) {\n if (child.type === 'element') {\n collectPatchOps(child.node, f, nodeExpr, ops, counter)\n }\n }\n}\n\nfunction buildWalkExpr(path: number[], f: ts.NodeFactory): ts.Expression {\n let expr: ts.Expression = f.createIdentifier('root')\n for (const idx of path) {\n // Use firstChild + nextSibling chain instead of childNodes[n]\n // firstChild/nextSibling are direct pointer lookups, childNodes is a live NodeList\n expr = f.createPropertyAccessExpression(expr, 'firstChild')\n for (let i = 0; i < idx; i++) {\n expr = f.createPropertyAccessExpression(expr, 'nextSibling')\n }\n }\n return expr\n}\n\n/**\n * Emit elTemplate(htmlString, (root, __bind) => { ... }) call.\n */\nfunction emitSubtreeTemplate(\n analyzed: AnalyzedNode,\n fieldBits: Map<string, number>,\n f: ts.NodeFactory,\n): ts.CallExpression {\n const html = buildTemplateHTML(analyzed)\n const ops: PatchOp[] = []\n const counter = { n: 0, t: 0 }\n\n // Collect root-level patches\n const rootHasDynamic =\n analyzed.events.length > 0 ||\n analyzed.bindings.length > 0 ||\n analyzed.children.some((c) => c.type === 'reactiveText')\n\n if (rootHasDynamic) {\n ops.push({\n varName: '', // use 'root' directly\n walkExpr: f.createIdentifier('root'),\n events: analyzed.events,\n bindings: analyzed.bindings,\n reactiveTexts: analyzed.children.filter(\n (c): c is Extract<AnalyzedChild, { type: 'reactiveText' }> => c.type === 'reactiveText',\n ),\n })\n }\n\n // Collect child patches\n for (const child of analyzed.children) {\n if (child.type === 'element') {\n collectPatchOps(child.node, f, f.createIdentifier('root'), ops, counter)\n }\n }\n\n // Collect delegatable events: group by event type across all ops\n // Events on child nodes with the same type are delegated to the root\n const delegatableEvents = new Map<string, Array<{ nodeVar: string; handler: ts.Expression }>>()\n for (const op of ops) {\n for (const [eventName, handler] of op.events) {\n if (!op.varName) {\n // Root-level events — can't delegate further up\n continue\n }\n const list = delegatableEvents.get(eventName)\n if (list) list.push({ nodeVar: op.varName, handler })\n else delegatableEvents.set(eventName, [{ nodeVar: op.varName, handler }])\n }\n }\n\n // Build patch function body\n const stmts: ts.Statement[] = []\n\n for (const op of ops) {\n const nodeRef = op.varName ? f.createIdentifier(op.varName) : f.createIdentifier('root')\n\n // Variable declaration for walking to node\n if (op.varName) {\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(op.varName, undefined, undefined, op.walkExpr)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n }\n\n // Non-delegatable events (root-level or single-use event types)\n for (const [eventName, handler] of op.events) {\n const delegated = delegatableEvents.get(eventName)\n if (op.varName && delegated && delegated.length >= 2) continue // handled below\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(nodeRef, 'addEventListener'),\n undefined,\n [f.createStringLiteral(eventName), handler],\n ),\n ),\n )\n }\n\n // Reactive text children — walk to placeholder, create text node, bind\n for (const rt of op.reactiveTexts) {\n const tVar = `__t${counter.t++}`\n const isInline = !!(rt as { inlineText?: boolean }).inlineText\n\n if (isInline) {\n // Inline text placeholder: the template HTML has a space character\n // that cloneNode already created as a Text node. Walk to it and\n // bind directly — no createTextNode, no replaceChild.\n let walk: ts.Expression = f.createPropertyAccessExpression(nodeRef, 'firstChild')\n for (let i = 0; i < rt.childIdx; i++) {\n walk = f.createPropertyAccessExpression(walk, 'nextSibling')\n }\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(tVar, undefined, undefined, walk)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n } else {\n // Comment placeholder: create a new text node and replace the comment.\n const cVar = `__c${counter.t - 1}`\n let walk: ts.Expression = f.createPropertyAccessExpression(nodeRef, 'firstChild')\n for (let i = 0; i < rt.childIdx; i++) {\n walk = f.createPropertyAccessExpression(walk, 'nextSibling')\n }\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(cVar, undefined, undefined, walk)],\n ts.NodeFlags.Const,\n ),\n ),\n )\n stmts.push(\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [\n f.createVariableDeclaration(\n tVar,\n undefined,\n undefined,\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createIdentifier('document'),\n 'createTextNode',\n ),\n undefined,\n [f.createStringLiteral('')],\n ),\n ),\n ],\n ts.NodeFlags.Const,\n ),\n ),\n )\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(f.createIdentifier(cVar), 'parentNode'),\n 'replaceChild',\n ),\n undefined,\n [f.createIdentifier(tVar), f.createIdentifier(cVar)],\n ),\n ),\n )\n }\n // __bind(__t0, mask, 'text', undefined, accessor)\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(f.createIdentifier('__bind'), undefined, [\n f.createIdentifier(tVar),\n createMaskLiteral(f, rt.mask),\n f.createStringLiteral('text'),\n f.createIdentifier('undefined'),\n rt.accessor,\n ]),\n ),\n )\n }\n\n // Reactive bindings — __bind(node, mask, kind, key, accessor)\n for (const [mask, kind, key, accessor] of op.bindings) {\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(f.createIdentifier('__bind'), undefined, [\n nodeRef,\n createMaskLiteral(f, mask),\n f.createStringLiteral(kind),\n key ? f.createStringLiteral(key) : f.createIdentifier('undefined'),\n accessor,\n ]),\n ),\n )\n }\n }\n\n // Emit delegated event listeners on root\n for (const [eventName, entries] of delegatableEvents) {\n if (entries.length < 2) continue\n // root.onclick = (e) => { if (n1.contains(e.target)) { h1(); return } if (n2.contains(e.target)) { h2(); return } }\n const eParam = f.createIdentifier('__e')\n const eTarget = f.createPropertyAccessExpression(eParam, 'target')\n\n const ifStmts: ts.Statement[] = []\n for (const { nodeVar, handler } of entries) {\n // if (nodeVar.contains(e.target)) { handler(e); return }\n ifStmts.push(\n f.createIfStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier(nodeVar), 'contains'),\n undefined,\n [eTarget],\n ),\n f.createBlock(\n [\n f.createExpressionStatement(f.createCallExpression(handler, undefined, [eParam])),\n f.createReturnStatement(),\n ],\n true,\n ),\n ),\n )\n }\n\n const delegateHandler = f.createArrowFunction(\n undefined,\n undefined,\n [f.createParameterDeclaration(undefined, undefined, '__e')],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(ifStmts, true),\n )\n\n // root.addEventListener(eventName, handler)\n stmts.push(\n f.createExpressionStatement(\n f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('root'), 'addEventListener'),\n undefined,\n [f.createStringLiteral(eventName), delegateHandler],\n ),\n ),\n )\n }\n\n // (root, __bind) => { ... }\n const patchFn = f.createArrowFunction(\n undefined,\n undefined,\n [\n f.createParameterDeclaration(undefined, undefined, 'root'),\n f.createParameterDeclaration(undefined, undefined, '__bind'),\n ],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(stmts, true),\n )\n\n const call = f.createCallExpression(f.createIdentifier('elTemplate'), undefined, [\n f.createStringLiteral(html),\n patchFn,\n ])\n\n return call\n}\n\n// ── Static subtree detection ─────────────────────────────────────\n\nfunction isStaticChildren(children: ts.Expression): boolean {\n if (children.kind === ts.SyntaxKind.NullKeyword) return true\n if (!ts.isArrayLiteralExpression(children)) return false\n return children.elements.every((child) => {\n // text('literal') — static text\n if (\n ts.isCallExpression(child) &&\n ts.isIdentifier(child.expression) &&\n child.expression.text === 'text'\n ) {\n return child.arguments.length === 1 && ts.isStringLiteral(child.arguments[0]!)\n }\n // Another elSplit or element helper that was already determined static\n // For now, only handle text() children\n return false\n })\n}\n\nfunction buildStaticHTML(\n tag: string,\n staticProps: ts.Statement[],\n children: ts.Expression,\n _f: ts.NodeFactory,\n): string | null {\n // Extract static attributes from staticFn statements\n let attrs = ''\n for (const stmt of staticProps) {\n if (!ts.isExpressionStatement(stmt)) return null\n const expr = stmt.expression\n // __e.className = 'value'\n if (ts.isBinaryExpression(expr) && ts.isPropertyAccessExpression(expr.left)) {\n const prop = expr.left.name.text\n if (prop === 'className' && ts.isStringLiteral(expr.right)) {\n attrs += ` class=\"${escapeAttr(expr.right.text)}\"`\n }\n }\n // __e.setAttribute('key', 'value')\n if (ts.isCallExpression(expr) && ts.isPropertyAccessExpression(expr.expression)) {\n if (expr.expression.name.text === 'setAttribute' && expr.arguments.length === 2) {\n const key = expr.arguments[0]\n const val = expr.arguments[1]\n if (key && val && ts.isStringLiteral(key) && ts.isStringLiteral(val)) {\n attrs += ` ${key.text}=\"${escapeAttr(val.text)}\"`\n } else {\n return null // non-literal attribute\n }\n }\n }\n }\n\n // Extract text children\n let inner = ''\n if (ts.isArrayLiteralExpression(children)) {\n for (const child of children.elements) {\n if (\n ts.isCallExpression(child) &&\n ts.isIdentifier(child.expression) &&\n child.expression.text === 'text'\n ) {\n if (ts.isStringLiteral(child.arguments[0]!)) {\n inner += escapeHTML(child.arguments[0]!.text)\n } else {\n return null\n }\n } else {\n return null\n }\n }\n }\n\n return `<${tag}${attrs}>${inner}</${tag}>`\n}\n\nfunction escapeHTML(s: string): string {\n return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')\n}\n\nfunction escapeAttr(s: string): string {\n return s.replace(/&/g, '&').replace(/\"/g, '"')\n}\n\nlet templateCounter = 0\n\nfunction emitTemplateClone(html: string, f: ts.NodeFactory): ts.Expression {\n const varName = `__tmpl${templateCounter++}`\n // Emit: (() => { const t = document.createElement('template'); t.innerHTML = 'html'; return t.content.cloneNode(true).firstChild })()\n // Simplified: we use an IIFE that creates and caches a template\n // Actually, for simplicity, just emit the cloneNode inline\n const tmplCreate = f.createCallExpression(\n f.createPropertyAccessExpression(f.createIdentifier('document'), 'createElement'),\n undefined,\n [f.createStringLiteral('template')],\n )\n const iife = f.createCallExpression(\n f.createParenthesizedExpression(\n f.createArrowFunction(\n undefined,\n undefined,\n [],\n undefined,\n f.createToken(ts.SyntaxKind.EqualsGreaterThanToken),\n f.createBlock(\n [\n f.createVariableStatement(\n undefined,\n f.createVariableDeclarationList(\n [f.createVariableDeclaration(varName, undefined, undefined, tmplCreate)],\n ts.NodeFlags.Const,\n ),\n ),\n f.createExpressionStatement(\n f.createBinaryExpression(\n f.createPropertyAccessExpression(f.createIdentifier(varName), 'innerHTML'),\n ts.SyntaxKind.EqualsToken,\n f.createStringLiteral(html),\n ),\n ),\n f.createReturnStatement(\n f.createPropertyAccessExpression(\n f.createCallExpression(\n f.createPropertyAccessExpression(\n f.createPropertyAccessExpression(f.createIdentifier(varName), 'content'),\n 'cloneNode',\n ),\n undefined,\n [f.createTrue()],\n ),\n 'firstChild',\n ),\n ),\n ],\n true,\n ),\n ),\n ),\n undefined,\n [],\n )\n\n return iife\n}\n\nfunction isPerItemCall(node: ts.CallExpression): boolean {\n // Matches: item(t => t.field) or item(t => expr)\n // where item is an identifier (the scoped accessor from each() render)\n if (!ts.isIdentifier(node.expression)) return false\n // Check that the first argument is an arrow function (the selector)\n if (node.arguments.length !== 1) return false\n const arg = node.arguments[0]!\n return ts.isArrowFunction(arg) || ts.isFunctionExpression(arg)\n}\n\n// Matches: item.FIELD — the item-proxy shorthand equivalent of item(t => t.FIELD).\n// Scope-checked: the `item` identifier must resolve to a parameter of an\n// `each({ render })` callback. Without this check, plain\n// `arr.map((item) => item.field)` outside each() would be rewritten as a\n// per-item binding and crash at runtime with \"accessor is not a function\"\n// because `item.field` evaluates to a bare value (not a function) when\n// treated as an accessor.\nfunction isPerItemFieldAccess(node: ts.Node): node is ts.PropertyAccessExpression {\n if (!ts.isPropertyAccessExpression(node)) return false\n if (!ts.isIdentifier(node.expression)) return false\n if (node.expression.text !== 'item') return false\n if (!ts.isIdentifier(node.name)) return false\n return isItemBoundToEachRender(node)\n}\n\n/**\n * Walks up from a node and returns true iff the nearest enclosing function\n * that binds an `item` parameter is the `render` property of an `each()`\n * call. Handles both positional (`(item) => …`) and destructured\n * (`({ item, index }) => …`) parameter bindings.\n */\nfunction isItemBoundToEachRender(node: ts.Node): boolean {\n let current: ts.Node | undefined = node.parent\n while (current) {\n if (ts.isArrowFunction(current) || ts.isFunctionExpression(current)) {\n if (functionParamsBindItem(current)) {\n return isEachRenderCallback(current)\n }\n }\n current = current.parent\n }\n return false\n}\n\nfunction functionParamsBindItem(fn: ts.ArrowFunction | ts.FunctionExpression): boolean {\n for (const param of fn.parameters) {\n if (bindingNameBindsItem(param.name)) return true\n }\n return false\n}\n\nfunction bindingNameBindsItem(name: ts.BindingName): boolean {\n if (ts.isIdentifier(name)) return name.text === 'item'\n if (ts.isObjectBindingPattern(name) || ts.isArrayBindingPattern(name)) {\n for (const el of name.elements) {\n if (ts.isBindingElement(el) && bindingNameBindsItem(el.name)) return true\n }\n }\n return false\n}\n\nfunction isEachRenderCallback(fn: ts.ArrowFunction | ts.FunctionExpression): boolean {\n const parent = fn.parent\n if (!parent || !ts.isPropertyAssignment(parent)) return false\n if (!ts.isIdentifier(parent.name) || parent.name.text !== 'render') return false\n const objLit = parent.parent\n if (!objLit || !ts.isObjectLiteralExpression(objLit)) return false\n const call = objLit.parent\n if (!call || !ts.isCallExpression(call)) return false\n if (!ts.isIdentifier(call.expression) || call.expression.text !== 'each') return false\n return true\n}\n\n// Matches the hoisted identifiers produced by tryDeduplicateItemSelectors: __a0, __a1, …\n// These represent already-cached per-item accessors.\nfunction isHoistedPerItem(node: ts.Node): node is ts.Identifier {\n if (!ts.isIdentifier(node)) return false\n return /^__a\\d+$/.test(node.text)\n}\n\n// ── Mask computation ─────────────────────────────────────────────\n\n// Returns { mask, readsState }\n// mask = 0 + readsState = false → constant (can fold to static)\n// mask = 0 + readsState = true → unresolvable state access (FULL_MASK)\n// mask > 0 → precise mask\nfunction computeAccessorMask(\n accessor: ts.ArrowFunction | ts.FunctionExpression,\n fieldBits: Map<string, number>,\n): { mask: number; readsState: boolean } {\n if (accessor.parameters.length === 0) return { mask: 0xffffffff | 0, readsState: false }\n\n const paramName = accessor.parameters[0]!.name\n if (!ts.isIdentifier(paramName)) return { mask: 0xffffffff | 0, readsState: false }\n\n const stateParam = paramName.text\n let mask = 0\n let readsState = false\n\n function walk(node: ts.Node): void {\n if (ts.isIdentifier(node) && node.text === stateParam && !ts.isParameter(node.parent)) {\n readsState = true\n }\n if (ts.isPropertyAccessExpression(node)) {\n if (!ts.isPropertyAccessExpression(node.parent)) {\n const chain = resolveChain(node, stateParam)\n if (chain) {\n const bit = fieldBits.get(chain)\n if (bit !== undefined) {\n mask |= bit\n } else {\n for (const [path, b] of fieldBits) {\n if (path.startsWith(chain + '.') || path === chain) {\n mask |= b\n }\n }\n }\n }\n }\n }\n ts.forEachChild(node, walk)\n }\n\n walk(accessor.body)\n\n if (mask === 0 && readsState) {\n return { mask: 0xffffffff | 0, readsState: true }\n }\n return { mask, readsState }\n}\n\nfunction resolveChain(node: ts.PropertyAccessExpression, paramName: string): string | null {\n const parts: string[] = []\n let current: ts.Expression = node\n\n while (ts.isPropertyAccessExpression(current)) {\n parts.unshift(current.name.text)\n current = current.expression\n }\n\n if (!ts.isIdentifier(current) || current.text !== paramName) return null\n if (parts.length > 2) return parts.slice(0, 2).join('.')\n return parts.join('.')\n}\n"]}
|