@kernlang/core 3.3.4 → 3.3.5

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.
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Extracted from codegen-core.ts for modular codegen architecture.
5
5
  */
6
+ import { KernCodegenError } from '../errors.js';
6
7
  import { propsOf } from '../node-props.js';
7
8
  import { emitIdentifier, emitTemplateSafe, emitTypeAnnotation } from './emitters.js';
8
9
  import { capitalize, emitDocComment, exportPrefix, getChildren, getProps, handlerCode } from './helpers.js';
@@ -82,17 +83,59 @@ export function generateOn(node) {
82
83
  const asyncKw = isAsync ? 'async ' : '';
83
84
  // Key filter guard
84
85
  const keyGuard = key ? ` if (key !== '${key}') return;\n` : '';
86
+ // Splice declarative `set` children into the callback body in source order,
87
+ // then append the handler block (if any). Lets authors write
88
+ // on event=click
89
+ // set name=count to="count + 1"
90
+ // instead of dropping into a handler just to call the setter.
91
+ const bodyLines = buildOnBodyLines(node, code);
85
92
  lines.push(`${exp}${asyncKw}function ${fnName}(${paramType}) {`);
86
93
  if (keyGuard)
87
94
  lines.push(keyGuard.trimEnd());
88
- if (code) {
89
- for (const line of code.split('\n')) {
90
- lines.push(` ${line}`);
91
- }
92
- }
95
+ for (const line of bodyLines)
96
+ lines.push(` ${line}`);
93
97
  lines.push('}');
94
98
  return lines;
95
99
  }
100
+ /**
101
+ * Walk the `on` node's children in source order, emitting `setX(expr);` for
102
+ * each `set` child and inlining the `handler` block's code after. The setter
103
+ * name mirrors the React useState convention used by `emitStateDecls` —
104
+ * `set` + capitalized state name — so a sibling `state name=count` + a
105
+ * `set name=count to="..."` always match.
106
+ */
107
+ function buildOnBodyLines(node, fallbackCode) {
108
+ const children = node.children || [];
109
+ const hasSet = children.some((c) => c.type === 'set');
110
+ // Back-compat: no `set` children → keep the old single-handler path verbatim.
111
+ if (!hasSet) {
112
+ return fallbackCode ? fallbackCode.split('\n') : [];
113
+ }
114
+ const out = [];
115
+ for (const child of children) {
116
+ if (child.type === 'set') {
117
+ out.push(emitSetStatement(child));
118
+ }
119
+ else if (child.type === 'handler') {
120
+ const code = (child.props || {}).code || (child.props || {}).body || '';
121
+ if (code)
122
+ out.push(...code.split('\n'));
123
+ }
124
+ // Other children (reason, evidence, needs, doc, ...) contribute nothing to the callback body.
125
+ }
126
+ return out;
127
+ }
128
+ function emitSetStatement(node) {
129
+ const props = propsOf(node);
130
+ const name = emitIdentifier(props.name, 'state', node);
131
+ const rawTo = props.to;
132
+ const to = rawTo && typeof rawTo === 'object' && rawTo.__expr ? rawTo.code : rawTo;
133
+ if (to === undefined || to === null || to === '') {
134
+ throw new KernCodegenError("set node requires a 'to' prop", node);
135
+ }
136
+ const setter = `set${capitalize(name)}`;
137
+ return `${setter}(${to});`;
138
+ }
96
139
  // ── WebSocket — bidirectional communication ──────────────────────────────
