@barefootjs/go-template 0.34.0 → 0.35.1
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/adapter/expr/url-builder.d.ts +37 -1
- package/dist/adapter/expr/url-builder.d.ts.map +1 -1
- package/dist/adapter/go-template-adapter.d.ts +18 -1
- package/dist/adapter/go-template-adapter.d.ts.map +1 -1
- package/dist/adapter/index.js +59 -28
- package/dist/adapter/lib/compile-state.d.ts +20 -0
- package/dist/adapter/lib/compile-state.d.ts.map +1 -1
- package/dist/conformance-pins.d.ts.map +1 -1
- package/dist/index.js +63 -35
- package/dist/render-divergences.d.ts.map +1 -1
- package/dist/vite.js +147 -56
- package/package.json +5 -5
- package/src/__tests__/go-template-adapter.test.ts +167 -7
- package/src/adapter/expr/url-builder.ts +63 -28
- package/src/adapter/go-template-adapter.ts +105 -42
- package/src/adapter/lib/compile-state.ts +22 -0
- package/src/conformance-pins.ts +13 -7
- package/src/render-divergences.ts +1 -6
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* `renderLoweringNode`, which maps a logical helper id to its Go helper; the
|
|
7
7
|
* adapter carries no per-API recognition branch of its own.
|
|
8
8
|
*/
|
|
9
|
-
import { type LoweringNode, type ParsedExpr } from '@barefootjs/jsx';
|
|
9
|
+
import { type LoweringNode, type ParsedExpr, type TemplatePart } from '@barefootjs/jsx';
|
|
10
10
|
import type { GoEmitContext } from '../emit-context.ts';
|
|
11
11
|
/**
|
|
12
12
|
* Lower a `conditional` (ternary) ParsedExpr to the pipeline-position
|
|
@@ -28,6 +28,42 @@ import type { GoEmitContext } from '../emit-context.ts';
|
|
|
28
28
|
* branches are arbitrary markup, not values.
|
|
29
29
|
*/
|
|
30
30
|
export declare function lowerTernary(ctx: GoEmitContext, test: ParsedExpr, consequent: ParsedExpr, alternate: ParsedExpr): string;
|
|
31
|
+
/**
|
|
32
|
+
* Lower a template literal to ONE Go pipeline VALUE (#2863): a left fold of
|
|
33
|
+
* `bf_concat_str` over the parts — static text as an escaped Go string
|
|
34
|
+
* literal, each interpolation as its own value operand. The TEXT-position
|
|
35
|
+
* form (`GoTemplateAdapter.templateLiteral()`: literal text interleaved with
|
|
36
|
+
* `{{…}}` actions) is only legal where the result is spliced directly into
|
|
37
|
+
* markup; inside another action's argument list (a `bf_ternary` branch, a
|
|
38
|
+
* helper-call arg, a `bf_query` guard value, …) Go rejects nested `{{`/`}}`
|
|
39
|
+
* delimiters ("unexpected \"{\" in operand"). This is the Go twin of the
|
|
40
|
+
* concatenation every other DSL adapter already emits for the same nested
|
|
41
|
+
* shape (e.g. Jinja/Twig `bf.string(a) ~ '–' ~ bf.string(b)`) — Go was the
|
|
42
|
+
* lone outlier because `text/template` has no expression-level string
|
|
43
|
+
* concatenation operator of its own, only this runtime helper (already used
|
|
44
|
+
* by `binary()`'s string-typed `+`, #2168).
|
|
45
|
+
*
|
|
46
|
+
* A single-part literal (`` `${x}` `` alone) reduces to that one value with
|
|
47
|
+
* no `bf_concat_str` wrapper — mirrors the sibling single-part unwrap at the
|
|
48
|
+
* child-prop call site. An all-static literal (already reduced to a plain
|
|
49
|
+
* `literal` ParsedExpr by the parser in practice, but handled here too)
|
|
50
|
+
* folds to one escaped string.
|
|
51
|
+
*/
|
|
52
|
+
export declare function lowerTemplateLiteralValue(ctx: GoEmitContext, parts: readonly TemplatePart[]): string;
|
|
53
|
+
/**
|
|
54
|
+
* The single door for "this ParsedExpr sits in Go pipeline ARGUMENT
|
|
55
|
+
* position" — a `bf_ternary` branch, a ternary/guard test's value form, a
|
|
56
|
+
* helper-call arg, a `bf_query` base/guard/value. A nested ternary recurses
|
|
57
|
+
* to another `bf_ternary`; a template literal folds through
|
|
58
|
+
* `lowerTemplateLiteralValue` (#2863) rather than the generic expression
|
|
59
|
+
* path, which would otherwise return the TEXT-position mixed
|
|
60
|
+
* literal-text-plus-`{{…}}`-actions form; anything else lowers to its Go
|
|
61
|
+
* value (parenthesised when multi-token so it stays one argument). String
|
|
62
|
+
* branches become quoted, html/template-escaped values — not the bare
|
|
63
|
+
* unquoted text the old `{{if}}` fragment path emitted — which is exactly
|
|
64
|
+
* right for the value positions this is reached for.
|
|
65
|
+
*/
|
|
66
|
+
export declare function lowerValueOperand(ctx: GoEmitContext, n: ParsedExpr): string;
|
|
31
67
|
/**
|
|
32
68
|
* First registered matcher that recognises `callee(args)`, or null (#2842).
|
|
33
69
|
* The single registry consultation every Go lowering path shares: the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../../src/adapter/expr/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../../src/adapter/expr/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EAIlB,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAkDvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,GACpB,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAWpG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAQ3E;AAqBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,SAAS,UAAU,EAAE,GAC1B,YAAY,GAAG,IAAI,CAMrB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,SAAS,UAAU,EAAE,GAC1B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,UAAU,GACrB,MAAM,GAAG,IAAI,CAYf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,MAAM,GAAG,IAAI,CAcf"}
|
|
@@ -1119,6 +1119,23 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
1119
1119
|
call(callee: ParsedExpr, args: ParsedExpr[], emit: (e: ParsedExpr) => string): string;
|
|
1120
1120
|
member(object: ParsedExpr, property: string, _computed: boolean, optional: boolean, emit: (e: ParsedExpr) => string): string;
|
|
1121
1121
|
indexAccess(object: ParsedExpr, index: ParsedExpr, emit: (e: ParsedExpr) => string): string;
|
|
1122
|
+
/**
|
|
1123
|
+
* A `binary`/`logical`/`unary` operand that feeds a prefix-call Go form
|
|
1124
|
+
* (`bf_mul a b`, `and a b`, `not a`, …), which cannot host a raw `{{…}}`
|
|
1125
|
+
* action the way the generic `emit` dispatcher's `templateLiteral()` would
|
|
1126
|
+
* produce for a template-literal operand (#2863). ONLY a template literal
|
|
1127
|
+
* is special-cased here, folded through `bf_concat_str` (the same door
|
|
1128
|
+
* `lowerValueOperand` uses for a ternary branch / helper-call arg /
|
|
1129
|
+
* query-guard value); every other kind still goes through the caller's own
|
|
1130
|
+
* `emit` closure unchanged. This matters: routing every operand through
|
|
1131
|
+
* `lowerValueOperand`'s `convertExpressionToGo` fallback (rather than only
|
|
1132
|
+
* the one broken kind) would ALSO pick up `convertExpressionToGo`'s own
|
|
1133
|
+
* string-keyed fast paths — e.g. inlining a bare identifier bound to a
|
|
1134
|
+
* local literal const — which `emit`'s AST-walk `identifier()` dispatch
|
|
1135
|
+
* does not do, a real behavioral divergence for that shape (caught by the
|
|
1136
|
+
* #2236 loop-param-shadowing regression pins).
|
|
1137
|
+
*/
|
|
1138
|
+
private emitOperand;
|
|
1122
1139
|
binary(op: string, left: ParsedExpr, right: ParsedExpr, emit: (e: ParsedExpr) => string): string;
|
|
1123
1140
|
/**
|
|
1124
1141
|
* JS `+` with a string-typed operand is CONCATENATION, not addition — Go's
|
|
@@ -1196,7 +1213,7 @@ export declare class GoTemplateAdapter extends BaseAdapter implements ParsedExpr
|
|
|
1196
1213
|
callbackMethod(method: string, object: ParsedExpr, arrow: Extract<ParsedExpr, {
|
|
1197
1214
|
kind: 'arrow';
|
|
1198
1215
|
}>, restArgs: ParsedExpr[], emit: (e: ParsedExpr) => string): string;
|
|
1199
|
-
arrayMethod(method: ArrayMethod, object: ParsedExpr, args: ParsedExpr[],
|
|
1216
|
+
arrayMethod(method: ArrayMethod, object: ParsedExpr, args: ParsedExpr[], rawEmit: (e: ParsedExpr) => string): string;
|
|
1200
1217
|
flatMethod(object: ParsedExpr, depth: FlatDepth | {
|
|
1201
1218
|
expr: ParsedExpr;
|
|
1202
1219
|
}, emit: (e: ParsedExpr) => string): string;
|
|
@@ -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":"AAAA,oEAAoE;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,EAEN,WAAW,EACX,UAAU,EACV,MAAM,EAMN,aAAa,EAEb,UAAU,EACV,qBAAqB,EAGrB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,OAAO,EAEP,yBAAyB,EAI1B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EAqChB,MAAM,iBAAiB,CAAA;AA8BxB,OAAO,KAAK,EACV,WAAW,EAOX,wBAAwB,EACzB,MAAM,gBAAgB,CAAA;AAwBvB,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAqD9D,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC;IACzG,IAAI,SAAgB;IACpB,SAAS,SAAU;IAInB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAMhE,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,qBAAqB,CAAQ;IAErC;;;;;;;;;OASG;IACH,kBAAkB,EAAE,yBAAyB,CAG1C;IAEH;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAGtC;IAEH,OAAO,CAAC,OAAO,CAAoC;IAEnD,kIAAkI;IAClI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAE3C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAavB;IAED,wHAAwH;IACxH,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;IAED,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,yBAAyB,CAAiD;IAClF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,KAAK,CAAmC;IAChD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAgB;IAC3C;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAiC;IACxD;;;;;oEAKgE;IAChE,OAAO,CAAC,gBAAgB,CAAiC;IACzD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB,CAAoE;IAChG;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB,CAA8C;IACzE;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CAAQ;IAEpC;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB,CAA8C;IAE1E,8FAA8F;IAC9F,OAAO,CAAC,qBAAqB,CAA4C;IAEzE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,aAAa,CAAiC;IAEtD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB,YAAY,OAAO,GAAE,wBAA6B,EAOjD;IAED;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAyGzB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAwEzE;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,gCAAgC;IA+ExC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IA4CnC;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,qBAAqB,CAA2D;IAExF;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,mBAAmB,CAA8C;IAEzE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAE/D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY,CAAiC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,CAAC,sBAAsB;IAwC9B,2BAA2B,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,IAAI,CAsCnE;IAED,iFAAiF;IACjF,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAS5B,qFAAqF;IACrF,OAAO,CAAC,qBAAqB;IAa7B,mFAAmF;IACnF,OAAO,CAAC,wBAAwB;IAehC,sJAAsJ;IACtJ,OAAO,CAAC,4BAA4B;IAIpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,0BAA0B;IAIlC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,4BAA4B;IAIpC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,8BAA8B,UAAQ,GAAG,MAAM,GAAG,IAAI,CAoDpF;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,uBAAuB;IAqE/B,4GAA4G;IAC5G,OAAO,CAAC,kBAAkB;IAgB1B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,6BAA6B;IA8FrC;;;2EAGuE;IACvE,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAc1B,yEAAyE;IACzE,OAAO,CAAC,oBAAoB;IAI5B,+FAA+F;IAC/F,OAAO,CAAC,iBAAiB;IAOzB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAwBxB,iDAAiD;IACjD,OAAO,CAAC,mBAAmB;IAkG3B,OAAO,CAAC,mBAAmB;IAwB3B;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAuCrC,2FAA2F;IAC3F,OAAO,CAAC,4BAA4B;IAMpC,wEAAwE;IACxE,OAAO,CAAC,mBAAmB;IAI3B,0EAA0E;IAC1E,OAAO,CAAC,sBAAsB;IAiC9B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAuB/B,qFAAqF;IACrF,OAAO,CAAC,yBAAyB;IAWjC,yCAAyC;IACzC,OAAO,CAAC,wBAAwB;IA2WhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,OAAO,CAAC,mBAAmB;IA8E3B,OAAO,CAAC,wBAAwB;IAwNhC,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,sBAAsB;IA2G9B,OAAO,CAAC,uBAAuB;IA4E/B,OAAO,CAAC,oBAAoB;IAuB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACH,OAAO,CAAC,oBAAoB;IAyE5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,0BAA0B;IAuClC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,mBAAmB;IAyG3B,OAAO,CAAC,kBAAkB;IAoI1B,wDAAwD;IACxD,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;OAQG;IACH;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,oCAAoC;IA2H5C;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,2BAA2B;IAwCnC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,uBAAuB;IA4H/B,0EAA0E;IAC1E,OAAO,CAAC,aAAa;IA6ErB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAoG/B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,oCAAoC;IAmB5C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,mBAAmB;IAsB3B,sDAAsD;IACtD,OAAO,CAAC,6BAA6B;IAsCrC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,0BAA0B;IA4ClC;;;;;;;OAOG;IACH,OAAO,CAAC,+BAA+B;IAsCvC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,MAAM,CAElD;IAMD,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAEtF;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7B;IAED,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAEzC;IAED,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAE9F;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAEhF;IAED,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAEzF;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAExF;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7B;IAED,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAE7F;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAExF;IAED,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAElF;IAED,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CA2DxC;IAED;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA+ChC,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAqE3C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAQnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqC/B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IA0BjC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAajC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAIjF;IAED,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAmDpF;IAED,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAC9B,MAAM,CAwHR;IAED,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAiB1F;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,WAAW;IAOnB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CA2C/F;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,SAAS;IAYjB;;+BAE2B;IAC3B,OAAO,CAAC,kBAAkB;IAI1B,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAS/E;IAED,OAAO,CACL,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,EACtB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAC9B,MAAM,CAoBR;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,kBAAkB;IAuC1B,WAAW,CACT,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAC/B,MAAM,CAER;IAED,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAe9E;IAED,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAKnF;IAED,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIzB;IAED,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAe5E;IAED,aAAa,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,MAAM,CAoDvG;IAED,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAEvC;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAezB,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,EAC7C,QAAQ,EAAE,UAAU,EAAE,EACtB,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAC9B,MAAM,CAmER;IAED,WAAW,CACT,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,EAAE,EAClB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GACjC,MAAM,CA6LR;IAED,UAAU,CACR,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,SAAS,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,EACvC,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAC9B,MAAM,CAkBR;IAED,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhD;IAED;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAuD7B;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,oBAAoB;IAuK5B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAmB/B,qDAAqD;IACrD,OAAO,CAAC,qBAAqB;IA4I7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,OAAO,CAAC,yBAAyB;IA+HjC;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IA+CvC,oDAAoD;IACpD,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,iBAAiB;IAqCzB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CA0D7C;IAED;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IA2Q3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,0BAA0B;IAwBlC;0EACsE;IACtE,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IA2B/B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiU/B;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,+BAA+B;IA6CvC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IAmBnC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CA8GtF;IAED;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAMT,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAM1C;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA8LlC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,gBAAgB;IAiCxB;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAqDlC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,0BAA0B;IAyClC,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAKjD;IAED,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvC;IAED,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvC;IAED,OAAO,CAAC,kBAAkB;CAmB3B;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAA"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -29,7 +29,10 @@ import {
|
|
|
29
29
|
collectLoopBoundNames as collectLoopBoundNames2,
|
|
30
30
|
evaluateStaticLiteral as evaluateStaticLiteral3,
|
|
31
31
|
BindingScope,
|
|
32
|
-
buildImportAliasMap
|
|
32
|
+
buildImportAliasMap,
|
|
33
|
+
resolveGetterAliases,
|
|
34
|
+
collectAliasableGetterNames,
|
|
35
|
+
resolveBodyDestructuredPropAliases
|
|
33
36
|
} from "@barefootjs/jsx";
|
|
34
37
|
import { findInterpolationEnd } from "@barefootjs/jsx/scanner";
|
|
35
38
|
import { BF_REGION, escapeHtml, resolveJsxChildrenProp } from "@barefootjs/shared";
|
|
@@ -311,6 +314,8 @@ class CompileState {
|
|
|
311
314
|
restPropsName = null;
|
|
312
315
|
moduleStringConsts = new Map;
|
|
313
316
|
localConstants = [];
|
|
317
|
+
getterAliases = new Map;
|
|
318
|
+
propDestructureAliases = new Map;
|
|
314
319
|
staticLoopSourceBoundNames = new Set;
|
|
315
320
|
localHelperNames = new Set;
|
|
316
321
|
currentMemos = [];
|
|
@@ -871,21 +876,38 @@ function lowerUrlGuard(ctx, g) {
|
|
|
871
876
|
if (isBoolShape) {
|
|
872
877
|
return ctx.convertConditionToGo(stringifyParsedExpr(g), g).condition;
|
|
873
878
|
}
|
|
874
|
-
const valueGo =
|
|
879
|
+
const valueGo = lowerValueOperand(ctx, g);
|
|
875
880
|
return `ne ${valueGo} ""`;
|
|
876
881
|
}
|
|
877
882
|
function lowerTernary(ctx, test, consequent, alternate) {
|
|
878
883
|
const t = lowerTernaryTest(ctx, test);
|
|
879
|
-
return `(bf_ternary ${t} ${
|
|
884
|
+
return `(bf_ternary ${t} ${lowerValueOperand(ctx, consequent)} ${lowerValueOperand(ctx, alternate)})`;
|
|
880
885
|
}
|
|
881
|
-
function
|
|
886
|
+
function lowerTemplateLiteralValue(ctx, parts) {
|
|
887
|
+
const terms = [];
|
|
888
|
+
for (const part of parts) {
|
|
889
|
+
if (part.type === "string") {
|
|
890
|
+
if (part.value !== "")
|
|
891
|
+
terms.push(`"${escapeGoString(part.value)}"`);
|
|
892
|
+
} else {
|
|
893
|
+
terms.push(lowerValueOperand(ctx, part.expr));
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
if (terms.length === 0)
|
|
897
|
+
return '""';
|
|
898
|
+
return terms.slice(1).reduce((acc, t) => `(bf_concat_str ${acc} ${t})`, terms[0]);
|
|
899
|
+
}
|
|
900
|
+
function lowerValueOperand(ctx, n) {
|
|
882
901
|
if (n.kind === "conditional") {
|
|
883
902
|
return lowerTernary(ctx, n.test, n.consequent, n.alternate);
|
|
884
903
|
}
|
|
904
|
+
if (n.kind === "template-literal") {
|
|
905
|
+
return wrapIfMultiToken(lowerTemplateLiteralValue(ctx, n.parts));
|
|
906
|
+
}
|
|
885
907
|
return wrapIfMultiToken(ctx.convertExpressionToGo(stringifyParsedExpr(n), undefined, n));
|
|
886
908
|
}
|
|
887
909
|
function lowerTernaryTest(ctx, test) {
|
|
888
|
-
const go =
|
|
910
|
+
const go = lowerValueOperand(ctx, test);
|
|
889
911
|
const isBoolShape = test.kind === "binary" && BOOL_COMPARISON_OPS.has(test.op) || test.kind === "unary" && test.op === "!" || test.kind === "literal" && test.literalType === "boolean";
|
|
890
912
|
return isBoolShape ? go : `(bf_truthy ${go})`;
|
|
891
913
|
}
|
|
@@ -946,18 +968,16 @@ function renderLoweringNode(ctx, node) {
|
|
|
946
968
|
const helper = goHelperName(node.helper);
|
|
947
969
|
if (!helper)
|
|
948
970
|
return null;
|
|
949
|
-
const lowerExpr = (n) => ctx.convertExpressionToGo(stringifyParsedExpr(n), undefined, n);
|
|
950
|
-
const lowerArg = (n) => n.kind === "conditional" ? lowerTernary(ctx, n.test, n.consequent, n.alternate) : wrapIfMultiToken(lowerExpr(n));
|
|
951
971
|
if (node.kind === "helper-call") {
|
|
952
|
-
const args = node.args.map((a) =>
|
|
972
|
+
const args = node.args.map((a) => lowerValueOperand(ctx, a));
|
|
953
973
|
return [helper, ...args].join(" ");
|
|
954
974
|
}
|
|
955
|
-
const parts = [
|
|
975
|
+
const parts = [lowerValueOperand(ctx, node.base)];
|
|
956
976
|
for (const t of node.triples) {
|
|
957
977
|
const includeGo = t.guard === null ? "true" : lowerUrlGuard(ctx, t.guard);
|
|
958
978
|
parts.push(`(${includeGo})`);
|
|
959
979
|
parts.push(JSON.stringify(t.key));
|
|
960
|
-
parts.push(
|
|
980
|
+
parts.push(lowerValueOperand(ctx, t.value));
|
|
961
981
|
}
|
|
962
982
|
return `${helper} ${parts.join(" ")}`;
|
|
963
983
|
}
|
|
@@ -2969,6 +2989,11 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2969
2989
|
this.state.objectTypedPropNames = new Set((ir.metadata.propsParams ?? []).filter((p) => p.type.kind === "object").map((p) => p.name));
|
|
2970
2990
|
this.state.moduleStringConsts = this.collectModuleStringConsts(ir.metadata.localConstants);
|
|
2971
2991
|
this.state.localConstants = ir.metadata.localConstants ?? [];
|
|
2992
|
+
{
|
|
2993
|
+
const getterNames = collectAliasableGetterNames(ir.metadata.signals ?? [], ir.metadata.memos ?? []);
|
|
2994
|
+
this.state.getterAliases = resolveGetterAliases(ir.metadata.localConstants ?? [], (n) => getterNames.has(n));
|
|
2995
|
+
}
|
|
2996
|
+
this.state.propDestructureAliases = resolveBodyDestructuredPropAliases(ir.metadata.localConstants ?? [], ir.metadata.propsObjectName);
|
|
2972
2997
|
this.state.staticLoopSourceBoundNames = collectLoopBoundNames2(ir);
|
|
2973
2998
|
this.bakedStaticChildLoopCache = new Map;
|
|
2974
2999
|
this.state.localHelperNames = new Set(this.state.localConstants.filter((c) => !c.isModule && c.containsArrow).map((c) => c.name));
|
|
@@ -5205,9 +5230,10 @@ ${goFields.join(`
|
|
|
5205
5230
|
return hit !== null && hit.depth > 0 && hit.binding.source === "item";
|
|
5206
5231
|
}
|
|
5207
5232
|
rootFieldRef(name) {
|
|
5208
|
-
this.state.
|
|
5233
|
+
const resolved = this.state.getterAliases.get(name) ?? this.state.propDestructureAliases.get(name) ?? name;
|
|
5234
|
+
this.state.templateReadRootFields.add(resolved);
|
|
5209
5235
|
const prefix = this.inLoop ? "$." : ".";
|
|
5210
|
-
return `${prefix}${capitalizeFieldName(
|
|
5236
|
+
return `${prefix}${capitalizeFieldName(resolved)}`;
|
|
5211
5237
|
}
|
|
5212
5238
|
searchParamsFieldRef(name) {
|
|
5213
5239
|
return this.state.searchParamsLocals.has(name) ? this.rootFieldRef("searchParams") : null;
|
|
@@ -5343,11 +5369,17 @@ ${goFields.join(`
|
|
|
5343
5369
|
return `${obj}.${goFieldNameForKey(property)}`;
|
|
5344
5370
|
}
|
|
5345
5371
|
indexAccess(object, index, emit) {
|
|
5346
|
-
return `bf_get ${wrapIfMultiToken(
|
|
5372
|
+
return `bf_get ${wrapIfMultiToken(this.emitOperand(object, emit))} ${wrapIfMultiToken(this.emitOperand(index, emit))}`;
|
|
5373
|
+
}
|
|
5374
|
+
emitOperand(n, emit) {
|
|
5375
|
+
if (n.kind === "template-literal") {
|
|
5376
|
+
return wrapIfMultiToken(lowerTemplateLiteralValue(this.emitCtx, n.parts));
|
|
5377
|
+
}
|
|
5378
|
+
return emit(n);
|
|
5347
5379
|
}
|
|
5348
5380
|
binary(op, left, right, emit) {
|
|
5349
|
-
const l =
|
|
5350
|
-
const r =
|
|
5381
|
+
const l = this.emitOperand(left, emit);
|
|
5382
|
+
const r = this.emitOperand(right, emit);
|
|
5351
5383
|
const wl = wrapIfMultiToken(l);
|
|
5352
5384
|
const wr = wrapIfMultiToken(r);
|
|
5353
5385
|
switch (op) {
|
|
@@ -5393,16 +5425,16 @@ ${goFields.join(`
|
|
|
5393
5425
|
return this.state.stringValueNames.has(name);
|
|
5394
5426
|
}
|
|
5395
5427
|
unary(op, argument, emit) {
|
|
5396
|
-
const arg =
|
|
5428
|
+
const arg = this.emitOperand(argument, emit);
|
|
5397
5429
|
if (op === "!")
|
|
5398
|
-
return `not ${arg}`;
|
|
5430
|
+
return `not ${wrapIfMultiToken(arg)}`;
|
|
5399
5431
|
if (op === "-")
|
|
5400
5432
|
return `bf_neg ${arg}`;
|
|
5401
5433
|
return arg;
|
|
5402
5434
|
}
|
|
5403
5435
|
logical(op, left, right, emit) {
|
|
5404
|
-
const wrapLeft = wrapIfMultiToken(
|
|
5405
|
-
const wrapRight = wrapIfMultiToken(
|
|
5436
|
+
const wrapLeft = wrapIfMultiToken(this.emitOperand(left, emit));
|
|
5437
|
+
const wrapRight = wrapIfMultiToken(this.emitOperand(right, emit));
|
|
5406
5438
|
if (op === "&&")
|
|
5407
5439
|
return `and ${wrapLeft} ${wrapRight}`;
|
|
5408
5440
|
if (op === "??" && this.nillablePropNameOf(left) !== null) {
|
|
@@ -5567,7 +5599,8 @@ ${goFields.join(`
|
|
|
5567
5599
|
}
|
|
5568
5600
|
return this.pushCallbackBF101(method, true);
|
|
5569
5601
|
}
|
|
5570
|
-
arrayMethod(method, object, args,
|
|
5602
|
+
arrayMethod(method, object, args, rawEmit) {
|
|
5603
|
+
const emit = (e) => this.emitOperand(e, rawEmit);
|
|
5571
5604
|
switch (method) {
|
|
5572
5605
|
case "join": {
|
|
5573
5606
|
const obj = emit(object);
|
|
@@ -6157,11 +6190,9 @@ ${goFields.join(`
|
|
|
6157
6190
|
}
|
|
6158
6191
|
continue;
|
|
6159
6192
|
}
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
}
|
|
6164
|
-
if (!singlePartTemplateLiteral && this.isTemplateFragment(go, exprOut.parsed?.kind)) {
|
|
6193
|
+
if (exprOut.parsed?.kind === "template-literal" || exprOut.parsed?.kind === "conditional") {
|
|
6194
|
+
go = lowerValueOperand(this.emitCtx, exprOut.parsed);
|
|
6195
|
+
} else if (this.isTemplateFragment(go, exprOut.parsed?.kind)) {
|
|
6165
6196
|
this.state.errors.push({
|
|
6166
6197
|
code: "BF101",
|
|
6167
6198
|
severity: "error",
|
|
@@ -6446,7 +6477,7 @@ ${goFields.join(`
|
|
|
6446
6477
|
case "unary": {
|
|
6447
6478
|
const arg = this.renderConditionExpr(expr.argument);
|
|
6448
6479
|
if (expr.op === "!")
|
|
6449
|
-
return { preamble: arg.preamble, expr: `not ${arg.expr}` };
|
|
6480
|
+
return { preamble: arg.preamble, expr: `not ${wrapIfMultiToken(arg.expr)}` };
|
|
6450
6481
|
if (expr.op === "-")
|
|
6451
6482
|
return { preamble: arg.preamble, expr: `bf_neg ${arg.expr}` };
|
|
6452
6483
|
return arg;
|
|
@@ -6464,7 +6495,7 @@ ${goFields.join(`
|
|
|
6464
6495
|
return plain(lowerTernary(this.emitCtx, expr.test, expr.consequent, expr.alternate));
|
|
6465
6496
|
}
|
|
6466
6497
|
case "template-literal":
|
|
6467
|
-
return plain(this.
|
|
6498
|
+
return plain(lowerTemplateLiteralValue(this.emitCtx, expr.parts));
|
|
6468
6499
|
case "arrow":
|
|
6469
6500
|
return plain("[ARROW-FN]");
|
|
6470
6501
|
case "regex":
|
|
@@ -6691,7 +6722,7 @@ ${goFields.join(`
|
|
|
6691
6722
|
if (loop.bodyIsMultiRoot)
|
|
6692
6723
|
return `{{bfComment "loop-i"}}`;
|
|
6693
6724
|
if (loop.bodyIsItemConditional && loop.key) {
|
|
6694
|
-
return `{{bfComment (printf "loop-i:%v" ${this.convertExpressionToGo(loop.key)})}}`;
|
|
6725
|
+
return `{{bfComment (printf "loop-i:%v" (bfEscapeCommentKey ${this.convertExpressionToGo(loop.key)}))}}`;
|
|
6695
6726
|
}
|
|
6696
6727
|
return "";
|
|
6697
6728
|
}
|
|
@@ -67,6 +67,26 @@ export declare class CompileState {
|
|
|
67
67
|
* `Record`-index lookups without re-threading the full `ir` through helpers.
|
|
68
68
|
*/
|
|
69
69
|
localConstants: IRMetadata['localConstants'];
|
|
70
|
+
/**
|
|
71
|
+
* Bare local-const alias-hop chains that ultimately name a signal/memo
|
|
72
|
+
* getter (`const items__alias = items` → `items__alias` -> `items`,
|
|
73
|
+
* #2813) — the SSR-side twin of #2778's CSR-template fix. `rootFieldRef`
|
|
74
|
+
* resolves a name through this map before capitalizing it into a struct
|
|
75
|
+
* field, so `items__alias()` reads `.Items` (the field the getter
|
|
76
|
+
* actually seeds) instead of a phantom, never-seeded `.Items__alias`.
|
|
77
|
+
*/
|
|
78
|
+
getterAliases: Map<string, string>;
|
|
79
|
+
/**
|
|
80
|
+
* Local names that are BODY-level destructured aliases of a prop key
|
|
81
|
+
* for a bare-props-form component (`const { children: kids } =
|
|
82
|
+
* props`), #2788 — the SSR-side twin of `aliased-destructured-prop`'s
|
|
83
|
+
* PARAMETER-destructuring case (`{ n: count }`, already handled via
|
|
84
|
+
* `ParamInfo.sourceName`/`capitalizeFieldName(p.name)`). `rootFieldRef`
|
|
85
|
+
* resolves a name through this map too, so `kids` reads the same
|
|
86
|
+
* `.Children` field the prop itself seeds instead of a phantom,
|
|
87
|
+
* never-populated `.Kids`.
|
|
88
|
+
*/
|
|
89
|
+
propDestructureAliases: Map<string, string>;
|
|
70
90
|
/**
|
|
71
91
|
* Every name a `.map()`/`.filter()` loop callback binds as its item/index
|
|
72
92
|
* parameter anywhere in the component (#2208 fable review). Consulted by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACT,MAAM,iBAAiB,CAAA;AAExB,qBAAa,YAAY;IAGvB,aAAa,EAAE,MAAM,CAAK;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAK;IAE5B;;+CAE2C;IAC3C,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEhD;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAE/C,kBAAkB,EAAE,MAAM,CAAI;IAE9B;;;OAGG;IACH,sBAAsB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAK;IAErE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IAErC;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IAEnC;;;;;OAKG;IACH,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IAEnD;;;;OAIG;IACH,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAK;IAEjD;;;;;;OAMG;IACH,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEnD;;;OAGG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEzC;;qFAEiF;IACjF,YAAY,EAAE,QAAQ,EAAE,CAAK;IAE7B,0FAA0F;IAC1F,sBAAsB,EAAE,cAAc,EAAE,CAAK;IAE7C;;;OAGG;IACH,gBAAgB,EAAE,eAAe,EAAE,CAAK;IAExC;;;;;;;OAOG;IACH,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAE7C;;;OAGG;IACH,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAE3C;;;;;;OAMG;IACH,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAY;IAEjE;;;;;;;;OAQG;IACH,WAAW,EAAE,WAAW,CAA+B;IAEvD;;;;;;OAMG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IAElD;;;;;;OAMG;IACH,gBAAgB,EAAE,eAAe,EAAE,CAAK;IAExC;;;;OAIG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAE1C;;;;;;;OAOG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEjD;;;;;OAKG;IACH,8BAA8B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEvD;;;;;;OAMG;IACH,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAE9C;;;;;;OAMG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEjD;;;;;OAKG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEzC;;4DAEwD;IACxD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IAIpD;sEACkE;IAClE,gBAAgB,EAAE,OAAO,CAAQ;IAEjC;sCACkC;IAClC,OAAO,EAAE,OAAO,CAAQ;IAExB,uFAAuF;IACvF,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAY;IAEvC,mFAAmF;IACnF,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IAEjD;;;;OAIG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAY;IAE/D;;;OAGG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAY;IAEnD;;;;;;;;;;;;;OAaG;IACH,sBAAsB,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAY;IAEzD;yEACqE;IACrE,kBAAkB,UAAQ;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAC9C,UAAU,GAAG,SAAS,CAKxB"}
|
|
1
|
+
{"version":3,"file":"compile-state.d.ts","sourceRoot":"","sources":["../../../src/adapter/lib/compile-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"conformance-pins.d.ts","sourceRoot":"","sources":["../src/conformance-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,EAAE,eA4F7B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,10 @@ import {
|
|
|
29
29
|
collectLoopBoundNames as collectLoopBoundNames2,
|
|
30
30
|
evaluateStaticLiteral as evaluateStaticLiteral3,
|
|
31
31
|
BindingScope,
|
|
32
|
-
buildImportAliasMap
|
|
32
|
+
buildImportAliasMap,
|
|
33
|
+
resolveGetterAliases,
|
|
34
|
+
collectAliasableGetterNames,
|
|
35
|
+
resolveBodyDestructuredPropAliases
|
|
33
36
|
} from "@barefootjs/jsx";
|
|
34
37
|
import { findInterpolationEnd } from "@barefootjs/jsx/scanner";
|
|
35
38
|
import { BF_REGION, escapeHtml, resolveJsxChildrenProp } from "@barefootjs/shared";
|
|
@@ -311,6 +314,8 @@ class CompileState {
|
|
|
311
314
|
restPropsName = null;
|
|
312
315
|
moduleStringConsts = new Map;
|
|
313
316
|
localConstants = [];
|
|
317
|
+
getterAliases = new Map;
|
|
318
|
+
propDestructureAliases = new Map;
|
|
314
319
|
staticLoopSourceBoundNames = new Set;
|
|
315
320
|
localHelperNames = new Set;
|
|
316
321
|
currentMemos = [];
|
|
@@ -871,21 +876,38 @@ function lowerUrlGuard(ctx, g) {
|
|
|
871
876
|
if (isBoolShape) {
|
|
872
877
|
return ctx.convertConditionToGo(stringifyParsedExpr(g), g).condition;
|
|
873
878
|
}
|
|
874
|
-
const valueGo =
|
|
879
|
+
const valueGo = lowerValueOperand(ctx, g);
|
|
875
880
|
return `ne ${valueGo} ""`;
|
|
876
881
|
}
|
|
877
882
|
function lowerTernary(ctx, test, consequent, alternate) {
|
|
878
883
|
const t = lowerTernaryTest(ctx, test);
|
|
879
|
-
return `(bf_ternary ${t} ${
|
|
884
|
+
return `(bf_ternary ${t} ${lowerValueOperand(ctx, consequent)} ${lowerValueOperand(ctx, alternate)})`;
|
|
880
885
|
}
|
|
881
|
-
function
|
|
886
|
+
function lowerTemplateLiteralValue(ctx, parts) {
|
|
887
|
+
const terms = [];
|
|
888
|
+
for (const part of parts) {
|
|
889
|
+
if (part.type === "string") {
|
|
890
|
+
if (part.value !== "")
|
|
891
|
+
terms.push(`"${escapeGoString(part.value)}"`);
|
|
892
|
+
} else {
|
|
893
|
+
terms.push(lowerValueOperand(ctx, part.expr));
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
if (terms.length === 0)
|
|
897
|
+
return '""';
|
|
898
|
+
return terms.slice(1).reduce((acc, t) => `(bf_concat_str ${acc} ${t})`, terms[0]);
|
|
899
|
+
}
|
|
900
|
+
function lowerValueOperand(ctx, n) {
|
|
882
901
|
if (n.kind === "conditional") {
|
|
883
902
|
return lowerTernary(ctx, n.test, n.consequent, n.alternate);
|
|
884
903
|
}
|
|
904
|
+
if (n.kind === "template-literal") {
|
|
905
|
+
return wrapIfMultiToken(lowerTemplateLiteralValue(ctx, n.parts));
|
|
906
|
+
}
|
|
885
907
|
return wrapIfMultiToken(ctx.convertExpressionToGo(stringifyParsedExpr(n), undefined, n));
|
|
886
908
|
}
|
|
887
909
|
function lowerTernaryTest(ctx, test) {
|
|
888
|
-
const go =
|
|
910
|
+
const go = lowerValueOperand(ctx, test);
|
|
889
911
|
const isBoolShape = test.kind === "binary" && BOOL_COMPARISON_OPS.has(test.op) || test.kind === "unary" && test.op === "!" || test.kind === "literal" && test.literalType === "boolean";
|
|
890
912
|
return isBoolShape ? go : `(bf_truthy ${go})`;
|
|
891
913
|
}
|
|
@@ -946,18 +968,16 @@ function renderLoweringNode(ctx, node) {
|
|
|
946
968
|
const helper = goHelperName(node.helper);
|
|
947
969
|
if (!helper)
|
|
948
970
|
return null;
|
|
949
|
-
const lowerExpr = (n) => ctx.convertExpressionToGo(stringifyParsedExpr(n), undefined, n);
|
|
950
|
-
const lowerArg = (n) => n.kind === "conditional" ? lowerTernary(ctx, n.test, n.consequent, n.alternate) : wrapIfMultiToken(lowerExpr(n));
|
|
951
971
|
if (node.kind === "helper-call") {
|
|
952
|
-
const args = node.args.map((a) =>
|
|
972
|
+
const args = node.args.map((a) => lowerValueOperand(ctx, a));
|
|
953
973
|
return [helper, ...args].join(" ");
|
|
954
974
|
}
|
|
955
|
-
const parts = [
|
|
975
|
+
const parts = [lowerValueOperand(ctx, node.base)];
|
|
956
976
|
for (const t of node.triples) {
|
|
957
977
|
const includeGo = t.guard === null ? "true" : lowerUrlGuard(ctx, t.guard);
|
|
958
978
|
parts.push(`(${includeGo})`);
|
|
959
979
|
parts.push(JSON.stringify(t.key));
|
|
960
|
-
parts.push(
|
|
980
|
+
parts.push(lowerValueOperand(ctx, t.value));
|
|
961
981
|
}
|
|
962
982
|
return `${helper} ${parts.join(" ")}`;
|
|
963
983
|
}
|
|
@@ -2969,6 +2989,11 @@ class GoTemplateAdapter extends BaseAdapter {
|
|
|
2969
2989
|
this.state.objectTypedPropNames = new Set((ir.metadata.propsParams ?? []).filter((p) => p.type.kind === "object").map((p) => p.name));
|
|
2970
2990
|
this.state.moduleStringConsts = this.collectModuleStringConsts(ir.metadata.localConstants);
|
|
2971
2991
|
this.state.localConstants = ir.metadata.localConstants ?? [];
|
|
2992
|
+
{
|
|
2993
|
+
const getterNames = collectAliasableGetterNames(ir.metadata.signals ?? [], ir.metadata.memos ?? []);
|
|
2994
|
+
this.state.getterAliases = resolveGetterAliases(ir.metadata.localConstants ?? [], (n) => getterNames.has(n));
|
|
2995
|
+
}
|
|
2996
|
+
this.state.propDestructureAliases = resolveBodyDestructuredPropAliases(ir.metadata.localConstants ?? [], ir.metadata.propsObjectName);
|
|
2972
2997
|
this.state.staticLoopSourceBoundNames = collectLoopBoundNames2(ir);
|
|
2973
2998
|
this.bakedStaticChildLoopCache = new Map;
|
|
2974
2999
|
this.state.localHelperNames = new Set(this.state.localConstants.filter((c) => !c.isModule && c.containsArrow).map((c) => c.name));
|
|
@@ -5205,9 +5230,10 @@ ${goFields.join(`
|
|
|
5205
5230
|
return hit !== null && hit.depth > 0 && hit.binding.source === "item";
|
|
5206
5231
|
}
|
|
5207
5232
|
rootFieldRef(name) {
|
|
5208
|
-
this.state.
|
|
5233
|
+
const resolved = this.state.getterAliases.get(name) ?? this.state.propDestructureAliases.get(name) ?? name;
|
|
5234
|
+
this.state.templateReadRootFields.add(resolved);
|
|
5209
5235
|
const prefix = this.inLoop ? "$." : ".";
|
|
5210
|
-
return `${prefix}${capitalizeFieldName(
|
|
5236
|
+
return `${prefix}${capitalizeFieldName(resolved)}`;
|
|
5211
5237
|
}
|
|
5212
5238
|
searchParamsFieldRef(name) {
|
|
5213
5239
|
return this.state.searchParamsLocals.has(name) ? this.rootFieldRef("searchParams") : null;
|
|
@@ -5343,11 +5369,17 @@ ${goFields.join(`
|
|
|
5343
5369
|
return `${obj}.${goFieldNameForKey(property)}`;
|
|
5344
5370
|
}
|
|
5345
5371
|
indexAccess(object, index, emit) {
|
|
5346
|
-
return `bf_get ${wrapIfMultiToken(
|
|
5372
|
+
return `bf_get ${wrapIfMultiToken(this.emitOperand(object, emit))} ${wrapIfMultiToken(this.emitOperand(index, emit))}`;
|
|
5373
|
+
}
|
|
5374
|
+
emitOperand(n, emit) {
|
|
5375
|
+
if (n.kind === "template-literal") {
|
|
5376
|
+
return wrapIfMultiToken(lowerTemplateLiteralValue(this.emitCtx, n.parts));
|
|
5377
|
+
}
|
|
5378
|
+
return emit(n);
|
|
5347
5379
|
}
|
|
5348
5380
|
binary(op, left, right, emit) {
|
|
5349
|
-
const l =
|
|
5350
|
-
const r =
|
|
5381
|
+
const l = this.emitOperand(left, emit);
|
|
5382
|
+
const r = this.emitOperand(right, emit);
|
|
5351
5383
|
const wl = wrapIfMultiToken(l);
|
|
5352
5384
|
const wr = wrapIfMultiToken(r);
|
|
5353
5385
|
switch (op) {
|
|
@@ -5393,16 +5425,16 @@ ${goFields.join(`
|
|
|
5393
5425
|
return this.state.stringValueNames.has(name);
|
|
5394
5426
|
}
|
|
5395
5427
|
unary(op, argument, emit) {
|
|
5396
|
-
const arg =
|
|
5428
|
+
const arg = this.emitOperand(argument, emit);
|
|
5397
5429
|
if (op === "!")
|
|
5398
|
-
return `not ${arg}`;
|
|
5430
|
+
return `not ${wrapIfMultiToken(arg)}`;
|
|
5399
5431
|
if (op === "-")
|
|
5400
5432
|
return `bf_neg ${arg}`;
|
|
5401
5433
|
return arg;
|
|
5402
5434
|
}
|
|
5403
5435
|
logical(op, left, right, emit) {
|
|
5404
|
-
const wrapLeft = wrapIfMultiToken(
|
|
5405
|
-
const wrapRight = wrapIfMultiToken(
|
|
5436
|
+
const wrapLeft = wrapIfMultiToken(this.emitOperand(left, emit));
|
|
5437
|
+
const wrapRight = wrapIfMultiToken(this.emitOperand(right, emit));
|
|
5406
5438
|
if (op === "&&")
|
|
5407
5439
|
return `and ${wrapLeft} ${wrapRight}`;
|
|
5408
5440
|
if (op === "??" && this.nillablePropNameOf(left) !== null) {
|
|
@@ -5567,7 +5599,8 @@ ${goFields.join(`
|
|
|
5567
5599
|
}
|
|
5568
5600
|
return this.pushCallbackBF101(method, true);
|
|
5569
5601
|
}
|
|
5570
|
-
arrayMethod(method, object, args,
|
|
5602
|
+
arrayMethod(method, object, args, rawEmit) {
|
|
5603
|
+
const emit = (e) => this.emitOperand(e, rawEmit);
|
|
5571
5604
|
switch (method) {
|
|
5572
5605
|
case "join": {
|
|
5573
5606
|
const obj = emit(object);
|
|
@@ -6157,11 +6190,9 @@ ${goFields.join(`
|
|
|
6157
6190
|
}
|
|
6158
6191
|
continue;
|
|
6159
6192
|
}
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
}
|
|
6164
|
-
if (!singlePartTemplateLiteral && this.isTemplateFragment(go, exprOut.parsed?.kind)) {
|
|
6193
|
+
if (exprOut.parsed?.kind === "template-literal" || exprOut.parsed?.kind === "conditional") {
|
|
6194
|
+
go = lowerValueOperand(this.emitCtx, exprOut.parsed);
|
|
6195
|
+
} else if (this.isTemplateFragment(go, exprOut.parsed?.kind)) {
|
|
6165
6196
|
this.state.errors.push({
|
|
6166
6197
|
code: "BF101",
|
|
6167
6198
|
severity: "error",
|
|
@@ -6446,7 +6477,7 @@ ${goFields.join(`
|
|
|
6446
6477
|
case "unary": {
|
|
6447
6478
|
const arg = this.renderConditionExpr(expr.argument);
|
|
6448
6479
|
if (expr.op === "!")
|
|
6449
|
-
return { preamble: arg.preamble, expr: `not ${arg.expr}` };
|
|
6480
|
+
return { preamble: arg.preamble, expr: `not ${wrapIfMultiToken(arg.expr)}` };
|
|
6450
6481
|
if (expr.op === "-")
|
|
6451
6482
|
return { preamble: arg.preamble, expr: `bf_neg ${arg.expr}` };
|
|
6452
6483
|
return arg;
|
|
@@ -6464,7 +6495,7 @@ ${goFields.join(`
|
|
|
6464
6495
|
return plain(lowerTernary(this.emitCtx, expr.test, expr.consequent, expr.alternate));
|
|
6465
6496
|
}
|
|
6466
6497
|
case "template-literal":
|
|
6467
|
-
return plain(this.
|
|
6498
|
+
return plain(lowerTemplateLiteralValue(this.emitCtx, expr.parts));
|
|
6468
6499
|
case "arrow":
|
|
6469
6500
|
return plain("[ARROW-FN]");
|
|
6470
6501
|
case "regex":
|
|
@@ -6691,7 +6722,7 @@ ${goFields.join(`
|
|
|
6691
6722
|
if (loop.bodyIsMultiRoot)
|
|
6692
6723
|
return `{{bfComment "loop-i"}}`;
|
|
6693
6724
|
if (loop.bodyIsItemConditional && loop.key) {
|
|
6694
|
-
return `{{bfComment (printf "loop-i:%v" ${this.convertExpressionToGo(loop.key)})}}`;
|
|
6725
|
+
return `{{bfComment (printf "loop-i:%v" (bfEscapeCommentKey ${this.convertExpressionToGo(loop.key)}))}}`;
|
|
6695
6726
|
}
|
|
6696
6727
|
return "";
|
|
6697
6728
|
}
|
|
@@ -7065,8 +7096,8 @@ var conformancePins = {
|
|
|
7065
7096
|
"filter-nested-find-predicate": [{ code: "BF101", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2320" }],
|
|
7066
7097
|
"date-method-uncatalogued": [{ code: "BF021", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2356" }],
|
|
7067
7098
|
"rich-prop-client-read": [{ code: "BF049", severity: "error", issue: "https://github.com/piconic-ai/barefootjs/issues/2648" }],
|
|
7068
|
-
"jsx-element-prop-ternary": [{ code: "BF021", severity: "error"
|
|
7069
|
-
"jsx-element-prop-array": [{ code: "BF021", severity: "error"
|
|
7099
|
+
"jsx-element-prop-ternary": [{ code: "BF021", severity: "error" }],
|
|
7100
|
+
"jsx-element-prop-array": [{ code: "BF021", severity: "error" }],
|
|
7070
7101
|
"jsx-element-prop-rest-bag-dynamic": [{
|
|
7071
7102
|
code: "BF101",
|
|
7072
7103
|
severity: "error",
|
|
@@ -7078,13 +7109,10 @@ var conformancePins = {
|
|
|
7078
7109
|
severity: "error",
|
|
7079
7110
|
issue: "https://github.com/piconic-ai/barefootjs/issues/2700"
|
|
7080
7111
|
}],
|
|
7081
|
-
"namespace-import-primitive": [{ code: "BF013", severity: "error"
|
|
7112
|
+
"namespace-import-primitive": [{ code: "BF013", severity: "error" }]
|
|
7082
7113
|
};
|
|
7083
7114
|
// src/render-divergences.ts
|
|
7084
|
-
var renderDivergences = {
|
|
7085
|
-
"children-passthrough-renamed": "A `children` prop destructured under a different name (`const { children: kids } = props`) does not reach the SSR template on Go, tracked as https://github.com/piconic-ai/barefootjs/issues/2788. The same fixture also fails on Mojolicious, where the mechanism IS isolated: the `.html.ep` interpolates the LOCAL alias (`$kids`) while the stash defines only the caller-facing `children`, so the Perl render dies inside `Mojo::Template::process`. Go's own failure mode has NOT been read — `go` is not reachable from the local test process (the conformance case prints \"go command not found\" and skips), so this entry is declared from the CI failure on #2787 alone, not from a local reproduction. Whoever graduates this should read Go's actual output first rather than assume it shares Mojo's mechanism. Same alias family as `aliased-destructured-prop` (`{ n: count }`), whose Go half graduated in #2525 — worth checking whether the reserved `children` slot bypasses that fix or never had it. `children-passthrough-renamed` asserts the CORRECT (Hono-generated) output, so deleting this entry is the graduation.",
|
|
7086
|
-
"aliased-loop-source": "A `.map()` loop whose source is a local const alias of a signal getter (`const items__alias = items`) fails template execution on real Go (`can't evaluate field Items__alias in type main.AliasedLoopSourceProps`) — the zero-arg-call-to-field lowering routes `items__alias()` to a `.Items__alias` struct field that was never seeded, since seeding only knows about `items`, the real signal name; the alias hop is never resolved. This is the SSR-side twin of #2778 (fixed for the CSR client-JS template in the same PR that added this fixture) — that fix only touches client-JS emission, not Go's field-routing/seeding. Tracked at https://github.com/piconic-ai/barefootjs/issues/2813; graduate by resolving the alias hop at field-routing time using the same `resolveAliasOrigin`/`resolveGetterAliases` mechanism #2778 introduced, rather than a third alias-hop walker."
|
|
7087
|
-
};
|
|
7115
|
+
var renderDivergences = {};
|
|
7088
7116
|
export {
|
|
7089
7117
|
renderDivergences,
|
|
7090
7118
|
goTemplateAdapter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"render-divergences.d.ts","sourceRoot":"","sources":["../src/render-divergences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,iBAAsB,CAAA"}
|