@barefootjs/go-template 0.18.5 → 0.19.0

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.
Files changed (36) hide show
  1. package/dist/adapter/analysis/static-child-loop-bake.d.ts +61 -0
  2. package/dist/adapter/analysis/static-child-loop-bake.d.ts.map +1 -0
  3. package/dist/adapter/analysis/static-element-loop-bake.d.ts +83 -0
  4. package/dist/adapter/analysis/static-element-loop-bake.d.ts.map +1 -0
  5. package/dist/adapter/emit-context.d.ts +11 -5
  6. package/dist/adapter/emit-context.d.ts.map +1 -1
  7. package/dist/adapter/go-template-adapter.d.ts +153 -6
  8. package/dist/adapter/go-template-adapter.d.ts.map +1 -1
  9. package/dist/adapter/index.js +514 -53
  10. package/dist/adapter/lib/compile-state.d.ts +24 -0
  11. package/dist/adapter/lib/compile-state.d.ts.map +1 -1
  12. package/dist/adapter/lib/types.d.ts +9 -0
  13. package/dist/adapter/lib/types.d.ts.map +1 -1
  14. package/dist/adapter/props/prop-classes.d.ts +28 -9
  15. package/dist/adapter/props/prop-classes.d.ts.map +1 -1
  16. package/dist/adapter/props/prop-types.d.ts +45 -0
  17. package/dist/adapter/props/prop-types.d.ts.map +1 -1
  18. package/dist/build.js +514 -53
  19. package/dist/conformance-pins.d.ts.map +1 -1
  20. package/dist/index.js +516 -62
  21. package/dist/render-divergences.d.ts.map +1 -1
  22. package/dist/test-render.d.ts.map +1 -1
  23. package/package.json +3 -3
  24. package/src/__tests__/go-template-adapter.test.ts +876 -21
  25. package/src/adapter/analysis/static-child-loop-bake.ts +119 -0
  26. package/src/adapter/analysis/static-element-loop-bake.ts +211 -0
  27. package/src/adapter/emit-context.ts +14 -5
  28. package/src/adapter/go-template-adapter.ts +620 -45
  29. package/src/adapter/lib/compile-state.ts +27 -0
  30. package/src/adapter/lib/types.ts +9 -0
  31. package/src/adapter/props/prop-classes.ts +34 -9
  32. package/src/adapter/props/prop-types.ts +178 -1
  33. package/src/adapter/value/value-lowering.ts +1 -1
  34. package/src/conformance-pins.ts +30 -31
  35. package/src/render-divergences.ts +12 -0
  36. package/src/test-render.ts +127 -10
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Compile-time baking for a static-array `.map()` loop whose body is a
3
+ * single child component with a plain-value (non-JSX) prop set (#2208).
4
+ *
5
+ * `NewXxxProps`'s existing `staticWithoutBody` path (see
6
+ * `go-template-adapter.ts`'s `generateNewPropsFunction`) populates a static
7
+ * loop's child slices from `in.<Name>s` — data the CALLER (handler) must
8
+ * supply. When the loop's array source is itself a fully-static literal
9
+ * (`const items = [{ label: 'Alpha' }, ...]`, #2208), there is no caller
10
+ * input to wait for: every per-item prop value is already known at compile
11
+ * time. `analyzeBakeableStaticChildLoop` resolves that data — the resolved
12
+ * Go literal for each item's input fields, plus its `data-key` — so the
13
+ * constructor can emit `New<Name>Props(<Name>Input{ Field: "value", ... })`
14
+ * directly per item instead of ranging over `in.<Name>s`.
15
+ *
16
+ * Deliberately narrow: only scalar (string/number/boolean) prop values are
17
+ * baked. Anything else (an unresolvable expression, a destructured loop
18
+ * param, a JSX-valued prop) returns `null` so the caller keeps the existing
19
+ * `in.<Name>s`-driven path (or BF101 refusal) unchanged.
20
+ */
21
+ import { type ConstantInfo, type IRProp, type ParsedExpr } from '@barefootjs/jsx';
22
+ export interface BakedStaticChildItem {
23
+ inputFields: Array<{
24
+ goField: string;
25
+ goValue: string;
26
+ }>;
27
+ dataKey: string | null;
28
+ }
29
+ export interface BakedStaticChildLoop {
30
+ items: BakedStaticChildItem[];
31
+ }
32
+ /**
33
+ * Render a compile-time-known JS scalar as a Go template literal (a quoted
34
+ * string / bare number / `true`/`false`), or `null` for anything else
35
+ * (object, array, `null`, `undefined`) — those have no bare-literal Go
36
+ * template form at this layer. Exported for reuse by
37
+ * `static-element-loop-bake.ts` (#2224), which bakes item field values into
38
+ * a plain-element loop body's text/attr positions the same way this module
39
+ * bakes them into a child component's `Input{...}` constructor call.
40
+ */
41
+ export declare function scalarToGoLiteral(value: unknown): string | null;
42
+ /**
43
+ * Analyze one nested static child-component loop for bakeability. `props`
44
+ * are the child's JSX attrs (`IRLoopChildComponent.props`); `loopArrayParsed`
45
+ * / `loopParam` / `loopKey` come from the same `NestedComponentInfo` the
46
+ * caller already carries. Returns `null` when the shape isn't (yet)
47
+ * bakeable — the caller falls back to its existing behavior unchanged.
48
+ */
49
+ export declare function analyzeBakeableStaticChildLoop(nested: {
50
+ props: ReadonlyArray<{
51
+ name: string;
52
+ value: IRProp['value'];
53
+ isEventHandler: boolean;
54
+ }>;
55
+ loopArrayParsed?: ParsedExpr;
56
+ loopParam?: string;
57
+ loopKey?: string;
58
+ }, localConstants: ReadonlyArray<ConstantInfo>, opts?: {
59
+ isNameShadowed?: (name: string) => boolean;
60
+ }): BakedStaticChildLoop | null;
61
+ //# sourceMappingURL=static-child-loop-bake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-child-loop-bake.d.ts","sourceRoot":"","sources":["../../../src/adapter/analysis/static-child-loop-bake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAmE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIlJ,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,oBAAoB,EAAE,CAAA;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK/D;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE;IACN,KAAK,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvF,eAAe,CAAC,EAAE,UAAU,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,cAAc,EAAE,aAAa,CAAC,YAAY,CAAC,EAC3C,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GACpD,oBAAoB,GAAG,IAAI,CAgC7B"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Compile-time UNROLL for a static-array `.map()` loop whose body is a
3
+ * PLAIN ELEMENT TREE (no child component) — go-only follow-up to #2208
4
+ * (#2224 shape 1). `html/template` has no slice/map literal syntax, so
5
+ * unlike the other 7 template adapters (which splice a serialized literal
6
+ * straight into the loop header — #2208), Go can't bind a compile-time-only
7
+ * array as a `{{range}}` source at all. Rather than synthesizing a Go struct
8
+ * type for the item shape (a materially bigger lift — see the #2224 issue
9
+ * body's "suggested fix direction"), this module verifies the loop body is
10
+ * fully foldable against every item and lets the caller
11
+ * (`go-template-adapter.ts`'s `renderLoop`) render the body once PER ITEM
12
+ * with every item-derived value substituted as a compile-time-known Go
13
+ * literal — no `{{range}}`, no struct, no field lookup, so no hidden runtime
14
+ * failure mode either (`html/template` resolves struct fields at EXECUTE
15
+ * time, not Go compile time).
16
+ *
17
+ * ACCEPTANCE CRITERIA — `analyzeBakeableStaticElementLoop` returns `null`
18
+ * (caller keeps today's BF101 refusal) unless ALL of the following hold:
19
+ *
20
+ * - The loop has no child component (that shape is #2208's own baking
21
+ * path — `analyzeBakeableStaticChildLoop`).
22
+ * - Not a `.flatMap()` (`method: 'flatMap'` / `flatMapCallback` set) — an
23
+ * item can fold to 0+ elements there, and a complex callback carries its
24
+ * body out-of-band rather than in `children`; out of scope.
25
+ * - The loop array resolves via `resolveStaticLoopSource` (a fully-static
26
+ * array literal, inline or a named function-scope const;
27
+ * `isNameShadowed`-checked — the SAME resolution #2208 already trusts
28
+ * for the child-component shape).
29
+ * - The callback param is a simple identifier (no array/object destructure
30
+ * pattern).
31
+ * - The callback does NOT bind an index parameter (`.map((item, i) =>
32
+ * ...)`, or `.entries()`/`.keys()`/`Object.entries()`-style pre-map
33
+ * iteration) — deliberately excluded from the evaluator surface even
34
+ * though the index value is technically knowable at unroll time, to
35
+ * keep the per-item binding set identical to #2208's (item-only).
36
+ * - No `.filter()` / `.sort()` chained onto the `.map()` — out of scope.
37
+ * - The body is neither multi-root (`bodyIsMultiRoot`) nor a whole-item
38
+ * conditional (`bodyIsItemConditional`) — those need anchor-marker
39
+ * machinery this pass doesn't attempt to reproduce per item.
40
+ * - Every node anywhere in the body's IR tree is an `element`, `text`, or
41
+ * `expression` — a nested `loop`, `conditional`, `component`, `slot`,
42
+ * `fragment`, `if-statement`, `provider`, or `async` bails the WHOLE
43
+ * loop (no partial unroll; a loud refusal beats silently wrong output).
44
+ * - Every element attribute is `literal` / `boolean-attr` /
45
+ * `boolean-shorthand`, or a plain `expression` whose parsed kind is one
46
+ * of `identifier` / `member` / `index-access` / `literal`. An attribute
47
+ * `template-literal` or `conditional` bypasses the Go adapter's normal
48
+ * `convertExpressionToGo` emission path in its own attribute emitter
49
+ * (it calls `renderParsedExpr` directly and splices the result assuming
50
+ * adapter-specific self-wrapping conventions) — baking those would need
51
+ * separate handling, deferred. `spread` / `jsx-children` attrs bail.
52
+ * - Every dynamic text `expression` node (any parsed kind, INCLUDING
53
+ * `template-literal` — text always funnels through
54
+ * `convertExpressionToGo` uniformly, no bypass) resolves via
55
+ * `evaluateStaticLiteral(expr.parsed, itemBindings)` to a scalar
56
+ * (string/number/boolean) for EVERY item. A signal/memo call, a
57
+ * reference to any non-item-static local (props, outer consts, an
58
+ * enclosing loop's own param), an unresolvable nested method chain, or
59
+ * a non-scalar (array/object) result bails the whole loop.
60
+ *
61
+ * Analysis only (mirrors `static-child-loop-bake.ts`): this module never
62
+ * emits Go syntax. `go-template-adapter.ts`'s `renderLoop` re-runs the SAME
63
+ * `evaluateStaticLiteral` call per item through its own
64
+ * `convertExpressionToGo` override once this analysis has cleared the whole
65
+ * loop, so the two passes can never disagree — this pass is pure validation,
66
+ * with no adapter-state side effects to roll back if it can't clear a loop.
67
+ */
68
+ import { type ConstantInfo, type IRLoop } from '@barefootjs/jsx';
69
+ export interface BakedStaticElementLoop {
70
+ items: unknown[];
71
+ }
72
+ type LoopShape = Pick<IRLoop, 'childComponent' | 'param' | 'index' | 'arrayParsed' | 'children' | 'filterPredicate' | 'sortComparator' | 'bodyIsMultiRoot' | 'bodyIsItemConditional' | 'paramBindings' | 'iterationShape' | 'objectIteration' | 'method' | 'flatMapCallback'>;
73
+ /**
74
+ * Analyze a `.map()` loop with a plain-element (non-component) body for
75
+ * static unrolling. Returns the resolved item values (ready for the caller
76
+ * to render the body once per item) or `null` when the shape isn't (yet)
77
+ * bakeable this way — see the acceptance criteria in the module docstring.
78
+ */
79
+ export declare function analyzeBakeableStaticElementLoop(loop: LoopShape, localConstants: ReadonlyArray<ConstantInfo>, opts?: {
80
+ isNameShadowed?: (name: string) => boolean;
81
+ }): BakedStaticElementLoop | null;
82
+ export {};
83
+ //# sourceMappingURL=static-element-loop-bake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-element-loop-bake.d.ts","sourceRoot":"","sources":["../../../src/adapter/analysis/static-element-loop-bake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAEH,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAA;AAGxB,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,EAAE,CAAA;CACjB;AASD,KAAK,SAAS,GAAG,IAAI,CACnB,MAAM,EACJ,gBAAgB,GAChB,OAAO,GACP,OAAO,GACP,aAAa,GACb,UAAU,GACV,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,uBAAuB,GACvB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,QAAQ,GACR,iBAAiB,CACpB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,aAAa,CAAC,YAAY,CAAC,EAC3C,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GACpD,sBAAsB,GAAG,IAAI,CAuB/B"}
@@ -33,13 +33,19 @@ export interface GoEmitContext {
33
33
  condition: string;
34
34
  preamble: string;
35
35
  };
36
- /** Extract the prop name from a `props.X ?? …` initial value, or null. */
37
- extractPropNameFromInitialValue(initialValue: string): string | null;
38
36
  /**
39
- * Parse a signal-time initial value `props.X ?? <literal>` into the source
40
- * prop name and the Go-formatted fallback, or null when it isn't that shape.
37
+ * Extract the prop name from a `props.X ?? …` initial value — or, given
38
+ * `preParsed` in a destructured component, an `x ?? …` identifier form
39
+ * or null. Callers validate the name against `propsParams`.
41
40
  */
42
- extractPropFallback(initialValue: string): {
41
+ extractPropNameFromInitialValue(initialValue: string, preParsed?: ParsedExpr): string | null;
42
+ /**
43
+ * Parse a signal-time initial value `props.X ?? <literal>` (or the
44
+ * destructured `x ?? <literal>` form when `preParsed` is given) into the
45
+ * source prop name and the Go-formatted fallback, or null when it isn't
46
+ * that shape. Callers validate the name against `propsParams`.
47
+ */
48
+ extractPropFallback(initialValue: string, preParsed?: ParsedExpr): {
43
49
  propName: string;
44
50
  goFallback: string;
45
51
  } | null;
@@ -1 +1 @@
1
- {"version":3,"file":"emit-context.d.ts","sourceRoot":"","sources":["../../src/adapter/emit-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAC7B,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,CAAA;IAET;;;OAGG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAE1C,0EAA0E;IAC1E,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAEpE;;;OAGG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAE1F;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CACtD"}
1
+ {"version":3,"file":"emit-context.d.ts","sourceRoot":"","sources":["../../src/adapter/emit-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,EAC7B,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,CAAA;IAET;;;OAGG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAE1C;;;;OAIG;IACH,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAA;IAE5F;;;;;OAKG;IACH,mBAAmB,CACjB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,UAAU,GACrB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAElD;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CACtD"}
@@ -41,6 +41,22 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
41
41
  /** Diagnostics from the current compile (backed by `CompileState`); `generate()` also merges these into `ir.errors`. */
42
42
  get errors(): CompilerError[];
43
43
  private inLoop;
44
+ /**
45
+ * Memoized `analyzeBakeableStaticChildLoop` result per loop marker id
46
+ * (#2208). Consulted from three sites that all need the SAME verdict for
47
+ * the SAME loop — the `renderLoop` gate, the Input struct's field list,
48
+ * and the constructor's per-item construction. `renderLoop`'s gate runs
49
+ * during `generate()`'s render pass; the other two run during
50
+ * `generateTypes()`'s constructor-generation pass, which `generate()`
51
+ * also invokes internally partway through — so this cache is reset (in
52
+ * `primeCompileState`, not here) between those two passes too. Agreement
53
+ * across all three sites is therefore guaranteed by `analyzeBakeable-
54
+ * StaticChildLoop` being a deterministic pure function of the (re-primed)
55
+ * per-compile state, not by one shared memo spanning every read; the
56
+ * cache's value is avoiding redundant recomputation WITHIN the pass that
57
+ * populated it, not correctness across passes.
58
+ */
59
+ private bakedStaticChildLoopCache;
44
60
  private loopParamStack;
45
61
  /**
46
62
  * Stack of `IRLoop.depth` values (innermost last), pushed/popped around
@@ -87,6 +103,30 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
87
103
  * alone (#2087 Phase B).
88
104
  */
89
105
  private loopRestExcludeStack;
106
+ /**
107
+ * Active per-item static bindings for a #2224 unrolled plain-element loop
108
+ * (`renderUnrolledStaticElementLoop`) — innermost last, so a nested static
109
+ * unroll inside another one resolves against its own item, not an outer
110
+ * one's. When non-empty, `convertExpressionToGo`'s top-of-function check
111
+ * resolves EVERY expression against the innermost entry's item via
112
+ * `evaluateStaticLiteral` and returns a literal Go value instead of
113
+ * descending into the normal `.Field`-style dot-context lowering — there
114
+ * is no real `{{range}}` establishing that context during an unroll, so
115
+ * `identifier()`'s `currentLoopParam → '.'` branch would otherwise resolve
116
+ * against the WRONG (enclosing) dot context. `analyzeBakeableStaticElementLoop`
117
+ * has already verified every expression in the body resolves this way for
118
+ * every item, so the fallback failure branch below is a defensive
119
+ * invariant check, not a real code path.
120
+ */
121
+ private staticLoopItemStack;
122
+ /**
123
+ * Set by the `convertExpressionToGo` override above when a
124
+ * `staticLoopItemStack` entry is active but the current expression fails
125
+ * to resolve against it — should never happen (see that check's comment),
126
+ * but `renderUnrolledStaticElementLoop` asserts this stays `false` after
127
+ * every item render rather than silently shipping a `""` sentinel.
128
+ */
129
+ private staticLoopBakeFailed;
90
130
  /**
91
131
  * Cross-component child shapes, keyed by child component name. Populated via
92
132
  * `registerChildComponentShape` before the parent's `generateTypes`, so the
@@ -334,18 +374,32 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
334
374
  */
335
375
  private collectPropFallbackVars;
336
376
  /**
337
- * Parse a signal-time initial value of the form `props.X ?? <literal>` into
338
- * the source prop name and the Go-formatted fallback. Returns null when the
339
- * expression isn't a `??` against a property access on `propsObjectName`, or
340
- * the fallback isn't a simple literal `goPropDefault` can translate.
377
+ * Parse a signal-time initial value of the form `props.X ?? <literal>`
378
+ * or, for destructured components, `x ?? <literal>` into the source prop
379
+ * name and the Go-formatted fallback. Returns null when the expression
380
+ * isn't that shape or the fallback isn't a simple literal `goPropDefault`
381
+ * can translate.
382
+ *
383
+ * `preParsed` (the signal's best-effort `ParsedExpr`) is matched
384
+ * structurally when available; the regex handles only the props-object
385
+ * member form for callers without a tree (memo computations). A bare
386
+ * identifier can shadow a same-named prop (loop/callback params — the
387
+ * `collectNullishConsumedPropNames` limitation class), so every caller
388
+ * validates the returned name against `ir.metadata.propsParams`.
341
389
  *
342
390
  * Keeps the original prop reference (not just the resolved value) so
343
391
  * caller-supplied non-zero inputs are honoured.
344
392
  */
345
393
  private extractPropFallback;
394
+ /** Structural half of {@link extractPropFallback}. */
395
+ private extractPropFallbackFromParsed;
346
396
  /**
347
397
  * Extract the prop name from a signal's `props.xxx`-pattern initialValue,
348
398
  * e.g. `"props.initial ?? 0"` → `"initial"`, `"props.checked"` → `"checked"`.
399
+ * For destructured components (`propsObjectName` null) the same shapes are
400
+ * matched structurally on `preParsed` with an identifier left operand
401
+ * (`size ?? 0` → `"size"`); callers validate the name against
402
+ * `propsParams`, which filters shadowing locals.
349
403
  */
350
404
  private extractPropNameFromInitialValue;
351
405
  /**
@@ -366,6 +420,13 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
366
420
  emitProvider(node: IRProvider, _ctx: GoRenderCtx, _emit: EmitIRNode<GoRenderCtx>): string;
367
421
  emitAsync(node: IRAsync, _ctx: GoRenderCtx, _emit: EmitIRNode<GoRenderCtx>): string;
368
422
  renderElement(element: IRElement): string;
423
+ /**
424
+ * `dangerouslySetInnerHTML={{ __html: '...' }}` (#2207) — see the Blade
425
+ * adapter's identical helper for the full rationale. `null` means the
426
+ * attribute is absent (caller falls through to normal `renderChildren`);
427
+ * a non-`null` string (possibly `''`) replaces the children outright.
428
+ */
429
+ private renderDangerousInnerHtml;
369
430
  renderExpression(expr: IRExpression): string;
370
431
  /**
371
432
  * Whether a lowered Go string already carries its own `{{...}}` actions and so
@@ -494,6 +555,25 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
494
555
  private _isStringValueName;
495
556
  unary(op: string, argument: ParsedExpr, emit: (e: ParsedExpr) => string): string;
496
557
  logical(op: '&&' | '||' | '??', left: ParsedExpr, right: ParsedExpr, emit: (e: ParsedExpr) => string): string;
558
+ /**
559
+ * The nillable-prop name a `??` left operand refers to, or null. Matches
560
+ * the two prop-reference shapes (`label` destructured, `props.label`
561
+ * object-style) against `nullishConsumedPropNames ∩ nillablePropNames`.
562
+ *
563
+ * The intersection matters: `nillablePropNames` alone OVERAPPROXIMATES —
564
+ * it is collected before local type aliases are registered, so an
565
+ * alias-typed prop (`placement?: TooltipPlacement`) can sit in the set
566
+ * while its emitted struct field is the concrete alias type. On such a
567
+ * concrete field "absent" is invisible (the zero value), so the
568
+ * truthiness-based `or` is the correct approximation and `bf_nullish`
569
+ * would wrongly KEEP the zero value (e.g. Tooltip's
570
+ * `placementClasses[props.placement ?? 'top']` would resolve to no
571
+ * class for an omitted placement). Requiring `nullishConsumedPropNames`
572
+ * membership pins the
573
+ * gate to props the `??` analysis actually saw — the same set that drives
574
+ * the `interface{}` flip in `resolvePropGoType`.
575
+ */
576
+ private nillablePropNameOf;
497
577
  conditional(test: ParsedExpr, consequent: ParsedExpr, alternate: ParsedExpr, emit: (e: ParsedExpr) => string): string;
498
578
  templateLiteral(parts: TemplatePart[], emit: (e: ParsedExpr) => string): string;
499
579
  arrow(params: string[], _body: ParsedExpr, _emit: (e: ParsedExpr) => string): string;
@@ -591,7 +671,12 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
591
671
  private renderFilterLengthExpr;
592
672
  /**
593
673
  * Render a predicate for use in Go template `{{if}}` conditions, substituting
594
- * the loop parameter (e.g. `t` in `t.done`) with dot notation.
674
+ * the loop parameter (e.g. `t` in `t.done`) with dot notation. `datumField`
675
+ * (#2228) is the wrapper struct's datum-carrying field name (e.g. `"Todo"`)
676
+ * for a loop whose body is a child component — see `wrapperDatumField` — so
677
+ * `t.done` qualifies through it (`.Todo.Done`) instead of the bare `.Done`
678
+ * `html/template` can't resolve on the wrapper Props struct. `undefined` for
679
+ * a non-wrapper (plain-element-body) loop, where `.` already IS the datum.
595
680
  */
596
681
  private renderPredicateCondition;
597
682
  /** Whether an expression needs parentheses when used in and/or. */
@@ -608,7 +693,13 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
608
693
  * Render a filter predicate expression (`t => !t.done`, or a block body
609
694
  * normalized to one — #2040). `localVarMap` is a vestigial empty default kept
610
695
  * on the recursion; block-body locals are now inlined upstream, so no caller
611
- * populates it.
696
+ * populates it. `datumField` (#2228) qualifies a bare `param` reference (and
697
+ * `param.xxx` member/call access) through the wrapper struct's
698
+ * datum-carrying field — see `wrapperDatumField` — for a loop whose `.` is a
699
+ * child-component wrapper Props struct rather than the raw datum itself.
700
+ * `undefined` for every other caller (non-loop `.filter()`/`.find()`/etc.,
701
+ * or a plain-element-body loop), which keeps emitting the bare `.`/`.Field`
702
+ * this method always has.
612
703
  */
613
704
  private renderFilterExpr;
614
705
  private renderFilterExprNode;
@@ -641,6 +732,17 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
641
732
  private needsParensInGoTemplate;
642
733
  /** Convert a JS expression to Go template syntax. */
643
734
  private convertExpressionToGo;
735
+ /**
736
+ * Whether `name` at the CURRENT emission position is bound by an enclosing
737
+ * loop callback — its item param (`loopParamStack` top), an outer loop's
738
+ * range variable, a hoisted loop var, or a destructured binding name
739
+ * (`loopBindingStack`, which is the ONLY place destructured callbacks
740
+ * record their names; they push `''` onto `loopParamStack`). Shared by the
741
+ * string-keyed fast paths (#2236, #2242 Copilot review) that resolve raw
742
+ * `jsExpr` text before `identifier()`'s own guards can see it. Mirrors the
743
+ * checks in `resolveModuleStringConst` / `resolveModuleNumericConst`.
744
+ */
745
+ private isLoopShadowedName;
644
746
  /**
645
747
  * Resolve `IDENT['key']` / `IDENT["key"]` where `IDENT` is a module-scope
646
748
  * object-literal const and the key is a string literal — a compile-time-static
@@ -700,7 +802,52 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
700
802
  /** Innermost-first lookup mirroring `loopBindingStack`'s search in
701
803
  * `identifier()`, but over the object-rest exclude-key side table. */
702
804
  private lookupRestExclude;
805
+ /**
806
+ * #2228: the Go field name on the wrapper Props struct that carries the
807
+ * loop datum, for a loop whose body IS a child component (`loop.childComponent`,
808
+ * e.g. `.TodoItems` ranging over `TodoItemProps`). `{{range}}`'s dot context
809
+ * for such a loop is the WHOLE wrapper struct (`TodoItemProps{ Todo Todo,
810
+ * OnToggle ..., ... }`), not the raw per-item datum — so a filter predicate
811
+ * (`t => !t.done`) referencing the loop param can't lower `t.done` straight
812
+ * to `.Done` (no such top-level field; `html/template` fails at execute time
813
+ * with `can't evaluate field Done in type TodoItemProps`). The datum lives
814
+ * nested under whichever child prop was PASSED the loop param verbatim
815
+ * (`todo={todo}` → field `Todo`, from `capitalizeFieldName('todo')` — the
816
+ * SAME derivation `generateInputStruct`/`generatePropsStruct` use for every
817
+ * other prop-to-field mapping, so this never invents a field name the
818
+ * generated struct doesn't actually have). Returns `null` for a non-wrapper
819
+ * loop, or when no prop's value is a bare reference to the loop param (the
820
+ * datum isn't forwarded at all — nothing to qualify through).
821
+ */
822
+ private wrapperDatumField;
823
+ /**
824
+ * Memoized bakeability check for a static-array loop whose body is a
825
+ * single child component (#2208) — see `analyzeBakeableStaticChildLoop`'s
826
+ * docstring. Accepts either an `IRLoop` (the `renderLoop` gate) or a
827
+ * `NestedComponentInfo` (`generateNewPropsFunction`/Input-struct sites) —
828
+ * both carry the same `loopArrayParsed`/`loopParam`/`loopKey`/props data,
829
+ * just under different field names, so this normalizes to one shape and
830
+ * caches by marker id so all three call sites agree.
831
+ */
832
+ private getBakedStaticChildLoop;
703
833
  renderLoop(loop: IRLoop): string;
834
+ /**
835
+ * #2224 shape 1: render a static-array, plain-element-body loop's per-item
836
+ * markup ONCE PER ITEM at template-generation time instead of a Go
837
+ * `{{range}}` — `analyzeBakeableStaticElementLoop` has already verified
838
+ * every expression in `loop.children` resolves against each item. Keeps
839
+ * the SAME `<!--bf-loop:id--> ... <!--/bf-loop:id-->` marker pair a
840
+ * dynamic loop emits (so the CSR-side static `forEach` wiring, compiled by
841
+ * the separate `ir-to-client-js.ts` pass and untouched by this change,
842
+ * still finds the same DOM range), and pushes `loop.param` /
843
+ * `loop.depth` onto the SAME stacks `renderLoop`'s `{{range}}` path uses,
844
+ * so `data-key`/`data-key-N` attribute-name derivation
845
+ * (`renderAttributes`) is unaffected by which path rendered the loop. No
846
+ * `itemMarker` (`loopItemMarker`) call: the analysis gate already refused
847
+ * `bodyIsMultiRoot` / `bodyIsItemConditional` bodies, so it would always
848
+ * return `''` here anyway.
849
+ */
850
+ private renderUnrolledStaticElementLoop;
704
851
  /**
705
852
  * Per-item `<!--bf-loop-i-->` / `<!--bf-loop-i:KEY-->` start marker emitted
706
853
  * inside a `{{range}}` body. Multi-root Fragment items get the bare anchor;
@@ -1 +1 @@
1
- {"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}