97
140
  export function generateWebSocket(node) {
98
141
  const props = propsOf(node);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5G,MAAM,CAAC,GAAG,QAAQ,CAAC;AACnB,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,4EAA4E;AAE5E,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,OAAO,CAAU,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,kFAAkF;IAClF,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,QAAQ,IAAI,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAC1H,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,CAAW,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAc,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,IAAI,sBAAsB,IAAI,YAAY,CAAC,CAAC;IAErE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAE7E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,OAAO,CAAO,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAK,KAAiC,CAAC,KAAgB,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IACvF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,oEAAoE;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,UAAU,CAAC,KAAK,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,MAAM,SAAS,GACb,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO;QACzD,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAClB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,KAAK,KAAK,OAAO;oBACjB,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,KAAK,KAAK,QAAQ;wBAClB,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM;4BACrC,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM;gCACpC,CAAC,CAAC,cAAc;gCAChB,CAAC,CAAC,KAAK,KAAK,QAAQ;oCAClB,CAAC,CAAC,UAAU;oCACZ,CAAC,CAAC,KAAK,KAAK,QAAQ;wCAClB,CAAC,CAAC,YAAY;wCACd,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY;4CAC7C,CAAC,CAAC,eAAe;4CACjB,CAAC,CAAC,KAAK,KAAK,OAAO;gDACjB,CAAC,CAAC,cAAc;gDAChB,CAAC,CAAC,UAAU,CAAC;IAErC,MAAM,MAAM,GAAG,WAAW,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3D,MAAM,OAAO,GACV,KAAiC,CAAC,KAAK,KAAK,MAAM,IAAK,KAAiC,CAAC,KAAK,KAAK,IAAI,CAAC;IAC3G,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAExC,mBAAmB;IACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,4EAA4E;IAC5E,6DAA6D;IAC7D,mBAAmB;IACnB,oCAAoC;IACpC,8DAA8D;IAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,YAAY,MAAM,IAAI,SAAS,KAAK,CAAC,CAAC;IACjE,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,YAAoB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAEtD,8EAA8E;IAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,GAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAe,IAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAe,IAAI,EAAE,CAAC;YAChG,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,8FAA8F;IAChG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,OAAO,CAAQ,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,MAAM,EAAE,GACN,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAoB,CAAC,MAAM,CAAC,CAAC,CAAE,KAAoB,CAAC,IAAI,CAAC,CAAC,CAAE,KAAgB,CAAC;IACtH,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,OAAO,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;AAC7B,CAAC;AAED,4EAA4E;AAE5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAc,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAK,KAAiC,CAAC,IAAe,IAAI,KAAK,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;QAC9C,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;QAC9C,OAAO,CAAC,KAAK,SAAS,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;QAC9C,OAAO,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,OAAO,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;QAC9C,OAAO,CAAC,KAAK,OAAO,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,iBAAiB,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9E,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,CAAC,CAAC;IAErD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { IRNode } from '../types.js';
11
11
  export declare function generateDerive(node: IRNode): string[];
12
+ export declare function generateFmt(node: IRNode): string[];
12
13
  export declare function generateTransform(node: IRNode): string[];
13
14
  export declare function generateAction(node: IRNode): string[];
14
15
  export declare function generateActionRegistry(node: IRNode): string[];
@@ -18,6 +19,7 @@ export declare function generateInvariant(node: IRNode): string[];
18
19
  export declare function generateCollect(node: IRNode): string[];
19
20
  export declare function generateResolve(node: IRNode): string[];
20
21
  export declare function generateExpect(node: IRNode): string[];
22
+ export declare function generateAsync(node: IRNode): string[];
21
23
  export declare function generateRecover(node: IRNode): string[];
22
24
  export declare function generatePattern(_node: IRNode): string[];
23
25
  export declare function generateApply(node: IRNode, _depth?: number): string[];
@@ -29,6 +29,38 @@ export function generateDerive(node) {
29
29
  const typeAnnotation = constType ? `: ${emitTypeAnnotation(constType, 'unknown', node)}` : '';
30
30
  return [...todo, ...annotations, `${exp}const ${name}${typeAnnotation} = ${expr};`];
31
31
  }
32
+ // ── Ground Layer: fmt ────────────────────────────────────────────────────
33
+ // `fmt name=label template="${count} files"` →
34
+ // const label = `${count} files`;
35
+ //
36
+ // Why a dedicated node: string interpolation is ~15-20% of handler-block
37
+ // volume in agon (2026-04-20 scan). Expressing it as a named primitive keeps
38
+ // the IR declarative and lets tooling (reviewers, decompiler, codegen)
39
+ // recognise "this is a formatted string" without parsing a handler body.
40
+ //
41
+ // The template body is spliced verbatim into a JS template literal, so
42
+ // `${expr}` placeholders work exactly as in JS. Raw backticks in the author
43
+ // input are escaped to `\`` so the emitted template literal cannot be closed
44
+ // accidentally — `${...}` is the contract, arbitrary JS injection is not.
45
+ export function generateFmt(node) {
46
+ const annotations = emitReasonAnnotations(node);
47
+ const props = propsOf(node);
48
+ const conf = props.confidence;
49
+ const todo = emitLowConfidenceTodo(node, conf);
50
+ const name = emitIdentifier(props.name, 'formatted', node);
51
+ const template = props.template;
52
+ if (template === undefined || template === null) {
53
+ throw new KernCodegenError("fmt node requires a 'template' prop", node);
54
+ }
55
+ const constType = props.type;
56
+ const exp = exportPrefix(node);
57
+ // Escape backticks so the emitted template literal can't be closed
58
+ // prematurely. `${...}` is intentionally passed through untouched — that's
59
+ // the whole reason fmt exists.
60
+ const escapedTemplate = String(template).replace(/\\/g, '\\\\').replace(/`/g, '\\`');
61
+ const typeAnnotation = constType ? `: ${emitTypeAnnotation(constType, 'unknown', node)}` : '';
62
+ return [...todo, ...annotations, `${exp}const ${name}${typeAnnotation} = \`${escapedTemplate}\`;`];
63
+ }
32
64
  // ── Ground Layer: transform ──────────────────────────────────────────────
33
65
  export function generateTransform(node) {
34
66
  const annotations = emitReasonAnnotations(node);
@@ -292,6 +324,59 @@ export function generateExpect(node) {
292
324
  lines.push('}');
293
325
  return lines;
294
326
  }
327
+ // ── Ground Layer: async ──────────────────────────────────────────────────
328
+ // `async name=loadUser` with a `handler` child runs its body inside an IIFE.
329
+ // With an optional trailing `recover` child, delegates recovery to the
330
+ // existing `recover`/`strategy` machinery (see `generateRecover` below) —
331
+ // the emitted `<name>WithRecovery<T>` wrapper is invoked with the body as
332
+ // its Promise-returning `fn`.
333
+ //
334
+ // Design: the `async` primitive reuses existing recover/strategy semantics
335
+ // rather than inventing a new error-handling path. `derive` and `set` are
336
+ // intentionally NOT made awaitable — their identity as direct bindings /
337
+ // state updates stays pure.
338
+ export function generateAsync(node) {
339
+ const annotations = emitReasonAnnotations(node);
340
+ const props = propsOf(node);
341
+ const conf = props.confidence;
342
+ const todo = emitLowConfidenceTodo(node, conf);
343
+ const name = emitIdentifier(props.name, 'asyncBlock', node);
344
+ const handler = firstChild(node, 'handler');
345
+ if (!handler) {
346
+ throw new KernCodegenError('async block requires a `handler <<<>>>` child with the body', node);
347
+ }
348
+ // handlerCode() takes the PARENT that has a handler child — pass `node`, not `handler`.
349
+ const body = handlerCode(node);
350
+ const recover = firstChild(node, 'recover');
351
+ const lines = [...todo, ...annotations];
352
+ if (!recover) {
353
+ // Bare IIFE — fire-and-forget. Parent context decides whether to await it.
354
+ lines.push(`(async () => {`);
355
+ if (body) {
356
+ for (const line of body.split('\n')) {
357
+ lines.push(` ${line}`);
358
+ }
359
+ }
360
+ lines.push(`})();`);
361
+ return lines;
362
+ }
363
+ // With recovery: emit the reusable wrapper, then invoke it. The recover
364
+ // node inherits the async block's name so generateRecover emits
365
+ // `<name>WithRecovery<T>(...)` — one symbol that ties the two together.
366
+ const namedRecover = {
367
+ ...recover,
368
+ props: { ...(recover.props || {}), name },
369
+ };
370
+ lines.push(...generateRecover(namedRecover));
371
+ lines.push(`${name}WithRecovery(async () => {`);
372
+ if (body) {
373
+ for (const line of body.split('\n')) {
374
+ lines.push(` ${line}`);
375
+ }
376
+ }
377
+ lines.push(`});`);
378
+ return lines;
379
+ }
295
380
  // ── Ground Layer: recover / strategy ─────────────────────────────────────
296
381
  export function generateRecover(node) {
297
382
  const annotations = emitReasonAnnotations(node);
@@ -1 +1 @@
1
- {"version":3,"file":"ground-layer.js","sourceRoot":"","sources":["../../src/codegen/ground-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ground-layer.js","sourceRoot":"","sources":["../../src/codegen/ground-layer.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@
25
25
  * return (<Box><Text>{title}</Text></Box>);
26
26
  * }
27
27
  */
28
- import { emitIdentifier } from './emitters.js';
28
+ import { KernCodegenError } from '../errors.js';
29
+ import { emitIdentifier, emitTypeAnnotation } from './emitters.js';
29
30
  import { exportPrefix, getChildren, getFirstChild, getProps } from './helpers.js';
30
31
  function propsOf(node) {
31
32
  return node.props || {};
@@ -194,11 +195,21 @@ function emitInputHandlers(nodes, lines) {
194
195
  lines.push('');
195
196
  }
196
197
  }
198
+ // JSX-composable child types inside a `render` block. Only these trigger the
199
+ // declarative-composition path. Metadata-only children (doc, reason, needs, ...)
200
+ // must NOT force composition — their sibling handler owns the render body and
201
+ // should continue through the raw-handler passthrough below.
202
+ const RENDER_JSX_CHILD_TYPES = new Set(['each', 'conditional']);
197
203
  function emitRender(renderNode, lines) {
198
204
  if (!renderNode) {
199
205
  lines.push(` return null;`);
200
206
  return;
201
207
  }
208
+ const hasJsxChild = getChildren(renderNode).some((c) => RENDER_JSX_CHILD_TYPES.has(c.type));
209
+ if (hasJsxChild) {
210
+ emitRenderComposed(renderNode, lines);
211
+ return;
212
+ }
202
213
  const body = handlerContent(renderNode);
203
214
  const trimmed = body.trim();
204
215
  if (trimmed.includes('return ') || trimmed.includes('return(')) {
@@ -212,4 +223,219 @@ function emitRender(renderNode, lines) {
212
223
  lines.push(` );`);
213
224
  }
214
225
  }
226
+ /**
227
+ * Compose a render block from declarative KERN children (each, and later conditional).
228
+ * Handler blocks inside render are treated as literal JSX fragments.
229
+ * Emits `return (<>...</>);` containing each child's JSX.
230
+ */
231
+ function emitRenderComposed(renderNode, lines) {
232
+ const pieces = [];
233
+ for (const child of getChildren(renderNode)) {
234
+ if (child.type === 'each') {
235
+ pieces.push(generateEachJSX(child));
236
+ }
237
+ else if (child.type === 'conditional') {
238
+ pieces.push(generateConditionalJSX(child));
239
+ }
240
+ else if (child.type === 'handler') {
241
+ // In composed mode the handler contributes a JSX fragment, not a
242
+ // `return`-wrapped expression. Strip a leading `return (...);` so authors
243
+ // can reuse the same handler shape as non-composed renders.
244
+ const raw = propsOf(child).code || '';
245
+ pieces.push(stripReturnWrapper(raw).split('\n'));
246
+ }
247
+ // Other declarative/metadata children (doc, reason, needs, ...) are skipped.
248
+ }
249
+ lines.push(` return (`);
250
+ lines.push(` <>`);
251
+ for (const piece of pieces) {
252
+ for (const line of piece)
253
+ lines.push(` ${line}`);
254
+ }
255
+ lines.push(` </>`);
256
+ lines.push(` );`);
257
+ }
258
+ /**
259
+ * If a handler body is shaped like `return (<...>);` or `return <...>;`, return
260
+ * just the inner JSX so it can be embedded inside a fragment. Otherwise return
261
+ * the body unchanged.
262
+ */
263
+ function stripReturnWrapper(code) {
264
+ const trimmed = code.trim();
265
+ const parenReturn = trimmed.match(/^return\s*\(([\s\S]*)\)\s*;?\s*$/m);
266
+ if (parenReturn)
267
+ return parenReturn[1].trim();
268
+ const bareReturn = trimmed.match(/^return\s+([\s\S]*?)\s*;?\s*$/m);
269
+ if (bareReturn && !trimmed.includes('\n'))
270
+ return bareReturn[1].trim();
271
+ return code;
272
+ }
273
+ /**
274
+ * JSX-expression form of `each`.
275
+ *
276
+ * - With no `let` children: emits the expression-arrow form
277
+ * `(coll).map((name, i) => <React.Fragment key={...}>...</React.Fragment>)`.
278
+ * - With `let` children: emits a block-arrow form that threads each `let` as a
279
+ * plain `const` inside the callback, then returns the fragment:
280
+ * `(coll).map((name, i) => { const x = ...; const y = ...; return (<React.Fragment key={...}>...</React.Fragment>); })`.
281
+ *
282
+ * Authors choose: put iteration-scoped bindings as `let` children (declarative,
283
+ * toolable), or inline them inside the handler (still works for simple shapes
284
+ * but not recommended for multi-statement callbacks).
285
+ *
286
+ * Auto-key: `<name>.id ?? <name>.key ?? <index>` when `key=` is not supplied.
287
+ */
288
+ function generateEachJSX(node) {
289
+ const props = propsOf(node);
290
+ const name = props.name || 'item';
291
+ const rawCollection = props.in;
292
+ const collection = rawCollection && typeof rawCollection === 'object' && rawCollection.__expr
293
+ ? rawCollection.code
294
+ : rawCollection;
295
+ if (!collection)
296
+ throw new KernCodegenError("each node requires an 'in' prop", node);
297
+ const index = props.index || '__i';
298
+ const rawKey = props.key;
299
+ const keyExpr = rawKey && typeof rawKey === 'object' && rawKey.__expr
300
+ ? rawKey.code
301
+ : typeof rawKey === 'string'
302
+ ? rawKey
303
+ : '';
304
+ const effectiveKey = keyExpr || `${name}.id ?? ${name}.key ?? ${index}`;
305
+ const handler = getFirstChild(node, 'handler');
306
+ if (!handler) {
307
+ throw new KernCodegenError('each inside a render block requires a `handler <<<>>>` child with the per-item JSX', node);
308
+ }
309
+ const body = propsOf(handler).code || '';
310
+ // Handler body is embedded inside the React.Fragment. If the author wrote a
311
+ // full `return (...);` wrapper, strip it so it composes cleanly.
312
+ const bodyLines = stripReturnWrapper(body).split('\n');
313
+ const letChildren = getChildren(node, 'let');
314
+ const lines = [];
315
+ if (letChildren.length === 0) {
316
+ // Expression-arrow form.
317
+ lines.push(`{(${collection}).map((${name}, ${index}) => (`);
318
+ lines.push(` <React.Fragment key={${effectiveKey}}>`);
319
+ for (const line of bodyLines)
320
+ lines.push(` ${line}`);
321
+ lines.push(` </React.Fragment>`);
322
+ lines.push(`))}`);
323
+ return lines;
324
+ }
325
+ // Block-arrow form — emit let bindings as consts, then return the fragment.
326
+ lines.push(`{(${collection}).map((${name}, ${index}) => {`);
327
+ for (const letNode of letChildren) {
328
+ lines.push(` ${renderLetBinding(letNode)}`);
329
+ }
330
+ lines.push(` return (`);
331
+ lines.push(` <React.Fragment key={${effectiveKey}}>`);
332
+ for (const line of bodyLines)
333
+ lines.push(` ${line}`);
334
+ lines.push(` </React.Fragment>`);
335
+ lines.push(` );`);
336
+ lines.push(`})}`);
337
+ return lines;
338
+ }
339
+ /**
340
+ * JSX-expression form of `conditional` inside a render block.
341
+ *
342
+ * conditional if="loading" → `{loading && (<Spinner />)}`
343
+ * handler <<< <Spinner /> >>>
344
+ *
345
+ * conditional if="loading" → `{loading ? (<Spinner />) : (<Content />)}`
346
+ * handler <<< <Spinner /> >>>
347
+ * else
348
+ * handler <<< <Content /> >>>
349
+ *
350
+ * conditional if="loading" → `{loading ? (<Spinner />) : error ? (<Err />) : (<Content />)}`
351
+ * handler <<< <Spinner /> >>>
352
+ * elseif expr="error"
353
+ * handler <<< <Err /> >>>
354
+ * else
355
+ * handler <<< <Content /> >>>
356
+ *
357
+ * Each branch must carry its JSX in a `handler <<<>>>` child. `elseif` / `else`
358
+ * children appear in source order and chain into nested ternaries.
359
+ */
360
+ function generateConditionalJSX(node) {
361
+ const props = propsOf(node);
362
+ const rawCondition = props.if;
363
+ const condition = rawCondition && typeof rawCondition === 'object' && rawCondition.__expr
364
+ ? rawCondition.code
365
+ : rawCondition;
366
+ if (!condition)
367
+ throw new KernCodegenError("conditional node requires an 'if' prop", node);
368
+ const thenHandler = getFirstChild(node, 'handler');
369
+ if (!thenHandler) {
370
+ throw new KernCodegenError('conditional inside a render block requires a `handler <<<>>>` child with the `then` JSX', node);
371
+ }
372
+ const thenLines = stripReturnWrapper(propsOf(thenHandler).code || '').split('\n');
373
+ const elseIfNodes = getChildren(node, 'elseif');
374
+ const elseNode = getFirstChild(node, 'else');
375
+ // Simple `{cond && (...)}` — no alternatives.
376
+ if (elseIfNodes.length === 0 && !elseNode) {
377
+ const lines = [`{${condition} && (`];
378
+ for (const line of thenLines)
379
+ lines.push(` ${line}`);
380
+ lines.push(`)}`);
381
+ return lines;
382
+ }
383
+ // Ternary chain: then → [elseif → ...] → (else | null).
384
+ const lines = [`{${condition} ? (`];
385
+ for (const line of thenLines)
386
+ lines.push(` ${line}`);
387
+ for (const elseIf of elseIfNodes) {
388
+ const ep = propsOf(elseIf);
389
+ const rawExpr = ep.expr;
390
+ const elseIfExpr = rawExpr && typeof rawExpr === 'object' && rawExpr.__expr
391
+ ? rawExpr.code
392
+ : rawExpr;
393
+ if (!elseIfExpr) {
394
+ throw new KernCodegenError("elseif node requires an 'expr' prop", elseIf);
395
+ }
396
+ const elseIfHandler = getFirstChild(elseIf, 'handler');
397
+ if (!elseIfHandler) {
398
+ throw new KernCodegenError('elseif inside a render block requires a `handler <<<>>>` child with the branch JSX', elseIf);
399
+ }
400
+ const body = stripReturnWrapper(propsOf(elseIfHandler).code || '').split('\n');
401
+ lines.push(`) : ${elseIfExpr} ? (`);
402
+ for (const line of body)
403
+ lines.push(` ${line}`);
404
+ }
405
+ if (elseNode) {
406
+ const elseHandler = getFirstChild(elseNode, 'handler');
407
+ if (!elseHandler) {
408
+ throw new KernCodegenError('else inside a render block requires a `handler <<<>>>` child with the fallback JSX', elseNode);
409
+ }
410
+ const body = stripReturnWrapper(propsOf(elseHandler).code || '').split('\n');
411
+ lines.push(`) : (`);
412
+ for (const line of body)
413
+ lines.push(` ${line}`);
414
+ lines.push(`)}`);
415
+ }
416
+ else {
417
+ lines.push(`) : null}`);
418
+ }
419
+ return lines;
420
+ }
421
+ /**
422
+ * Render a single `let` node as a `const name[: type] = expr;` line. Name and
423
+ * type are routed through the schema emitters so invalid identifiers or type
424
+ * annotations raise KernCodegenError instead of producing broken TSX like
425
+ * `const is-selected = …;`. The expression is raw by design (rawExpr).
426
+ */
427
+ function renderLetBinding(node) {
428
+ const lp = propsOf(node);
429
+ const lname = emitIdentifier(lp.name, 'binding', node);
430
+ const rawExpr = lp.expr;
431
+ const expr = rawExpr && typeof rawExpr === 'object' && rawExpr.__expr
432
+ ? rawExpr.code
433
+ : rawExpr || '';
434
+ if (!expr) {
435
+ throw new KernCodegenError("let node requires an 'expr' prop", node);
436
+ }
437
+ const t = lp.type;
438
+ const typeAnn = t ? `: ${emitTypeAnnotation(t, 'unknown', node)}` : '';
439
+ return `const ${lname}${typeAnn} = ${expr};`;
440
+ }
215
441
  //# sourceMappingURL=screens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/codegen/screens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/codegen/screens.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export { generateCache, generateConfig, generateDependency, generateModel, gener
16
16
  export { emitIdentifier, emitImportSpecifier, emitPath, emitStringLiteral, emitTemplateSafe, emitTypeAnnotation, } from './codegen/emitters.js';
17
17
  export { generateEvent, generateOn, generateWebSocket } from './codegen/events.js';
18
18
  export { generateError, generateFunction } from './codegen/functions.js';
19
- export { generateAction, generateActionRegistry, generateApply, generateAssume, generateCollect, generateDerive, generateExpect, generateGuard, generateInvariant, generatePattern, generateRecover, generateResolve, generateTransform, } from './codegen/ground-layer.js';
19
+ export { generateAction, generateActionRegistry, generateApply, generateAssume, generateAsync, generateCollect, generateDerive, generateExpect, generateFmt, generateGuard, generateInvariant, generatePattern, generateRecover, generateResolve, generateTransform, } from './codegen/ground-layer.js';
20
20
  export { capitalize, cssPropertyName, dedent, emitLowConfidenceTodo, emitReasonAnnotations, exportPrefix, getChildren, getFirstChild, getProps, getPseudoStyles, getStyles, getThemeRefs, handlerCode, parseParamList, sourceComment, } from './codegen/helpers.js';
21
21
  export { generateMachine, generateMachineReducer } from './codegen/machines.js';
22
22
  export { generateImport } from './codegen/modules.js';