@xaendar/compiler 0.5.2 → 0.5.3
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.
|
@@ -2296,7 +2296,7 @@ function processFor(node, nodeName, parentNode, parentContext) {
|
|
|
2296
2296
|
],
|
|
2297
2297
|
args: [itemsName, counterName]
|
|
2298
2298
|
});
|
|
2299
|
-
mainBlock.push("(() => {", ...indent("let localUnwatchFns = [];", "const unwatch = () => {", ...indent("
|
|
2299
|
+
mainBlock.push("(() => {", ...indent("let localUnwatchFns = [];", "const unwatch = () => {", ...indent("unwatchFns = unwatchFns.filter(fn => !localUnwatchFns.includes(fn));", "localUnwatchFns?.forEach(fn => fn());", "localUnwatchFns = [];"), "};", "unwatchFns.push(", ...indent("effect(() => {", ...indent("unwatch();", `const ${itemsName} = ${iterableExpr};`, "Signal.subtle.untrack(() => {", ...indent(`for (let ${counterName} = 0; ${counterName} < ${itemsName}.length; ${counterName}++) {`, ...indent(`localUnwatchFns.push(...this.for_${nodeName}(${itemsName}, ${counterName}));`, "unwatchFns.push(...localUnwatchFns);"), "}"), "});"), "})"), ");"), "})();");
|
|
2300
2300
|
return {
|
|
2301
2301
|
mainBlock,
|
|
2302
2302
|
fns: functionsToProcess
|
|
@@ -2356,7 +2356,7 @@ function processIf(node, nodeName, parentNode, context) {
|
|
|
2356
2356
|
return {
|
|
2357
2357
|
mainBlock: [
|
|
2358
2358
|
"(() => {",
|
|
2359
|
-
...indent("let state;", "let localUnwatchFns = []", "const checkAndUpdateState = (newState, fn) => {", ...indent("if (state === newState) {", ...indent("return;"), "}", "state = newState;", "unwatch();", "localUnwatchFns = Signal.subtle.untrack(fn);", "unwatchFns.push(...localUnwatchFns);"), "};", "const unwatch = () => {", ...indent("
|
|
2359
|
+
...indent("let state;", "let localUnwatchFns = []", "const checkAndUpdateState = (newState, fn) => {", ...indent("if (state === newState) {", ...indent("return;"), "}", "state = newState;", "unwatch();", "localUnwatchFns = Signal.subtle.untrack(fn);", "unwatchFns.push(...localUnwatchFns);"), "};", "const unwatch = () => {", ...indent("unwatchFns = unwatchFns.filter(fn => !localUnwatchFns.includes(fn));", "localUnwatchFns?.forEach(fn => fn());", "localUnwatchFns = [];"), "}", "unwatchFns.push(", ...indent("effect(() => {", ...indent(...mainBlock), "})"), ");"),
|
|
2360
2360
|
"})();"
|
|
2361
2361
|
],
|
|
2362
2362
|
fns: functionsToProcess
|
|
@@ -2392,7 +2392,7 @@ function processSwitch(node, nodeName, parentNode, context) {
|
|
|
2392
2392
|
return {
|
|
2393
2393
|
mainBlock: [
|
|
2394
2394
|
"(() => {",
|
|
2395
|
-
...indent("let localUnwatchFns = []", "const unwatch = () => {", ...indent("
|
|
2395
|
+
...indent("let localUnwatchFns = []", "const unwatch = () => {", ...indent("unwatchFns = unwatchFns.filter(fn => !localUnwatchFns.includes(fn));", "localUnwatchFns?.forEach(fn => fn());", "localUnwatchFns = [];"), "}", "unwatchFns.push(", ...indent("effect(() => {", ...indent("unwatch();", ...mainBlock), "})"), ");"),
|
|
2396
2396
|
"})();"
|
|
2397
2397
|
],
|
|
2398
2398
|
fns: functionsToProcess
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xaendar/compiler",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "A library for transpiling Xaendar Templates into JavaScript code",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@xaendar/common": "0.5.
|
|
20
|
-
"@xaendar/types": "0.5.
|
|
19
|
+
"@xaendar/common": "0.5.3",
|
|
20
|
+
"@xaendar/types": "0.5.3",
|
|
21
21
|
"typescript": "^6.0.3"
|
|
22
22
|
}
|
|
23
23
|
}
|