@torpor/view 1.0.0 → 1.0.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/compile.cjs +7 -0
- package/dist/compile.mjs +7 -0
- package/dist/compile.mjs.map +1 -1
- package/dist/index.cjs +39 -3
- package/dist/index.d.cts +9 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +9 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +39 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/compile.cjs
CHANGED
|
@@ -1754,9 +1754,14 @@ function buildHtmlNode(node, status, b) {
|
|
|
1754
1754
|
b.append(`${firstNodeVar} = ${fragmentName}.firstChild;`);
|
|
1755
1755
|
b.append(`${lastNodeVar} = ${fragmentName}.lastChild;`);
|
|
1756
1756
|
buildAddFragment(node, status, b, htmlParentName, "t_before");
|
|
1757
|
+
status.imports.add("t_first_inside");
|
|
1757
1758
|
b.append(`if (${firstNodeVar} !== null && ${firstNodeVar}.parentNode !== ${htmlParentName}) {`);
|
|
1758
1759
|
b.append(`${lastNodeVar} = ${htmlAnchorName}.previousSibling as ChildNode | null;`);
|
|
1759
1760
|
b.append(`if (${lastNodeVar} !== null) {`);
|
|
1761
|
+
b.append(`const t_stashed_first = t_first_inside(${htmlAnchorName} as ChildNode);`);
|
|
1762
|
+
b.append(`if (t_stashed_first !== undefined && t_stashed_first !== null) {`);
|
|
1763
|
+
b.append(`${firstNodeVar} = t_stashed_first;`);
|
|
1764
|
+
b.append(`} else {`);
|
|
1760
1765
|
b.append(`${firstNodeVar} = ${lastNodeVar};`);
|
|
1761
1766
|
b.append(`let t_scan: ChildNode | null = ${lastNodeVar};`);
|
|
1762
1767
|
b.append(`while (t_scan !== null && t_scan.previousSibling !== null && t_scan.previousSibling !== ${htmlAnchorName} && (t_scan.previousSibling.nodeType !== 3 || (t_scan.previousSibling.textContent ?? "").trim() !== "")) {`);
|
|
@@ -1765,6 +1770,7 @@ function buildHtmlNode(node, status, b) {
|
|
|
1765
1770
|
b.append(`${firstNodeVar} = t_scan;`);
|
|
1766
1771
|
b.append(`}`);
|
|
1767
1772
|
b.append(`}`);
|
|
1773
|
+
b.append(`}`);
|
|
1768
1774
|
b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
|
|
1769
1775
|
b.append("");
|
|
1770
1776
|
}
|
|
@@ -2506,6 +2512,7 @@ const importsMap$1 = {
|
|
|
2506
2512
|
t_root: "import { t_root } from \"${folder}\";",
|
|
2507
2513
|
t_root_el: "import { t_root_el } from \"${folder}\";",
|
|
2508
2514
|
t_anchor: "import { t_anchor } from \"${folder}\";",
|
|
2515
|
+
t_first_inside: "import { t_first_inside } from \"${folder}\";",
|
|
2509
2516
|
t_child: "import { t_child } from \"${folder}\";",
|
|
2510
2517
|
t_next: "import { t_next } from \"${folder}\";",
|
|
2511
2518
|
t_skip: "import { t_skip } from \"${folder}\";",
|
package/dist/compile.mjs
CHANGED
|
@@ -1753,9 +1753,14 @@ function buildHtmlNode(node, status, b) {
|
|
|
1753
1753
|
b.append(`${firstNodeVar} = ${fragmentName}.firstChild;`);
|
|
1754
1754
|
b.append(`${lastNodeVar} = ${fragmentName}.lastChild;`);
|
|
1755
1755
|
buildAddFragment(node, status, b, htmlParentName, "t_before");
|
|
1756
|
+
status.imports.add("t_first_inside");
|
|
1756
1757
|
b.append(`if (${firstNodeVar} !== null && ${firstNodeVar}.parentNode !== ${htmlParentName}) {`);
|
|
1757
1758
|
b.append(`${lastNodeVar} = ${htmlAnchorName}.previousSibling as ChildNode | null;`);
|
|
1758
1759
|
b.append(`if (${lastNodeVar} !== null) {`);
|
|
1760
|
+
b.append(`const t_stashed_first = t_first_inside(${htmlAnchorName} as ChildNode);`);
|
|
1761
|
+
b.append(`if (t_stashed_first !== undefined && t_stashed_first !== null) {`);
|
|
1762
|
+
b.append(`${firstNodeVar} = t_stashed_first;`);
|
|
1763
|
+
b.append(`} else {`);
|
|
1759
1764
|
b.append(`${firstNodeVar} = ${lastNodeVar};`);
|
|
1760
1765
|
b.append(`let t_scan: ChildNode | null = ${lastNodeVar};`);
|
|
1761
1766
|
b.append(`while (t_scan !== null && t_scan.previousSibling !== null && t_scan.previousSibling !== ${htmlAnchorName} && (t_scan.previousSibling.nodeType !== 3 || (t_scan.previousSibling.textContent ?? "").trim() !== "")) {`);
|
|
@@ -1764,6 +1769,7 @@ function buildHtmlNode(node, status, b) {
|
|
|
1764
1769
|
b.append(`${firstNodeVar} = t_scan;`);
|
|
1765
1770
|
b.append(`}`);
|
|
1766
1771
|
b.append(`}`);
|
|
1772
|
+
b.append(`}`);
|
|
1767
1773
|
b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
|
|
1768
1774
|
b.append("");
|
|
1769
1775
|
}
|
|
@@ -2505,6 +2511,7 @@ const importsMap$1 = {
|
|
|
2505
2511
|
t_root: "import { t_root } from \"${folder}\";",
|
|
2506
2512
|
t_root_el: "import { t_root_el } from \"${folder}\";",
|
|
2507
2513
|
t_anchor: "import { t_anchor } from \"${folder}\";",
|
|
2514
|
+
t_first_inside: "import { t_first_inside } from \"${folder}\";",
|
|
2508
2515
|
t_child: "import { t_child } from \"${folder}\";",
|
|
2509
2516
|
t_next: "import { t_next } from \"${folder}\";",
|
|
2510
2517
|
t_skip: "import { t_skip } from \"${folder}\";",
|