@barefootjs/jsx 0.16.0 → 0.17.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.
Files changed (65) hide show
  1. package/dist/adapters/env-signal.d.ts +73 -15
  2. package/dist/adapters/env-signal.d.ts.map +1 -1
  3. package/dist/adapters/jsx-adapter.d.ts.map +1 -1
  4. package/dist/adapters/parsed-expr-emitter.d.ts +7 -6
  5. package/dist/adapters/parsed-expr-emitter.d.ts.map +1 -1
  6. package/dist/analyzer-context.d.ts +29 -1
  7. package/dist/analyzer-context.d.ts.map +1 -1
  8. package/dist/analyzer.d.ts.map +1 -1
  9. package/dist/builtin-lowering-plugins.d.ts +34 -0
  10. package/dist/builtin-lowering-plugins.d.ts.map +1 -0
  11. package/dist/compiler.d.ts.map +1 -1
  12. package/dist/expression-parser.d.ts +264 -163
  13. package/dist/expression-parser.d.ts.map +1 -1
  14. package/dist/index.d.ts +10 -4
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7839 -7019
  17. package/dist/ir-to-client-js/csr-substitute.d.ts.map +1 -1
  18. package/dist/ir-to-client-js/plan/build-declaration-emit.d.ts.map +1 -1
  19. package/dist/ir-to-client-js/plan/declaration-emit.d.ts +9 -0
  20. package/dist/ir-to-client-js/plan/declaration-emit.d.ts.map +1 -1
  21. package/dist/jsx-to-ir.d.ts.map +1 -1
  22. package/dist/lowering-registry.d.ts +122 -0
  23. package/dist/lowering-registry.d.ts.map +1 -0
  24. package/dist/query-href-lowering.d.ts +63 -0
  25. package/dist/query-href-lowering.d.ts.map +1 -0
  26. package/dist/ssr-defaults.d.ts.map +1 -1
  27. package/dist/ssr-seed-plan.d.ts +84 -0
  28. package/dist/ssr-seed-plan.d.ts.map +1 -0
  29. package/dist/types.d.ts +180 -11
  30. package/dist/types.d.ts.map +1 -1
  31. package/package.json +2 -2
  32. package/src/__tests__/__snapshots__/doc-examples.test.ts.snap +68 -3
  33. package/src/__tests__/analyzer.test.ts +53 -0
  34. package/src/__tests__/expression-parser.test.ts +714 -392
  35. package/src/__tests__/free-identifiers.test.ts +55 -0
  36. package/src/__tests__/ir-reduce-op.test.ts +18 -21
  37. package/src/__tests__/ir-sort-comparator.test.ts +19 -20
  38. package/src/__tests__/lowering-registry.test.ts +141 -0
  39. package/src/__tests__/materialize-getter-calls.test.ts +58 -0
  40. package/src/__tests__/primitive-resolver-alias.test.ts +23 -0
  41. package/src/__tests__/query-href-recognition.test.ts +58 -0
  42. package/src/__tests__/serialize-parsed-expr.test.ts +223 -0
  43. package/src/__tests__/ssr-seed-plan.test.ts +212 -0
  44. package/src/__tests__/unsupported-expression.test.ts +98 -4
  45. package/src/adapters/env-signal.ts +108 -21
  46. package/src/adapters/jsx-adapter.ts +17 -0
  47. package/src/adapters/parsed-expr-emitter.ts +39 -41
  48. package/src/analyzer-context.ts +72 -27
  49. package/src/analyzer.ts +226 -9
  50. package/src/builtin-lowering-plugins.ts +54 -0
  51. package/src/compiler.ts +6 -1
  52. package/src/expression-parser.ts +1375 -929
  53. package/src/index.ts +31 -3
  54. package/src/ir-to-client-js/csr-substitute.ts +5 -0
  55. package/src/ir-to-client-js/plan/build-declaration-emit.ts +16 -0
  56. package/src/ir-to-client-js/plan/declaration-emit.ts +9 -0
  57. package/src/ir-to-client-js/stringify/declaration-emit.ts +11 -0
  58. package/src/jsx-to-ir.ts +182 -43
  59. package/src/lowering-registry.ts +160 -0
  60. package/src/query-href-lowering.ts +147 -0
  61. package/src/ssr-defaults.ts +5 -1
  62. package/src/ssr-seed-plan.ts +146 -0
  63. package/src/types.ts +182 -12
  64. package/src/__tests__/flatmap-support.test.ts +0 -218
  65. package/src/__tests__/reduce-op.test.ts +0 -201
