@torpor/view 0.1.0 → 0.1.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.
- package/CHANGELOG.md +15 -0
- package/dist/compile.cjs +13 -6
- package/dist/compile.cjs.map +1 -1
- package/dist/compile.js +13 -6
- package/dist/compile.js.map +1 -1
- package/dist/index.cjs +16 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +3 -3
- package/src/compile/build/client/buildElementNode.ts +15 -4
- package/src/compile/build/client/buildIfNode.ts +2 -1
- package/src/compile/build/client/buildReplaceNode.ts +2 -1
- package/src/compile/build/client/buildSwitchNode.ts +2 -1
- package/src/motion/animate.ts +10 -6
- package/src/render/addFragment.ts +12 -7
- package/src/render/hydrate.ts +7 -0
- package/src/watch/transferEffects.ts +1 -1
- package/test/props/reactive.test.ts +5 -16
package/dist/compile.js
CHANGED
|
@@ -1224,7 +1224,7 @@ function buildIfNode(node, status, b) {
|
|
|
1224
1224
|
}
|
|
1225
1225
|
function buildIfBranch(node, status, b, parentName, rangeName, index) {
|
|
1226
1226
|
status.imports.add("t_run_branch");
|
|
1227
|
-
b.append(`${node.statement} {`);
|
|
1227
|
+
b.append(`${replaceForVarNames(node.statement, status)} {`);
|
|
1228
1228
|
b.append(`t_run_branch(${rangeName}, ${index}, () => {`);
|
|
1229
1229
|
buildFragment(node, status, b, parentName, "t_before");
|
|
1230
1230
|
status.fragmentStack.push({
|
|
@@ -1259,7 +1259,7 @@ function buildReplaceNode(node, status, b) {
|
|
|
1259
1259
|
}
|
|
1260
1260
|
function buildReplaceBranch(node, status, b, parentName, rangeName) {
|
|
1261
1261
|
status.imports.add("t_run_branch");
|
|
1262
|
-
b.append(`${node.statement};`);
|
|
1262
|
+
b.append(`${replaceForVarNames(node.statement, status)};`);
|
|
1263
1263
|
b.append(`t_run_branch(${rangeName}, -1, () => {`);
|
|
1264
1264
|
buildFragment(node, status, b, parentName, "t_before");
|
|
1265
1265
|
status.fragmentStack.push({
|
|
@@ -1318,7 +1318,7 @@ function buildSwitchNode(node, status, b) {
|
|
|
1318
1318
|
}
|
|
1319
1319
|
function buildSwitchBranch(node, status, b, parentName, rangeName, index) {
|
|
1320
1320
|
status.imports.add("t_run_branch");
|
|
1321
|
-
b.append(`${node.statement} {`);
|
|
1321
|
+
b.append(`${replaceForVarNames(node.statement, status)} {`);
|
|
1322
1322
|
b.append(`t_run_branch(${rangeName}, ${index}, () => {`);
|
|
1323
1323
|
buildFragment(node, status, b, parentName, "t_before");
|
|
1324
1324
|
status.fragmentStack.push({
|
|
@@ -1524,8 +1524,17 @@ function buildHeadNode(node, status, b) {
|
|
|
1524
1524
|
});`);
|
|
1525
1525
|
}
|
|
1526
1526
|
function buildElementAttributes(node, varName, status, b) {
|
|
1527
|
+
const refAttribute = node.attributes.find((a) => a.name === "&ref");
|
|
1528
|
+
if (refAttribute) {
|
|
1529
|
+
let value = refAttribute.value;
|
|
1530
|
+
if (value != null && isFullyReactive(value)) {
|
|
1531
|
+
value = value.substring(1, value.length - 1);
|
|
1532
|
+
b.append(`${value} = ${varName};`);
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1527
1535
|
for (let { name, value } of node.attributes) {
|
|
1528
1536
|
if (name === "self" && node.tagName === ":element") {
|
|
1537
|
+
} else if (name === "&ref") {
|
|
1529
1538
|
} else if (name.startsWith("{") && name.endsWith("}")) {
|
|
1530
1539
|
name = name.substring(1, name.length - 1);
|
|
1531
1540
|
const propName = name.split(".").at(-1);
|
|
@@ -1536,9 +1545,7 @@ function buildElementAttributes(node, varName, status, b) {
|
|
|
1536
1545
|
} else {
|
|
1537
1546
|
value = `\`${trimQuotes(value).replaceAll("{", "${")}\``;
|
|
1538
1547
|
}
|
|
1539
|
-
if (name === "&
|
|
1540
|
-
b.append(`${value} = ${varName};`);
|
|
1541
|
-
} else if (name === "&group") {
|
|
1548
|
+
if (name === "&group") {
|
|
1542
1549
|
buildBindGroupAttribute(node, varName, value, status, b);
|
|
1543
1550
|
} else if (name === "&value" || name === "&checked") {
|
|
1544
1551
|
buildBindAttribute(node, varName, name, value, status, b);
|