@barefootjs/xslate 0.35.1 → 0.35.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitters.d.ts","sourceRoot":"","sources":["../../../src/adapter/expr/emitters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAGpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,YAAY,EAMlB,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"emitters.d.ts","sourceRoot":"","sources":["../../../src/adapter/expr/emitters.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -187651,6 +187651,11 @@ var PREDICATE_METHODS = new Set([
|
|
|
187651
187651
|
"every",
|
|
187652
187652
|
"some"
|
|
187653
187653
|
]);
|
|
187654
|
+
function flattenPropsMember(object, property) {
|
|
187655
|
+
if (object.kind === "identifier" && object.name === "props")
|
|
187656
|
+
return `$${property}`;
|
|
187657
|
+
return null;
|
|
187658
|
+
}
|
|
187654
187659
|
|
|
187655
187660
|
class XslateFilterEmitter {
|
|
187656
187661
|
param;
|
|
@@ -187681,6 +187686,9 @@ class XslateFilterEmitter {
|
|
|
187681
187686
|
return String(value);
|
|
187682
187687
|
}
|
|
187683
187688
|
member(object, property, _computed, _optional, emit) {
|
|
187689
|
+
const flat = flattenPropsMember(object, property);
|
|
187690
|
+
if (flat !== null)
|
|
187691
|
+
return flat;
|
|
187684
187692
|
if (property === "length") {
|
|
187685
187693
|
return `$bf.length(${emit(object)})`;
|
|
187686
187694
|
}
|
|
@@ -187808,9 +187816,9 @@ class XslateTopLevelEmitter {
|
|
|
187808
187816
|
return String(value);
|
|
187809
187817
|
}
|
|
187810
187818
|
member(object, property, _computed, _optional, emit) {
|
|
187811
|
-
|
|
187812
|
-
|
|
187813
|
-
|
|
187819
|
+
const flat = flattenPropsMember(object, property);
|
|
187820
|
+
if (flat !== null)
|
|
187821
|
+
return flat;
|
|
187814
187822
|
if (object.kind === "identifier") {
|
|
187815
187823
|
const staticValue = this.ctx._resolveStaticRecordLiteral(object.name, property);
|
|
187816
187824
|
if (staticValue !== null)
|
package/dist/index.js
CHANGED
|
@@ -187651,6 +187651,11 @@ var PREDICATE_METHODS = new Set([
|
|
|
187651
187651
|
"every",
|
|
187652
187652
|
"some"
|
|
187653
187653
|
]);
|
|
187654
|
+
function flattenPropsMember(object, property) {
|
|
187655
|
+
if (object.kind === "identifier" && object.name === "props")
|
|
187656
|
+
return `$${property}`;
|
|
187657
|
+
return null;
|
|
187658
|
+
}
|
|
187654
187659
|
|
|
187655
187660
|
class XslateFilterEmitter {
|
|
187656
187661
|
param;
|
|
@@ -187681,6 +187686,9 @@ class XslateFilterEmitter {
|
|
|
187681
187686
|
return String(value);
|
|
187682
187687
|
}
|
|
187683
187688
|
member(object, property, _computed, _optional, emit) {
|
|
187689
|
+
const flat = flattenPropsMember(object, property);
|
|
187690
|
+
if (flat !== null)
|
|
187691
|
+
return flat;
|
|
187684
187692
|
if (property === "length") {
|
|
187685
187693
|
return `$bf.length(${emit(object)})`;
|
|
187686
187694
|
}
|
|
@@ -187808,9 +187816,9 @@ class XslateTopLevelEmitter {
|
|
|
187808
187816
|
return String(value);
|
|
187809
187817
|
}
|
|
187810
187818
|
member(object, property, _computed, _optional, emit) {
|
|
187811
|
-
|
|
187812
|
-
|
|
187813
|
-
|
|
187819
|
+
const flat = flattenPropsMember(object, property);
|
|
187820
|
+
if (flat !== null)
|
|
187821
|
+
return flat;
|
|
187814
187822
|
if (object.kind === "identifier") {
|
|
187815
187823
|
const staticValue = this.ctx._resolveStaticRecordLiteral(object.name, property);
|
|
187816
187824
|
if (staticValue !== null)
|
package/dist/vite.js
CHANGED
|
@@ -5629,6 +5629,11 @@ var PREDICATE_METHODS = new Set([
|
|
|
5629
5629
|
"every",
|
|
5630
5630
|
"some"
|
|
5631
5631
|
]);
|
|
5632
|
+
function flattenPropsMember(object, property) {
|
|
5633
|
+
if (object.kind === "identifier" && object.name === "props")
|
|
5634
|
+
return `$${property}`;
|
|
5635
|
+
return null;
|
|
5636
|
+
}
|
|
5632
5637
|
|
|
5633
5638
|
class XslateFilterEmitter {
|
|
5634
5639
|
param;
|
|
@@ -5659,6 +5664,9 @@ class XslateFilterEmitter {
|
|
|
5659
5664
|
return String(value);
|
|
5660
5665
|
}
|
|
5661
5666
|
member(object, property, _computed, _optional, emit) {
|
|
5667
|
+
const flat = flattenPropsMember(object, property);
|
|
5668
|
+
if (flat !== null)
|
|
5669
|
+
return flat;
|
|
5662
5670
|
if (property === "length") {
|
|
5663
5671
|
return `$bf.length(${emit(object)})`;
|
|
5664
5672
|
}
|
|
@@ -5786,9 +5794,9 @@ class XslateTopLevelEmitter {
|
|
|
5786
5794
|
return String(value);
|
|
5787
5795
|
}
|
|
5788
5796
|
member(object, property, _computed, _optional, emit) {
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5797
|
+
const flat = flattenPropsMember(object, property);
|
|
5798
|
+
if (flat !== null)
|
|
5799
|
+
return flat;
|
|
5792
5800
|
if (object.kind === "identifier") {
|
|
5793
5801
|
const staticValue = this.ctx._resolveStaticRecordLiteral(object.name, property);
|
|
5794
5802
|
if (staticValue !== null)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@barefootjs/xslate",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.2",
|
|
4
4
|
"description": "Text::Xslate (Kolon) adapter for BarefootJS — compiles IR to .tx templates and ships the Xslate rendering backend; runs under any PSGI/Plack app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"directory": "packages/adapter-xslate"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@barefootjs/shared": "0.35.
|
|
58
|
+
"@barefootjs/shared": "0.35.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@barefootjs/jsx": ">=0.2.0",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@barefootjs/adapter-tests": "0.1.0",
|
|
75
|
-
"@barefootjs/jsx": "0.35.
|
|
76
|
-
"@barefootjs/vite": "0.35.
|
|
77
|
-
"@barefootjs/client": "0.35.
|
|
75
|
+
"@barefootjs/jsx": "0.35.2",
|
|
76
|
+
"@barefootjs/vite": "0.35.2",
|
|
77
|
+
"@barefootjs/client": "0.35.2",
|
|
78
78
|
"typescript": "^5.0.0",
|
|
79
79
|
"vite": "^6.0.0"
|
|
80
80
|
}
|
|
@@ -64,6 +64,21 @@ const PREDICATE_METHODS = new Set<HigherOrderMethod>([
|
|
|
64
64
|
'filter', 'find', 'findIndex', 'findLast', 'findLastIndex', 'every', 'some',
|
|
65
65
|
])
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* `props.x` on a bare-props-form component flattens to the bare `$x` the
|
|
69
|
+
* SSR caller binds each prop to (props arrive as individual top-level vars,
|
|
70
|
+
* not a `$props` hashref). Single door for BOTH `member()` emitters below
|
|
71
|
+
* (#2886) — `XslateFilterEmitter` lacked this decision entirely (#2879's
|
|
72
|
+
* cross-adapter follow-up), silently reaching `$props.x`, and `$props` is
|
|
73
|
+
* nil at runtime (silent — every row is kept instead of filtered). Returns
|
|
74
|
+
* null for any other receiver so callers fall through to their generic
|
|
75
|
+
* member lowering — `props.a.b` flattens only the inner hop.
|
|
76
|
+
*/
|
|
77
|
+
function flattenPropsMember(object: ParsedExpr, property: string): string | null {
|
|
78
|
+
if (object.kind === 'identifier' && object.name === 'props') return `$${property}`
|
|
79
|
+
return null
|
|
80
|
+
}
|
|
81
|
+
|
|
67
82
|
/**
|
|
68
83
|
* Lowering for the predicate body of a filter / every / some / find, plus the
|
|
69
84
|
* same shape used by `renderBlockBodyCondition` for complex block-body
|
|
@@ -119,6 +134,8 @@ export class XslateFilterEmitter implements ParsedExprEmitter {
|
|
|
119
134
|
}
|
|
120
135
|
|
|
121
136
|
member(object: ParsedExpr, property: string, _computed: boolean, _optional: boolean, emit: (e: ParsedExpr) => string): string {
|
|
137
|
+
const flat = flattenPropsMember(object, property)
|
|
138
|
+
if (flat !== null) return flat
|
|
122
139
|
// `.length` — route through `$bf.length` (handles both array element
|
|
123
140
|
// count and string char count, JS-compatibly). Kolon's builtin `.size()`
|
|
124
141
|
// is array-only and faults on a string.
|
|
@@ -323,11 +340,8 @@ export class XslateTopLevelEmitter implements ParsedExprEmitter {
|
|
|
323
340
|
}
|
|
324
341
|
|
|
325
342
|
member(object: ParsedExpr, property: string, _computed: boolean, _optional: boolean, emit: (e: ParsedExpr) => string): string {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
if (object.kind === 'identifier' && object.name === 'props') {
|
|
329
|
-
return `$${property}`
|
|
330
|
-
}
|
|
343
|
+
const flat = flattenPropsMember(object, property)
|
|
344
|
+
if (flat !== null) return flat
|
|
331
345
|
// Static property access on a module object-literal const
|
|
332
346
|
// (`variantClasses.ghost`, #1897) resolves at compile time — the
|
|
333
347
|
// generic dot lowering below would reference a Kolon var that
|