@@ -13,6 +13,7 @@ export type ParsedExpr = {
13
13
  kind: 'literal';
14
14
  value: string | number | boolean | null;
15
15
  literalType: 'string' | 'number' | 'boolean' | 'null';
16
+ raw?: string;
16
17
  } | {
17
18
  kind: 'call';
18
19
  callee: ParsedExpr;
@@ -49,52 +50,48 @@ export type ParsedExpr = {
49
50
  kind: 'template-literal';
50
51
  parts: TemplatePart[];
51
52
  } | {
52
- kind: 'arrow-fn';
53
- param: string;
53
+ kind: 'arrow';
54
+ params: string[];
54
55
  body: ParsedExpr;
55
56
  } | {
56
- kind: 'higher-order';
57
- method: 'filter' | 'every' | 'some' | 'find' | 'findIndex' | 'findLast' | 'findLastIndex';
58
- object: ParsedExpr;
59
- param: string;
60
- predicate: ParsedExpr;
57
+ kind: 'regex';
58
+ raw: string;
61
59
  } | {
62
60
  kind: 'array-literal';
63
61
  elements: ParsedExpr[];
62
+ } | {
63
+ kind: 'object-literal';
64
+ properties: ObjectLiteralProperty[];
65
+ raw: string;
64
66
  } | {
65
67
  kind: 'array-method';
66
68
  method: 'join' | 'includes' | 'indexOf' | 'lastIndexOf' | 'at' | 'concat' | 'slice' | 'reverse' | 'toReversed' | 'toLowerCase' | 'toUpperCase' | 'trim' | 'toFixed' | 'split' | 'startsWith' | 'endsWith' | 'replace' | 'repeat' | 'padStart' | 'padEnd';
67
69
  object: ParsedExpr;
68
70
  args: ParsedExpr[];
69
- } | {
70
- kind: 'array-method';
71
- method: 'sort' | 'toSorted';
72
- object: ParsedExpr;
73
- args: [];
74
- comparator: SortComparator;
75
- } | {
76
- kind: 'array-method';
77
- method: 'reduce' | 'reduceRight';
78
- object: ParsedExpr;
79
- args: [];
80
- reduceOp: ReduceOp;
81
71
  } | {
82
72
  kind: 'array-method';
83
73
  method: 'flat';
84
74
  object: ParsedExpr;
85
75
  args: [];
86
76
  flatDepth: FlatDepth;
87
- } | {
88
- kind: 'array-method';
89
- method: 'flatMap';
90
- object: ParsedExpr;
91
- args: [];
92
- flatMapOp: FlatMapOp;
93
77
  } | {
94
78
  kind: 'unsupported';
95
79
  raw: string;
96
80
  reason: string;
97
81
  };
82
+ /**
83
+ * One property of an `object-literal` `ParsedExpr`. The key is the
84
+ * resolved (non-computed) property name — for `{ a: 1 }` and shorthand
85
+ * `{ a }` it is `a`; for `{ 'a-b': 1 }` it is `a-b`. Computed keys
86
+ * (`{ [k]: 1 }`) are not represented; such literals fall through to
87
+ * `unsupported` at parse time.
88
+ */
89
+ export type ObjectLiteralProperty = {
90
+ key: string;
91
+ keyKind?: 'identifier' | 'string' | 'numeric';
92
+ shorthand: boolean;
93
+ value: ParsedExpr;
94
+ };
98
95
  /**
99
96
  * One comparison key inside a sort comparator. A simple
100
97
  * `(a, b) => a.f - b.f` produces a single key; a multi-key
@@ -112,40 +109,16 @@ export type SortKey = {
112
109
  direction: 'asc' | 'desc';
113
110
  };
114
111
  /**
115
- * Structured form of a JS `(a, b) => …` sort comparator. Built once
116
- * at parse time and consumed by both adapters' arrayMethod emit and
117
- * (when chained directly before `.map()`) the loop-hoist path in
118
- * `jsx-to-ir.ts`. The shape is intentionally finite — see
119
- * `extractSortComparatorFromTS` for the accepted catalogue.
112
+ * Structured form of a JS `(a, b) => …` sort comparator. Recovered from
113
+ * the generic `arrow` callback body by {@link sortComparatorFromArrow} as
114
+ * the LEGACY fallback for a comparator the runtime evaluator can't model
115
+ * (`localeCompare` string sorts `serializeParsedExpr` refuses them).
116
+ * Consumed by the adapters' `bf_sort` / `bf->sort` emit. The shape is
117
+ * intentionally finite — see {@link sortComparatorFromArrow} for the
118
+ * accepted catalogue.
120
119
  */
121
120
  export type SortComparator = {
122
121
  keys: SortKey[];
123
- raw: string;
124
- paramA: string;
125
- paramB: string;
126
- method: 'sort' | 'toSorted';
127
- };
128
- /**
129
- * Structured form of a JS `.reduce((acc, item) => …, init)` call,
130
- * built once at parse time and consumed by both template adapters'
131
- * `reduceMethod()` emit (#1448 Tier C). The shape is intentionally
132
- * finite — only the arithmetic-fold family is lowerable in a
133
- * declarative template; arbitrary accumulator bodies are not. See
134
- * `extractReduceOpFromTS` for the accepted catalogue.
135
- */
136
- export type ReduceOp = {
137
- op: '+' | '*';
138
- key: {
139
- kind: 'self';
140
- } | {
141
- kind: 'field';
142
- field: string;
143
- };
144
- type: 'numeric' | 'string';
145
- init: string;
146
- raw: string;
147
- paramAcc: string;
148
- paramItem: string;
149
122
  };
150
123
  /**
151
124
  * Flatten depth for `.flat(depth?)` (#1448 Tier C). A finite non-negative
@@ -156,41 +129,6 @@ export type ReduceOp = {
156
129
  * template time and refuses with BF101.
157
130
  */
158
131
  export type FlatDepth = number | 'infinity';
159
- /**
160
- * A single non-computed projection leaf on the flatMap callback param —
161
- * the item itself (`i`) or one of its fields (`i.field`). Shared by the
162
- * scalar and tuple `FlatMapOp` projections.
163
- */
164
- export type FlatMapLeaf = {
165
- kind: 'self';
166
- } | {
167
- kind: 'field';
168
- field: string;
169
- };
170
- /**
171
- * Structured form of a value-returning `.flatMap(fn)` callback (#1448
172
- * Tier C). The accepted catalogue:
173
- *
174
- * i => i → self projection (flatten one level)
175
- * i => i.field → field projection (flatten a per-item array field)
176
- * i => [i.a, i.b] → tuple projection (gather per-item leaves)
177
- *
178
- * The scalar `self` / `field` projections return a value that is then
179
- * flattened one level (flatMap = map + flat(1)) — a non-array value is
180
- * kept as-is, matching JS. The `tuple` projection returns an array
181
- * literal; flat(1) removes only that literal's wrapper, so each leaf is
182
- * appended verbatim (an array-valued leaf is NOT spread). Leaves outside
183
- * self / field (literals, `i.a + 1`, calls, deep access) refuse with
184
- * BF101. See `extractFlatMapOpFromTS`.
185
- */
186
- export type FlatMapOp = {
187
- projection: FlatMapLeaf | {
188
- kind: 'tuple';
189
- elements: FlatMapLeaf[];
190
- };
191
- param: string;
192
- raw: string;
193
- };
194
132
  export type TemplatePart = {
195
133
  type: 'string';
196
134
  value: string;
@@ -315,95 +253,73 @@ export declare function parseStyleObjectEntries(source: string): StyleObjectEntr
315
253
  */
316
254
  export declare function parseExpression(expr: string): ParsedExpr;
317
255
  /**
318
- * Recover a `SortComparator` from the comparator arg of `.sort(cmp)` /
319
- * `.toSorted(cmp)` (#1448 Tier B). Operates on the raw TS AST rather
320
- * than the converted ParsedExpr because the standard `convertNode`
321
- * arrow-fn path rejects two-param arrows (it was built for the
322
- * single-param higher-order shape `.filter(x => …)`); for sort we
323
- * need both param names to decide direction (`a-b` asc vs `b-a` desc).
324
- *
325
- * The accepted catalogue is finite so the walker stays shallow — no
326
- * constant folding, no symbol resolution, no inference of "this looks
327
- * like it might sort numerically". Returns null if the shape doesn't
328
- * match exactly, in which case the caller emits an `unsupported` IR
329
- * node and adapters surface BF101.
256
+ * Convert an already-parsed TypeScript node directly into a {@link ParsedExpr},
257
+ * for a consumer that already holds a `ts.Node` (e.g. a `.sort()` callback at
258
+ * the loop-hoist site) and wants the structured conversion without re-parsing
259
+ * source via `ts.createSourceFile`. An `unsupported` result still carries the
260
+ * node's text in `raw` for debugging (a synthetic node with no source file
261
+ * falls back to '').
262
+ */
263
+ export declare function tsNodeToParsedExpr(node: ts.Node): ParsedExpr;
264
+ /**
265
+ * Higher-order array methods whose callback body the runtime evaluator drives
266
+ * (#2018). Recognised generically as a `call` whose callee is `<recv>.<method>`
267
+ * and whose first argument is an `arrow`; the adapter serializes the arrow body
268
+ * to the evaluator. A JSX-returning `.map` / `.flatMap` is an IRLoop upstream
269
+ * and never reaches this recognition; the value-returning `.map(cb)` form
270
+ * (e.g. `tags.map(t => \`#${t}\`).join(' ')`) lowers via `map_eval` (#2073).
271
+ */
272
+ export declare const CALLBACK_METHODS: ReadonlySet<string>;
273
+ /**
274
+ * A recognised higher-order callback method call: `<object>.<method>(<arrow>,
275
+ * …rest)` where `method ∈` {@link CALLBACK_METHODS} and the first argument is a
276
+ * generic `arrow`. Returns the receiver, the callback arrow, and any trailing
277
+ * args (e.g. the `.reduce` init), or `null` if the shape doesn't match. The
278
+ * single recognition point shared by the support gate and the adapter dispatch.
279
+ */
280
+ export declare function asCallbackMethodCall(expr: ParsedExpr): {
281
+ method: string;
282
+ object: ParsedExpr;
283
+ arrow: Extract<ParsedExpr, {
284
+ kind: 'arrow';
285
+ }>;
286
+ args: ParsedExpr[];
287
+ } | null;
288
+ /**
289
+ * Recover a {@link SortComparator} from a generic `(a, b) => …` sort callback
290
+ * arrow (#2018 P5). The LEGACY fallback for a comparator the runtime evaluator
291
+ * can't model (`localeCompare` string sorts — `serializeParsedExpr` refuses
292
+ * them); the adapter calls this only when the eval path returns null. Operates
293
+ * on the generic `arrow` ParsedExpr (params + body subtree) — no `ts` re-parse.
330
294
  *
331
- * Body shapes:
332
- * - expression-bodied arrow (`(a, b) => …`)
333
- * - single-`return` block body both arrow (`(a, b) => { return …; }`)
334
- * and function expression. Multi-statement / local-var bodies stay
335
- * refused (deferred follow-up).
295
+ * The accepted catalogue is finite so the walker stays shallow — no constant
296
+ * folding, no symbol resolution. Returns null if the shape doesn't match
297
+ * exactly, in which case the adapter surfaces BF101.
336
298
  *
337
- * A body is split on top-level `||` into one leaf per operand, giving
338
- * a multi-key comparator (`a.x - b.x || a.y - b.y` → sort by x, then y).
339
- * Accepted leaf shapes (each paired ascending / descending by operand
340
- * order):
299
+ * A body is split on top-level `||` into one leaf per operand, giving a
300
+ * multi-key comparator (`a.x - b.x || a.y - b.y` → sort by x, then y). Accepted
301
+ * leaf shapes (each paired ascending / descending by operand order):
341
302
  *
342
303
  * a.field - b.field → field, numeric
343
304
  * a - b → self, numeric
344
305
  * a.field.localeCompare(b.field) → field, string
345
306
  * a.localeCompare(b) → self, string
346
307
  * a.field > b.field ? 1 : -1 → field, auto (relational ternary)
347
- * a.field < b.field ? -1 : 1 → field, auto
348
308
  * a < b ? -1 : a > b ? 1 : 0 → self/field, auto (3-way)
349
309
  * a === b ? 0 : <relational ternary> → leading-tie 3-way
350
310
  *
351
- * Function-reference comparators and `localeCompare(b, locale, opts)`
352
- * (the multi-arg form) return null — deferred follow-ups.
353
- */
354
- export declare function extractSortComparatorFromTS(node: ts.Node, method: 'sort' | 'toSorted'): SortComparator | null;
355
- /**
356
- * Recover a `ReduceOp` from the `(reducer, init)` args of
357
- * `.reduce(...)` (#1448 Tier C). Operates on the raw TS AST because the
358
- * standard `convertNode` arrow-fn path rejects two-param arrows.
359
- *
360
- * The accepted catalogue is intentionally finite — only the
361
- * arithmetic-fold family lowers to a declarative template:
362
- *
363
- * (acc, x) => acc + x → self, numeric (init: number)
364
- * (acc, x) => acc + x.field → field, numeric (init: number)
365
- * (acc, x) => acc * x → self, numeric (init: number)
366
- * (acc, x) => acc * x.field → field, numeric (init: number)
367
- * (acc, x) => acc + x → self, string (init: string → concat)
368
- * (acc, x) => acc + x.field → field, string (init: string → concat)
369
- *
370
- * The accumulator must be the binary expression's *left* operand
371
- * (canonical reduce form; reversed operands change string-concat
372
- * order), the per-item value must be the item param itself or a
373
- * single non-computed field access on it, and the init must be a
374
- * number or string literal (negative numbers via prefix `-` allowed).
375
- * String concatenation requires `+`. Block bodies reduce to a single
376
- * `return`, mirroring the sort extractor. Anything else returns null
377
- * and the caller emits `unsupported` (BF101).
378
- */
379
- export declare function extractReduceOpFromTS(reducerNode: ts.Node, initNode: ts.Node): ReduceOp | null;
380
- /**
381
- * Recover a `FlatMapOp` from the single-argument callback of a
382
- * value-returning `.flatMap(fn)` (#1448 Tier C). Operates on the raw TS
383
- * AST, mirroring `extractReduceOpFromTS`.
384
- *
385
- * The accepted catalogue:
386
- *
387
- * i => i → self (flatMap(identity) === flat(1))
388
- * i => i.field → field (flatten a per-item array field)
389
- * i => [i.a, i.b] → tuple (gather per-item self / field leaves)
390
- *
391
- * The callback must take exactly one identifier param (the index / array
392
- * params can't be expressed in a template projection), and the body must
393
- * be the param itself, a single non-computed field access on it, or an
394
- * array literal whose every element is one of those leaves. Block bodies
395
- * reduce to a single `return`, like the reduce / sort extractors. Any
396
- * other body (deep access, computed members, calls, arithmetic, a
397
- * literal element) returns null and the caller emits `unsupported`
398
- * (BF101).
311
+ * Function-reference comparators and `localeCompare(b, locale, opts)` (the
312
+ * multi-arg form) return null — deferred follow-ups.
399
313
  */
400
- export declare function extractFlatMapOpFromTS(cbNode: ts.Node): FlatMapOp | null;
314
+ export declare function sortComparatorFromArrow(arrow: ParsedExpr): SortComparator | null;
401
315
  /**
402
316
  * Check if a parsed expression is supported for SSR template conversion.
403
317
  */
404
318
  export declare function isSupported(expr: ParsedExpr): SupportResult;
405
319
  /**
406
- * Check if expression contains any higher-order method calls.
320
+ * Check if expression contains any higher-order callback method call
321
+ * (`.filter`/`.sort`/`.reduce`/… with an arrow argument — see
322
+ * {@link asCallbackMethodCall}) anywhere in the tree.
407
323
  */
408
324
  export declare function containsHigherOrder(expr: ParsedExpr): boolean;
409
325
  /**
@@ -418,6 +334,118 @@ export declare function containsHigherOrder(expr: ParsedExpr): boolean;
418
334
  * ```
419
335
  */
420
336
  export declare function parseBlockBody(block: ts.Block, sourceFile: ts.SourceFile, getJS: (node: ts.Node) => string): ParsedStatement[] | null;
337
+ /**
338
+ * Like {@link parseBlockBody} but tolerant: a statement `parseStatement` can't
339
+ * represent is **skipped** rather than failing the whole block. Used to carry a
340
+ * block-body memo's structure on the IR for adapters that only pattern-match a
341
+ * recognised prefix of statements (e.g. a `const k = getter(); if (!k) return
342
+ * CONST` guard) and ignore the rest — including a trailing client-directive
343
+ * (`@client`) return that the strict parser would reject. Mirrors the tolerant
344
+ * `continue`-on-unrecognised walks those adapters previously ran over a
345
+ * re-parsed source string, so it never carries a *more* permissive result.
346
+ */
347
+ export declare function parseBlockBodyTolerant(block: ts.Block, sourceFile: ts.SourceFile, getJS: (node: ts.Node) => string): ParsedStatement[];
348
+ /**
349
+ * The actionable refusal reason for a block body that is not purely-functionally
350
+ * expressible. Carried on the `unsupported` ParsedExpr so adapters surface it as
351
+ * the BF101 message. A loop that mutates a local to accumulate a value is a fold
352
+ * (already expressible via `.reduce`); a loop that does anything else, a `break`,
353
+ * a re-assignment, or a side-effecting/I-O call is genuinely imperative and has
354
+ * no value-position lowering.
355
+ */
356
+ export declare const IMPERATIVE_BLOCK_REASON: string;
357
+ /**
358
+ * Refusal reason when inlining a `const` binding would capture a free variable
359
+ * of its initializer under a nested callback parameter of the same name. The
360
+ * let-inline substitution is not a hygienic (alpha-renaming) substitution, so
361
+ * rather than silently miscompile the callback we refuse and adapters surface
362
+ * BF101.
363
+ */
364
+ export declare const CAPTURE_BLOCK_REASON: string;
365
+ /**
366
+ * Refusal reason when a `const` initializer may have side effects (it contains
367
+ * a function/method call) and the binding is NOT used exactly once on a single
368
+ * runtime path. Let-inline substitutes the initializer at each use site, which
369
+ * would drop the effect (zero uses) or duplicate it (multiple uses / a use
370
+ * inside a callback that runs per element) — exactly the side-effecting shape
371
+ * the fold must refuse rather than miscompile.
372
+ */
373
+ export declare const IMPURE_INLINE_BLOCK_REASON: string;
374
+ /**
375
+ * Options for {@link foldBlockToExpr}.
376
+ */
377
+ export interface FoldBlockOptions {
378
+ /**
379
+ * Names of zero-argument calls that are idempotent reads with no observable
380
+ * side effect — chiefly reactive getters (signal / memo accessors), which
381
+ * return the same value each time within a render. Inlining such a read at
382
+ * multiple sites is evaluation-count-neutral, so the fold may treat
383
+ * `getter()` as pure. The caller (e.g. `jsx-to-ir`) supplies the set from its
384
+ * analyzer-collected signal/memo names; callers without that context (the
385
+ * plain `convertNode` callback path) omit it and every call stays "possibly
386
+ * impure". A non-empty arg list or a member-call (`a.b()`) is never treated as
387
+ * pure by this set.
388
+ */
389
+ pureCallNames?: ReadonlySet<string>;
390
+ }
391
+ /**
392
+ * Fold a value-producing block body — a {@link ParsedStatement} sequence of
393
+ * `const` bindings, value-producing `if` / early `return`, and a terminal
394
+ * `return` — into a single {@link ParsedExpr}, so block-bodied memos / derived /
395
+ * callbacks flow through the same expression surface as expression-bodied ones
396
+ * (#2040, carved from #2018 stage 5). This generalizes the per-idiom block-memo
397
+ * recognizers (#1897 / #1945 / #2015) the same way the evaluator replaced the
398
+ * `bf_sort` / `bf_reduce` catalogue: one normalization, no growing pattern list.
399
+ *
400
+ * Transformations:
401
+ * - `const x = <init>; …` → inline `x`'s init into the rest (let-inline).
402
+ * - `if (c) <then> [else <else>] …` → `c ? fold(then-path) : fold(else-path)`,
403
+ * where a branch that does not itself terminate continues into the
404
+ * statements following the `if` (the early-return idiom).
405
+ * - `return <v>` → `<v>`.
406
+ *
407
+ * The rest is folded first, leaving each binding as a free identifier, so its
408
+ * use count can be measured before inlining. Inlining is refused (→ `ok: false`)
409
+ * when it would be unsound:
410
+ * - a possibly-impure init (one containing a call) used zero or more than once
411
+ * on a path would drop or duplicate the side effect (a pure init is always
412
+ * safe to inline any number of times);
413
+ * - a substitution would capture a free variable of the init under a nested
414
+ * callback parameter of the same name (substitution is not hygienic).
415
+ *
416
+ * Returns `{ ok: false }` for a sequence that cannot produce a value on some
417
+ * path (falls through with no `return`) — the genuinely-imperative residue that
418
+ * {@link IMPERATIVE_BLOCK_REASON} describes. The input is assumed to be the
419
+ * STRICT parse ({@link parseBlockBody}, not the tolerant variant): every source
420
+ * statement is represented, so a `false` here reflects the real shape rather
421
+ * than a silently-dropped statement.
422
+ */
423
+ export declare function foldBlockToExpr(stmts: ParsedStatement[], opts?: FoldBlockOptions): {
424
+ ok: true;
425
+ expr: ParsedExpr;
426
+ } | {
427
+ ok: false;
428
+ reason: string;
429
+ };
430
+ /**
431
+ * Rewrite a ternary whose arms are used in BOOLEAN context — e.g. the result of
432
+ * folding a block-bodied filter predicate (`if (c) return A; return B` →
433
+ * `c ? A : B`) — into an equivalent `&&` / `||` expression, so it flows through
434
+ * the ordinary boolean-expression lowering instead of needing a dedicated
435
+ * block-condition renderer per adapter (#2040). Boolean-literal arms collapse:
436
+ *
437
+ * c ? true : false → c
438
+ * c ? true : f → c || f
439
+ * c ? t : false → c && t
440
+ * c ? false : f → !c && f
441
+ * c ? t : true → !c || t
442
+ * c ? t : f → (c && t) || (!c && f)
443
+ *
444
+ * Arms are flattened recursively (an `else if` chain is a nested ternary); the
445
+ * test is left as-is. Only valid where the consumer interprets the value as a
446
+ * boolean (a filter predicate). Non-conditional input is returned unchanged.
447
+ */
448
+ export declare function predicateTernaryToLogical(expr: ParsedExpr): ParsedExpr;
421
449
  /**
422
450
  * Convert ParsedExpr back to a string for debugging.
423
451
  */
@@ -432,6 +460,79 @@ export declare function exprToString(expr: ParsedExpr): string;
432
460
  * downstream conversion pipeline.
433
461
  */
434
462
  export declare function stringifyParsedExpr(expr: ParsedExpr): string;
463
+ /**
464
+ * Rewrite every zero-arg `call` node whose callee is a bare identifier in
465
+ * `names` into that identifier — `tag()` → `tag` — leaving everything else
466
+ * untouched. Returns a new tree; the input is never mutated.
467
+ *
468
+ * Rationale: in an SSR seed/constructor context a signal/memo getter call
469
+ * reads the already-computed SEEDED value, so `tag()` reduces to "the value
470
+ * bound to `tag`". Materialising the call lets the runtime evaluator (which
471
+ * refuses any non-builtin call, {@link toEvalNode}'s `evalBuiltinCalleeName`
472
+ * gate) evaluate a predicate that reads sibling memos — e.g. a `.filter`
473
+ * predicate `(p) => !tag() || p.tags.includes(tag())` — with the getter's
474
+ * value supplied through the evaluator's `base_env` instead of an
475
+ * unsupported call node. `names` is caller-supplied (typically the sibling
476
+ * signals/memos seeded alongside the derived memo being lowered), so a call
477
+ * to an unrelated function is left as a `call` node and still refused by the
478
+ * evaluator's builtin gate if it reaches `serializeParsedExpr`.
479
+ */
480
+ export declare function materializeGetterCalls(expr: ParsedExpr, names: ReadonlySet<string>): ParsedExpr;
481
+ /**
482
+ * Serialize a pure-expression `ParsedExpr` (a higher-order callback body) into
483
+ * the minimal JSON the runtime evaluator consumes — the format pinned by the
484
+ * `eval-vectors` golden cases and read by Go `eval.go` `EvalNode` / Perl
485
+ * `Evaluator.pm` `evaluate`. Only the evaluator-recognized fields are emitted
486
+ * per kind (a literal carries just `value`; `literalType` / `raw` are dropped —
487
+ * the evaluator never reads them; `member.computed` is kept when set so a
488
+ * computed member stays distinguishable), keeping the embedded body blob small
489
+ * and stable.
490
+ *
491
+ * Returns `null` when the tree contains a shape outside the evaluator's surface
492
+ * — a folded `higher-order` / `array-method`, an `arrow-fn`, an `unsupported`
493
+ * node, an operator the evaluator doesn't implement, or a `call` whose callee
494
+ * isn't an allowlisted builtin (`Math.*` / `String` / `Number` / `Boolean`) — so
495
+ * the caller refuses the body (BF101 / `@client`) instead of emitting a blob the
496
+ * evaluator would read as nil. The evaluator's support criterion is
497
+ * purely-functional expressibility; this is its compile-time gate. (#2018)
498
+ */
499
+ export declare function serializeParsedExpr(expr: ParsedExpr): string | null;
500
+ /**
501
+ * The free variables a higher-order callback body references — every bare
502
+ * identifier in a value position, minus the callback's own `params`. The
503
+ * adapter materializes each into the evaluator's `base_env` (mapping the JS name
504
+ * to its SSR value). Walks exactly the value positions {@link serializeParsedExpr}
505
+ * serializes (so it sees object-literal *values* and template-expression parts,
506
+ * and skips member property names / object keys, which are not references).
507
+ * Returns a sorted, de-duplicated list for stable emit. (#2018)
508
+ */
509
+ export declare function freeVarsInBody(body: ParsedExpr, params: ReadonlySet<string>): string[];
510
+ /**
511
+ * Every value-position identifier in `expr` NOT bound by an enclosing arrow's
512
+ * own parameters — with proper lexical scoping: an arrow's params bind only
513
+ * within that arrow's body, and nested arrows accumulate onto the enclosing
514
+ * bound set. Unlike {@link freeVarsInBody} (which assumes a single flat param
515
+ * set and never recurses into nested `arrow` nodes, since a serializable
516
+ * evaluator body never contains one), this walks the full source-level tree —
517
+ * including arrows — so a caller can ask "is this name free ANYWHERE in the
518
+ * expression, honoring each arrow's own scope" rather than only within one
519
+ * callback body.
520
+ *
521
+ * Walks the same value positions as {@link serializeParsedExpr} /
522
+ * {@link freeVarsInBody}: call callee (skipped when it resolves to an
523
+ * evaluator builtin — see {@link evalBuiltinCalleeName} — so `Math.floor(x)`
524
+ * doesn't report `Math` as free) + args, binary/logical/unary operands,
525
+ * conditional branches, a member's OBJECT only (the property name is not a
526
+ * reference), an index-access's object + index, template-literal expression
527
+ * parts, array-literal elements, array-method object + args, and an
528
+ * object-literal's property VALUES (not keys). An `arrow` recurses into its
529
+ * body with its own params added to the bound set.
530
+ *
531
+ * Returns `null` when the tree contains an `unsupported` node (or any other
532
+ * shape this walk can't analyze) — the caller must fail safe rather than
533
+ * assume nothing is free.
534
+ */
535
+ export declare function freeIdentifiers(expr: ParsedExpr): Set<string> | null;
435
536
  /**
436
537
  * Extract the textual identifier path from a parsed expression's
437
538
  * callee — `{kind:'identifier', name:'String'}` → `"String"`,
@@ -1 +1 @@
1
- {"version":3,"file":"expression-parser.d.ts","sourceRoot":"","sources":["../src/expression-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-parser.d.ts","sourceRoot":"","sources":["../src/expression-parser.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,9 @@ export { compileJSX, buildMetadata } from './compiler.ts';
7
7
  export type { CompileResult, CompileOptions, CompileOptionsWithAdapter, FileOutput } from './compiler.ts';
8
8
  export { extractSsrDefaults } from './ssr-defaults.ts';
9
9
  export type { SsrDefault } from './ssr-defaults.ts';
10
- export type { ComponentIR, IRNode, IRElement, IRText, IRExpression, IRConditional, IRLoop, IRLoopChildComponent, IRComponent, IRFragment, IRSlot, IRIfStatement, IRProvider, IRAsync, IRMetadata, AttrValue, LiteralAttr, ExpressionAttr, BooleanAttr, BooleanShorthandAttr, TemplateAttr, SpreadAttr, JsxChildrenAttr, IRTemplatePart, IRProp, ParamInfo, PropertyInfo, TypeInfo, TypeDefinition, SourceLocation, CompilerError, } from './types.ts';
10
+ export { computeSsrSeedPlan } from './ssr-seed-plan.ts';
11
+ export type { SsrSeedPlan, SsrSeedStep } from './ssr-seed-plan.ts';
12
+ export type { ComponentIR, IRNode, IRElement, IRText, IRExpression, IRConditional, IRLoop, IRLoopChildComponent, IRComponent, IRFragment, IRSlot, IRIfStatement, IRProvider, IRAsync, IRMetadata, AttrValue, LiteralAttr, ExpressionAttr, BooleanAttr, BooleanShorthandAttr, TemplateAttr, SpreadAttr, JsxChildrenAttr, IRTemplatePart, IRProp, ParamInfo, PropertyInfo, MemoInfo, TypeInfo, TypeDefinition, SourceLocation, CompilerError, } from './types.ts';
11
13
  export { analyzeComponent, listComponentFunctions, listComponentFunctions as listExportedComponents, createProgramForFile, needsTypeBasedDetection, REACTIVE_PRIMITIVES, BROWSER_ONLY_CLIENT_APIS, type AnalyzerContext } from './analyzer.ts';
12
14
  export { createProgramForCorpus, type SharedProgramOptions } from './shared-program.ts';
13
15
  export { jsxToIR } from './jsx-to-ir.ts';
@@ -20,7 +22,11 @@ export type { JsxAdapterConfig } from './adapters/jsx-adapter.ts';
20
22
  export { rewriteImportsForTemplate } from './adapters/template-imports.ts';
21
23
  export { emitParsedExpr } from './adapters/parsed-expr-emitter.ts';
22
24
  export type { ParsedExprEmitter, HigherOrderMethod, ArrayMethod, SortMethod, LiteralType } from './adapters/parsed-expr-emitter.ts';
23
- export { importsSearchParams, searchParamsLocalNames, matchSearchParamsMethodCall } from './adapters/env-signal.ts';
25
+ export { importsSearchParams, searchParamsLocalNames, envSignalLocalNames, envSignalReaderFor, ENV_SIGNAL_READERS, queryHrefLocalNames, matchSearchParamsMethodCall } from './adapters/env-signal.ts';
26
+ export type { EnvSignalReader } from './adapters/env-signal.ts';
27
+ export { matchQueryHrefCall, queryHrefArgs, type QueryHrefCall, type QueryHrefTriple } from './query-href-lowering.ts';
28
+ export { registerLoweringPlugin, getLoweringPlugins, prepareLoweringMatchers, matchLoweringCall, __resetLoweringPluginsForTest, type LoweringPlugin, type LoweringNode, type LoweringTriple, type LoweringMatcher, } from './lowering-registry.ts';
29
+ export { queryHrefPlugin, registerBuiltinLoweringPlugins, BUILTIN_LOWERING_PLUGINS, } from './builtin-lowering-plugins.ts';
24
30
  export { emitIRNode } from './adapters/ir-node-emitter.ts';
25
31
  export type { IRNodeEmitter, EmitIRNode } from './adapters/ir-node-emitter.ts';
26
32
  export { emitAttrValue } from './adapters/attr-value-emitter.ts';
@@ -174,9 +180,9 @@ export { AttrValueOf } from './types.ts';
174
180
  export { applyCssLayerPrefix } from './css-layer-prefixer.ts';
175
181
  export { enableCompilerInstrumentation, disableCompilerInstrumentation, resetCompilerCounters, getCompilerCounters, type CompilerCounters, } from './instrumentation.ts';
176
182
  export { ErrorCodes, createError, formatError, generateCodeFrame } from './errors.ts';
177
- export { parseExpression, isSupported, exprToString, stringifyParsedExpr, identifierPath, parseBlockBody, containsHigherOrder, extractArrowBodyExpression, parseStyleObjectEntries, parseProviderObjectLiteral, type ProviderObjectMember } from './expression-parser.ts';
183
+ export { parseExpression, tsNodeToParsedExpr, asCallbackMethodCall, CALLBACK_METHODS, sortComparatorFromArrow, serializeParsedExpr, freeVarsInBody, freeIdentifiers, materializeGetterCalls, isSupported, exprToString, stringifyParsedExpr, identifierPath, parseBlockBody, parseBlockBodyTolerant, foldBlockToExpr, predicateTernaryToLogical, containsHigherOrder, extractArrowBodyExpression, parseStyleObjectEntries, parseProviderObjectLiteral, type ProviderObjectMember, type FoldBlockOptions } from './expression-parser.ts';
178
184
  export type { StyleObjectEntry } from './expression-parser.ts';
179
- export type { ParsedExpr, ParsedStatement, SortComparator, SortKey, ReduceOp, FlatDepth, FlatMapOp, FlatMapLeaf, SupportLevel, SupportResult, TemplatePart } from './expression-parser.ts';
185
+ export type { ParsedExpr, ObjectLiteralProperty, ParsedStatement, SortComparator, SortKey, FlatDepth, SupportLevel, SupportResult, TemplatePart } from './expression-parser.ts';
180
186
  export { buildLoopChainExpr } from './loop-chain.ts';
181
187
  export type { LoopChainInputs } from './loop-chain.ts';
182
188
  export { isLowerableObjectRestDestructure } from './loop-destructure.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}