@torpor/view 0.0.14 → 0.1.0

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 (274) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +5 -5
  3. package/dist/compile.cjs +69 -31
  4. package/dist/compile.cjs.map +1 -1
  5. package/dist/compile.js +69 -31
  6. package/dist/compile.js.map +1 -1
  7. package/dist/index.cjs +19 -12
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +2 -4
  10. package/dist/index.d.ts +2 -4
  11. package/dist/index.js +19 -11
  12. package/dist/index.js.map +1 -1
  13. package/dist/metafile-cjs.json +1 -1
  14. package/dist/metafile-esm.json +1 -1
  15. package/package.json +4 -4
  16. package/scripts/copyToRepl.ts +1 -1
  17. package/src/compile/build/client/buildCode.ts +2 -11
  18. package/src/compile/build/client/buildComponentNode.ts +21 -5
  19. package/src/compile/build/client/buildElementNode.ts +14 -8
  20. package/src/compile/build/client/buildFragment.ts +37 -1
  21. package/src/compile/build/client/buildHtmlNode.ts +1 -0
  22. package/src/compile/build/client/buildSlotNode.ts +4 -1
  23. package/src/compile/build/server/buildServerComponentNode.ts +4 -1
  24. package/src/compile/build/server/buildServerElementNode.ts +5 -2
  25. package/src/compile/build/server/buildServerSlotNode.ts +4 -1
  26. package/src/compile/parse/parseCode.ts +20 -12
  27. package/src/index.ts +0 -2
  28. package/src/render/$unwrap.ts +1 -1
  29. package/src/render/addFragment.ts +7 -2
  30. package/src/render/nodeNext.ts +14 -7
  31. package/src/render/runControlBranch.ts +11 -1
  32. package/src/render/runList.ts +8 -2
  33. package/test/attributes/attributes.test.ts +3 -0
  34. package/test/attributes/components/Attributes.torp +6 -1
  35. package/test/attributes/components/output/Attributes-client.ts +6 -2
  36. package/test/attributes/components/output/Attributes-server.ts +2 -1
  37. package/test/attributes/components/temp/{Attributes-client-c4812cb9307eac6ff44f90f3358a1811b52c7390.ts → Attributes-client-7b8f7b9996208e8d2d0a12d4f4a40a73df63d9d8.ts} +6 -2
  38. package/test/attributes/components/temp/{Attributes-server-a7ebed503f2169f7c900d4613531082f1023b086.ts → Attributes-server-a1289434a5a801be1d63bfc85b621579e06452f0.ts} +2 -1
  39. package/test/await/await.test.ts +2 -4
  40. package/test/await/components/output/Await-client.ts +4 -4
  41. package/test/await/components/temp/{Await-client-6ce3ac610ce79ae3b474c81964b715e6f3d966da.ts → Await-client-a7bf000bf2b59a3d5251a0fa18ec79890a52a547.ts} +4 -4
  42. package/test/bench/bench.bench.ts +5 -7
  43. package/test/bench/components/output/Bench-client.ts +208 -0
  44. package/test/bench/components/output/Bench-server.ts +130 -0
  45. package/test/bench/components/temp/{Bench-client-5fee290225ae4771aa847360006123671e8f17f1.ts → Bench-client-fca94b485c6263778751927240ab3ca4048d7a10.ts} +10 -10
  46. package/test/bind/bind.test.ts +3 -5
  47. package/test/bind/component.test.ts +45 -0
  48. package/test/bind/components/BindComponent.torp +29 -0
  49. package/test/bind/components/BindText.torp +2 -2
  50. package/test/bind/components/output/BindComponent-client.ts +87 -0
  51. package/test/bind/components/output/BindComponent-server.ts +52 -0
  52. package/test/bind/components/output/BindText-client.ts +3 -3
  53. package/test/bind/components/temp/BindComponent-client-a645474748485a878871c062ad69e6bcf35e6550.ts +87 -0
  54. package/test/bind/components/temp/BindComponent-server-c557e7aa944517ab87415b8bb35b41b0034254e7.ts +52 -0
  55. package/test/bind/components/temp/{BindText-client-9e2f542e13bcbf9a44eab2c5a79d67ddb128f928.ts → BindText-client-d5f7d721df55020ef337f660e5d278eb80fcc330.ts} +3 -3
  56. package/test/build-server/build-server-element-node.test.ts +1 -1
  57. package/test/buildOutputFiles.ts +6 -3
  58. package/test/child-component/components/output/ParentChild-client.ts +3 -2
  59. package/test/child-component/components/output/ParentChild-server.ts +1 -0
  60. package/test/child-component/components/temp/{ParentChild-client-8f00a3a31a7f666990765fc4755b62a39c855226.ts → ParentChild-client-eaefb0cbfd251badab3c57ae2037d973f785a1b8.ts} +3 -2
  61. package/test/child-component/components/temp/{ParentChild-server-9c791bdfa521c3f6549857a34a6cd414fa3c9e80.ts → ParentChild-server-8f2fc556f87867e6e3393e2e9e6d696cda107b69.ts} +1 -0
  62. package/test/class/components/output/Class-client.ts +7 -6
  63. package/test/class/components/output/Class-server.ts +1 -0
  64. package/test/class/components/temp/{Class-client-8bf02b6a0c85674d341617dfb755b285b1af89cf.ts → Class-client-dc885e1e391f38973bd9ea25b7475b07f7c23960.ts} +7 -6
  65. package/test/class/components/temp/{Class-server-dd71b6ec62f40231917a912819520fc614f017ae.ts → Class-server-d1a2463ba432e10c6f68bd59d1d31949c5a2044f.ts} +1 -0
  66. package/test/component/components/output/Component-client.ts +3 -2
  67. package/test/component/components/output/Component-server.ts +1 -1
  68. package/test/component/components/output/Header-client.ts +2 -1
  69. package/test/component/components/output/Header-server.ts +1 -0
  70. package/test/component/components/temp/{Component-client-32cd481f03e25d10b8e93947a2ff8773135b4975.ts → Component-client-a2fb6f30fc340bac909b64cb4f5ac68cde376de3.ts} +3 -2
  71. package/test/component/components/temp/{Component-server-11542f55405218c0b471172cac1d6a1a4edb5c09.ts → Component-server-40be12cd528ccf768f1ad40ef2a435ad2b2a2d71.ts} +1 -1
  72. package/test/component/components/temp/{Header-client-ac151eea86e3f6b058fab101661e13ae73864968.ts → Header-client-75cb4aa868295ac168c16ba7b275fbb5ab9256f9.ts} +2 -1
  73. package/test/component/components/temp/{Header-server-4f10f2332f3ca7a097517cfb938ab1e6f31d68ac.ts → Header-server-f73307874bec34a95dcd152d7f83a3ad13a0f4ac.ts} +1 -0
  74. package/test/effects/components/output/For-client.ts +3 -2
  75. package/test/effects/components/output/For-server.ts +1 -0
  76. package/test/effects/components/output/If-client.ts +4 -3
  77. package/test/effects/components/output/If-server.ts +1 -0
  78. package/test/effects/components/output/NestedIf-client.ts +4 -3
  79. package/test/effects/components/output/NestedIf-server.ts +1 -0
  80. package/test/effects/components/temp/{For-client-887b1758cf5c80f64708a47369e0e6ce44ffa20f.ts → For-client-d8d4e4424ec3238fe9f79cc907d673612b63bcdf.ts} +3 -2
  81. package/test/effects/components/temp/{For-server-8e1c7393b102c870167dd086cbee45c47e614dfa.ts → For-server-1f853c161bea31a1a5b11b00d7a021b70c778066.ts} +1 -0
  82. package/test/effects/components/temp/{If-client-bfc548ef699b91f33e604f066211ce6269cc9506.ts → If-client-bb06988422395321bf298a75bf5563c6f750f776.ts} +4 -3
  83. package/test/effects/components/temp/{If-server-8c213b1a82cd0a5c2bccfeb90ba8bf01fa4672d2.ts → If-server-97e3cbe059306fc607985dcd1b187df3a278d979.ts} +1 -0
  84. package/test/effects/components/temp/{NestedIf-client-9e9155398f240345af392194063adc6e42dda80c.ts → NestedIf-client-dc880c1ec92e716ec730dfa0bac0e3d9265bdf27.ts} +4 -3
  85. package/test/effects/components/temp/{NestedIf-server-5f11d075c2ff224ee5feb7f61aa41aea8af44313.ts → NestedIf-server-9f199a33bae5d5fe34920d6a419937537a2b18dc.ts} +1 -0
  86. package/test/events/components/output/Increment-client.ts +2 -2
  87. package/test/events/components/temp/{Increment-client-35c275d15e94e4aa7625af12c45210521995ead5.ts → Increment-client-41bd7bc91aac8c7a9bf73527c8f7ba1794b09ab3.ts} +2 -2
  88. package/test/events/events.test.ts +2 -3
  89. package/test/for/components/ForEscape.torp +1 -1
  90. package/test/for/components/output/For-client.ts +1 -1
  91. package/test/for/components/output/ForEscape-client.ts +4 -4
  92. package/test/for/components/output/ForIn-client.ts +3 -2
  93. package/test/for/components/output/ForIn-server.ts +1 -0
  94. package/test/for/components/output/ForOf-client.ts +3 -2
  95. package/test/for/components/output/ForOf-server.ts +1 -0
  96. package/test/for/components/temp/{For-client-1f6e475347f0474375f12a7c24b0b293e3942aa7.ts → For-client-0be5994e98c07a3455cd8a18a2b1b8ef3605aba6.ts} +1 -1
  97. package/test/for/components/temp/{ForEscape-client-80d3078cf15001f2ab37b0ec63cfce7267a8a166.ts → ForEscape-client-a973a145e28b32ca55fe3dca53d885fcf5e11c37.ts} +4 -4
  98. package/test/for/components/temp/{ForIn-client-c8a1ec4473d05475e11928d06d081ab671fd9f28.ts → ForIn-client-5cc25a98e10826e8477fe6f931d5d2bbd0b13c9f.ts} +3 -2
  99. package/test/for/components/temp/{ForIn-server-d92cf8d3c3e300b562308607caca2c9cab3cb30b.ts → ForIn-server-d68e82c048f7e0f1525f74724b91e5cd01cdc6a6.ts} +1 -0
  100. package/test/for/components/temp/{ForOf-client-069881d4d9e52bc091e7213154924f3e1626174a.ts → ForOf-client-70b0d59ff72f1cffe2e0ac8523dd7ccdca4ffe39.ts} +3 -2
  101. package/test/for/components/temp/{ForOf-server-3bfbb33bd589890d272bbcbea53d9598f53bfd70.ts → ForOf-server-ac08d98dd249a3e64a366b8488450e6ce0d18def.ts} +1 -0
  102. package/test/for/for-escape.test.ts +2 -3
  103. package/test/function/components/output/Function-client.ts +1 -1
  104. package/test/function/components/temp/{Function-client-b8931e51769f3f1e84d1491c6474f8551acf9f8d.ts → Function-client-b3ff029a821d47e1a2249a52dfb681f4b2e96232.ts} +1 -1
  105. package/test/function/function.test.ts +1 -2
  106. package/test/html/components/output/Html-client.ts +3 -1
  107. package/test/html/components/output/Html-server.ts +1 -0
  108. package/test/html/components/temp/{Html-client-5fc745d9980a42a70dcb3473b0fd976e69882c9e.ts → Html-client-766ba4a63f28f929ca16cd7d1640fe92f9b30792.ts} +3 -1
  109. package/test/html/components/temp/{Html-server-437ea390e58947213ede74755a012cdacceeebe7.ts → Html-server-0a41da8b81bf833f331f3becdbac14be7ddc6c8c.ts} +1 -0
  110. package/test/if/components/output/IfAfterIf-client.ts +5 -4
  111. package/test/if/components/output/IfAfterIf-server.ts +1 -0
  112. package/test/if/components/output/IfElse-client.ts +4 -3
  113. package/test/if/components/output/IfElse-server.ts +1 -0
  114. package/test/if/components/output/IfElseIf-client.ts +5 -4
  115. package/test/if/components/output/IfElseIf-server.ts +1 -0
  116. package/test/if/components/output/IfNested-client.ts +5 -4
  117. package/test/if/components/output/IfNested-server.ts +1 -0
  118. package/test/if/components/temp/{IfAfterIf-client-a489daa5b961ed9da71418fdbb1665b6ba39f1b7.ts → IfAfterIf-client-49b6b8c42b0a351561f9f5f22c2ae2e844bf3b58.ts} +5 -4
  119. package/test/if/components/temp/{IfAfterIf-server-243736e666e7d77d3f8553a1682734555f5ffd22.ts → IfAfterIf-server-eb67cf1fcf6711882266219940a47bd4a66497f3.ts} +1 -0
  120. package/test/if/components/temp/{IfElse-client-4c71642f412d5dd2f45729eafb7e974781dbe011.ts → IfElse-client-e236d4a2e99262ff09675bc519c07e2826c0d70b.ts} +4 -3
  121. package/test/if/components/temp/{IfElse-server-64c055182b327504ee71d1f1d44cfccf48be350d.ts → IfElse-server-c077e0e30f4d2adec41ab779198362d21542d055.ts} +1 -0
  122. package/test/if/components/temp/{IfElseIf-client-98d50d6f40c2385c4ef4fc02329f9d2e182c76c4.ts → IfElseIf-client-b92106861f0c7ec3d09e3a42bb93d8f5bd4e3bdf.ts} +5 -4
  123. package/test/if/components/temp/{IfElseIf-server-79788b13af905175f50bfa8658f2ff2af73db232.ts → IfElseIf-server-67991eee3f56dc687cda600511c31396438e0a77.ts} +1 -0
  124. package/test/{build-server/components/temp/IfNested-client-979db97eea5b4595550b9b46f297f3fbc31796d2.ts → if/components/temp/IfNested-client-f563ac1b16a2280e457557281c4925ed447a9cd7.ts} +5 -4
  125. package/test/{build-server/components/temp/IfNested-server-3c4e4b6f2162c0906cef685830219b9ea9ee985c.ts → if/components/temp/IfNested-server-0a2a9643324ab73b02b310cad61ba87dab146ab2.ts} +1 -0
  126. package/test/mount/components/Mount.torp +1 -1
  127. package/test/mount/components/output/Mount-client.ts +0 -2
  128. package/test/mount/components/output/Mount-server.ts +1 -1
  129. package/test/mount/components/temp/{Mount-client-49d8d6475336b5749fe8a17be847fd2b6cda5ccc.ts → Mount-client-36dbc95a61345a1b7dcf07e6b0c998af2afca691.ts} +0 -2
  130. package/test/mount/components/temp/{Mount-server-e3d689cf52a4477da9aa00e2c7604110710db991.ts → Mount-server-8bef1924a731f3db63cb827be3938fec685e53af.ts} +1 -1
  131. package/test/on-mount/components/output/OnMount-client.ts +0 -2
  132. package/test/on-mount/components/temp/{OnMount-client-b2dfd41a0aaeafb3b7af14793a03e0fc3bc43aaa.ts → OnMount-client-21708a638d2939ee8b017f5dc819cee4748bde87.ts} +0 -2
  133. package/test/party/13-emit-to-parent.test.ts +2 -3
  134. package/test/party/16-context.test.ts +1 -2
  135. package/test/party/17-input-text.test.ts +2 -3
  136. package/test/party/18-input-checkbox.test.ts +1 -2
  137. package/test/party/19-input-radio.test.ts +2 -3
  138. package/test/party/20-input-select.test.ts +3 -4
  139. package/test/party/7-event-click.test.ts +1 -3
  140. package/test/party/9-conditional.test.ts +2 -4
  141. package/test/party/components/ColorSelect.torp +1 -1
  142. package/test/party/components/InputFocused.torp +1 -1
  143. package/test/party/components/InputHello.torp +1 -1
  144. package/test/party/components/IsAvailable.torp +1 -1
  145. package/test/party/components/PickPill.torp +2 -2
  146. package/test/party/components/output/AnswerButton-client.ts +3 -2
  147. package/test/party/components/output/AnswerButton-server.ts +1 -0
  148. package/test/party/components/output/AnswerButtonApp-client.ts +4 -4
  149. package/test/party/components/output/AnswerButtonApp-server.ts +1 -1
  150. package/test/party/components/output/ColorSelect-client.ts +1 -1
  151. package/test/party/components/output/Colors-client.ts +1 -1
  152. package/test/party/components/output/Counter-client.ts +1 -1
  153. package/test/party/components/output/FunnyButton-client.ts +1 -1
  154. package/test/party/components/output/FunnyButtonApp-client.ts +2 -2
  155. package/test/party/components/output/FunnyButtonApp-server.ts +1 -1
  156. package/test/party/components/output/InputFocused-client.ts +0 -2
  157. package/test/party/components/output/InputFocused-server.ts +1 -1
  158. package/test/party/components/output/InputHello-client.ts +1 -1
  159. package/test/party/components/output/IsAvailable-client.ts +1 -1
  160. package/test/party/components/output/PickPill-client.ts +2 -2
  161. package/test/party/components/output/TrafficLight-client.ts +6 -6
  162. package/test/party/components/output/UserProfile-client.ts +5 -4
  163. package/test/party/components/output/UserProfile-server.ts +1 -0
  164. package/test/party/components/output/UserProfileApp-client.ts +3 -2
  165. package/test/party/components/output/UserProfileApp-server.ts +1 -1
  166. package/test/party/components/output/UserProfileContext-client.ts +3 -3
  167. package/test/party/components/output/UserProfileContextApp-client.ts +2 -2
  168. package/test/party/components/output/UserProfileContextApp-server.ts +1 -1
  169. package/test/party/components/temp/{AnswerButton-client-243454cd7bf84c648f244b3587e60d01a0401039.ts → AnswerButton-client-c3dc7edbfff2db1ea111086002147d771ee12193.ts} +3 -2
  170. package/test/party/components/temp/{AnswerButton-server-938e46c1d2510ea37454854ef527e4aa64eb8e52.ts → AnswerButton-server-427442fa8cfc0a18817c2d37f9cb5cbcb3a88a05.ts} +1 -0
  171. package/test/party/components/temp/{AnswerButtonApp-client-34311c2e7412807867fb6267af31a341f092bf31.ts → AnswerButtonApp-client-3e0b63a6bbc1dee3e6cb715c0297cc2ce58d3e4e.ts} +4 -4
  172. package/test/party/components/temp/{AnswerButtonApp-server-3f5071775abea24ee8830830072c6fe465fc4e56.ts → AnswerButtonApp-server-bbc8bb739d2060ccda77ce406aa6b15d8f90b91c.ts} +1 -1
  173. package/test/party/components/temp/{ColorSelect-client-f9fb9fa09f4729da3226d5aaf30e84cd3cd705b5.ts → ColorSelect-client-5ffa6f9d77de967993088c9a01b9f976f3333176.ts} +1 -1
  174. package/test/party/components/temp/{Colors-client-f124162d1dd8f0c3d37bf96c8e5f18599ae3a682.ts → Colors-client-3dafffc5c2a72037f4419fc45d08963872a29958.ts} +1 -1
  175. package/test/party/components/temp/{Counter-client-c349710110b4afbf9593f20cfc40c162ed836079.ts → Counter-client-4d553521fcfc6c9a4e05dce89e70b2ecf8785c4e.ts} +1 -1
  176. package/test/party/components/temp/{FunnyButton-client-2e6bec8259065b5bc9ae16d1ca93dd1bd0c56b7c.ts → FunnyButton-client-45f2c5dd56f2cdb80102193a978df6b0cec822ab.ts} +1 -1
  177. package/test/party/components/temp/{FunnyButtonApp-client-4ed0ebf5be13ddb62d9942bac7f4b8a885ec6c50.ts → FunnyButtonApp-client-ac7101af922dc6ba472b75a428f340caca6be74a.ts} +2 -2
  178. package/test/party/components/temp/{FunnyButtonApp-server-9748c9096848e643c91237c46ea09d23f1b3fa7c.ts → FunnyButtonApp-server-f1a98a946e0bb9d1bb76b01e26d6ead8f55d32bb.ts} +1 -1
  179. package/test/party/components/temp/{InputFocused-client-a543f82c8db205fb3e33c62de699cff43c668a68.ts → InputFocused-client-11a9cb08909b26945bbc2451ab4c1dac09e6d113.ts} +0 -2
  180. package/test/party/components/temp/{InputFocused-server-222f2fa7029d1cd6941a3777293a9b2d37b7295e.ts → InputFocused-server-82be1a63c80d1dd3f06efaf0bef349d58cf1d9af.ts} +1 -1
  181. package/test/party/components/temp/{InputHello-client-9953499de5778bb1d8aac7691129210a6098db07.ts → InputHello-client-b0453caeae0d43dc1878039c6b49318d12624d48.ts} +1 -1
  182. package/test/party/components/temp/{IsAvailable-client-929ed6c872e72b6c5243b882c6a9a0d13f6a7c47.ts → IsAvailable-client-d789346a68b26fd3f5d9f7aebc4c7bd181c47cad.ts} +1 -1
  183. package/test/party/components/temp/{PickPill-client-f9a50a75ce63ec2ee3ac34e378e20602b93629f7.ts → PickPill-client-b47d371ae5f41d87c96b3cdeed0a8bc06fbfa9c7.ts} +2 -2
  184. package/test/party/components/temp/{TrafficLight-client-81dd9bd9f3332533e01f6c9b271c15e5f76e1fdb.ts → TrafficLight-client-549f9fe3418c113fb240cfa17e09c42e1e7f346a.ts} +6 -6
  185. package/test/party/components/temp/{UserProfile-client-938bcef20a2555de22aca939022a32742ac5e729.ts → UserProfile-client-2c13aac1ad915e51dc557f9af765669e636c0fea.ts} +5 -4
  186. package/test/party/components/temp/{UserProfile-server-9df5c59b8797fa67c479bc76450104d45e6076f9.ts → UserProfile-server-cc1162a4297f6163bfb86e7a8aeea08e8c0625c6.ts} +1 -0
  187. package/test/party/components/temp/{UserProfileApp-client-af27173415d65647cab0f30a9a4967cef0307e25.ts → UserProfileApp-client-2be7a11319cca4d7bfa0f3d2205c441d7e203780.ts} +3 -2
  188. package/test/party/components/temp/{UserProfileApp-server-6a7dbe68ee8041785cef50fb15a9e5ba475e120f.ts → UserProfileApp-server-ab9ff66f787f775aa8571314fee8bcbef85489ef.ts} +1 -1
  189. package/test/party/components/temp/{UserProfileContext-client-93211cdba795b8baf926f60f5b17da90701743b3.ts → UserProfileContext-client-2aa36f436a5f20614d77f48963ec5ca442eebd90.ts} +3 -3
  190. package/test/party/components/temp/{UserProfileContextApp-client-7ea7d90a35894408757aef3e935d3a8badf93aea.ts → UserProfileContextApp-client-5099052fdcd8fb4c368c45090390947424a4e9b0.ts} +2 -2
  191. package/test/party/components/temp/{UserProfileContextApp-server-90290c770529d7211eabf29e7d0fe868aa856b52.ts → UserProfileContextApp-server-6be8dab2ed4f8911f26bef137e7dea164f2b894d.ts} +1 -1
  192. package/test/props/components/Reactive.torp +18 -0
  193. package/test/props/components/output/Reactive-client.ts +70 -0
  194. package/test/props/components/output/Reactive-server.ts +40 -0
  195. package/test/props/components/temp/Reactive-client-e3e5f6ee2f22c46337c6ab1df2f241133c7e2646.ts +70 -0
  196. package/test/props/components/temp/Reactive-server-0914d91287a1bc6d32d7cc56d086624762dbfc04.ts +40 -0
  197. package/test/props/reactive.test.ts +51 -0
  198. package/test/replace/components/output/Replace-client.ts +3 -2
  199. package/test/replace/components/output/Replace-server.ts +1 -0
  200. package/test/replace/components/temp/{Replace-client-ea4ddc73c71181fb6ef3c6f5bf61b0b9e017f00a.ts → Replace-client-3fdab63871fa4bb792317caefd3539b1888325b1.ts} +3 -2
  201. package/test/replace/components/temp/{Replace-server-30eb1ad796516fa4d310798a9c8a6811ec13cbd9.ts → Replace-server-857aca7a58deffc3a1c95ab9d31628b4051ca203.ts} +1 -0
  202. package/test/slots/components/output/Article-client.ts +2 -2
  203. package/test/slots/components/output/Basic-client.ts +1 -1
  204. package/test/slots/components/output/Basic-server.ts +1 -1
  205. package/test/slots/components/output/Let-client.ts +4 -3
  206. package/test/slots/components/output/Let-server.ts +2 -1
  207. package/test/slots/components/output/List-client.ts +1 -1
  208. package/test/slots/components/output/List-server.ts +1 -0
  209. package/test/slots/components/output/Named-client.ts +2 -2
  210. package/test/slots/components/output/Named-server.ts +1 -1
  211. package/test/slots/components/output/Unused-client.ts +1 -1
  212. package/test/slots/components/output/Unused-server.ts +1 -1
  213. package/test/slots/components/temp/{Article-client-741f94eab2e96655f4c9d69ccd7d9c7cc998f4ce.ts → Article-client-80848d6cadd8abac61865d14ddd35685844797e0.ts} +2 -2
  214. package/test/slots/components/temp/{Basic-client-c82bc3c5e10f2f2c1869347435262c8f3039e32f.ts → Basic-client-97b18686412869e8c814fd4542dfe826b1f7669f.ts} +1 -1
  215. package/test/slots/components/temp/{Basic-server-21fb4f8caa3bbcae219aaef388af8c26c46fa5ce.ts → Basic-server-248392e2cd147b537cd44e9a5a71885ef20102e4.ts} +1 -1
  216. package/test/slots/components/temp/{Let-client-c54696fd1b5b859a693744722957fa960f72fad6.ts → Let-client-be69c1f5aa32faf16239050d7836db46cfdcba2f.ts} +4 -3
  217. package/test/slots/components/temp/{Let-server-4d78ffc8741fa737f2cd915b36c0e6ec88a9146f.ts → Let-server-c3293219ed27aec61a6af36d451ddf6609c40027.ts} +2 -1
  218. package/test/slots/components/temp/{List-client-0659d999cfb48b865fe5b8aaaf2a4ddac3a8a8b6.ts → List-client-a829b33214de829de689a72d2e8703b2266ad7a4.ts} +1 -1
  219. package/test/slots/components/temp/{List-server-4b76485a259d054187edad8aa691d80ac918ad86.ts → List-server-06503834c9bfae9b8c2b61742568b020a3de961c.ts} +1 -0
  220. package/test/slots/components/temp/{Named-client-0626b2f0911f77f5edcfda82f9751bcbc37b7641.ts → Named-client-2d9d88f5fdf74d81c3ed1d769a476f4ac36c8b99.ts} +2 -2
  221. package/test/slots/components/temp/{Named-server-e802f901223d697c7fd0a1a234ce1930af1b4b3f.ts → Named-server-65a7bbf038111475c8f07dccb34040ab8c1392c4.ts} +1 -1
  222. package/test/slots/components/temp/{Unused-client-aa05465731e0d00e18189498f49c94f991e76f10.ts → Unused-client-1b16491cb800bbbbd871d9fbf5966c7275244019.ts} +1 -1
  223. package/test/slots/components/temp/{Unused-server-00b92d14665a565f0042b1f56231f28bc38a1252.ts → Unused-server-e5d1e85116bebc7e1a2882cb8f2c9ae7975a1de7.ts} +1 -1
  224. package/test/special-component/components/output/Component-client.ts +5 -4
  225. package/test/special-component/components/output/Component-server.ts +3 -2
  226. package/test/special-component/components/temp/{Component-client-3cc84b23def8830b8ef441bde0f03b3e9718196a.ts → Component-client-22f7e1d0955fb3d90939e956a1f0f77118c259b6.ts} +5 -4
  227. package/test/special-component/components/temp/{Component-server-5dc597784ea1fe45ac2cfb21305cf2187a3868e8.ts → Component-server-ce596cd84dc11f67c9f0588060a5b672eddf9715.ts} +3 -2
  228. package/test/special-element/components/output/Element-client.ts +2 -1
  229. package/test/special-element/components/output/Element-server.ts +1 -0
  230. package/test/special-element/components/temp/{Element-client-0ab8992a8e914c7e190cddac790585fef9be1c9f.ts → Element-client-21c92c04579b1d29e8813265a10897d069aad5c5.ts} +2 -1
  231. package/test/special-element/components/temp/{Element-server-ddb0170df4a3f369577ca7e9768e5fe799f14dfb.ts → Element-server-4bed9653529f39e72754126147fe8618f328853a.ts} +1 -0
  232. package/test/special-self/components/output/Self-client.ts +3 -2
  233. package/test/special-self/components/output/Self-server.ts +1 -0
  234. package/test/special-self/components/temp/{Self-client-3982f174954034643c4d17cfc66d7f10bf1d4df6.ts → Self-client-911c67194be1fdd997537310bcafe712161e8251.ts} +3 -2
  235. package/test/special-self/components/temp/{Self-server-97ffbdaae47f4463034e1d318a8073d078ff138f.ts → Self-server-49ba9be1f6255dd4daf490c640f5222a85960218.ts} +1 -0
  236. package/test/style/components/output/Style-client.ts +2 -1
  237. package/test/style/components/output/Style-server.ts +1 -0
  238. package/test/style/components/temp/{Style-client-085517e82bdd015c86f4c2577447c6a2791cf656.ts → Style-client-cbfac1e255c33a867ccbd5f9d1484a855d91a2d7.ts} +2 -1
  239. package/test/style/components/temp/{Style-server-b2615163fbafdcb2a5d4155120edf2f66ef3bba6.ts → Style-server-763d82ee2296be3f7620814aed950b505329c04c.ts} +1 -0
  240. package/test/svg/components/output/Shape-client.ts +4 -3
  241. package/test/svg/components/output/Shape-server.ts +1 -0
  242. package/test/svg/components/temp/{Shape-client-ea698ed1b7d0c3615adff35fa4956f22840f5fda.ts → Shape-client-cb98b36ab2a0d9f06b484a3c988fb43c3a71a4a0.ts} +4 -3
  243. package/test/svg/components/temp/{Shape-server-eb32049cfb7c058b2c4079c5f86ef00651ff6d69.ts → Shape-server-500d7fe4556026234ce5379b8e90595ddd094edc.ts} +1 -0
  244. package/test/switch/components/output/Switch-client.ts +5 -4
  245. package/test/switch/components/output/Switch-server.ts +1 -0
  246. package/test/switch/components/temp/{Switch-client-4c4adac7308795807517e66bc268a38f87df6bda.ts → Switch-client-9980de45e3346b79525c445edec7cbc3b375e8a4.ts} +5 -4
  247. package/test/switch/components/temp/{Switch-server-21fcac2b02c6071136bb0dc394babd27e454d2c9.ts → Switch-server-1c5690726f28008bb565966af69b6e4e019dea82.ts} +1 -0
  248. package/test/text/components/output/Text-client.ts +3 -2
  249. package/test/text/components/output/Text-server.ts +1 -0
  250. package/test/text/components/temp/{Text-client-9840092be1b4552ddce6e5efc2f1b395637a0a3d.ts → Text-client-63f1d3bf9b3bd145c7ce7058716640e27144055e.ts} +3 -2
  251. package/test/text/components/temp/{Text-server-6774aa9d4ccce941224ba0a8fb1d3e42eb31807e.ts → Text-server-9d3dd6f51e893e63c1999ceafce19ca1697d76ea.ts} +1 -0
  252. package/test/watch-array/components/output/Array-client.ts +4 -3
  253. package/test/watch-array/components/output/Array-server.ts +1 -0
  254. package/test/watch-array/components/output/ArrayEntries-client.ts +4 -3
  255. package/test/watch-array/components/output/ArrayEntries-server.ts +1 -0
  256. package/test/watch-array/components/output/ArrayIndexes-client.ts +4 -3
  257. package/test/watch-array/components/output/ArrayIndexes-server.ts +1 -0
  258. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +4 -3
  259. package/test/watch-array/components/output/ArrayUnkeyed-server.ts +1 -0
  260. package/test/watch-array/components/temp/{Array-client-b29a42f88c2a2f37b3a86bdb9535e20a487887e1.ts → Array-client-ffd82188a45877d74053c82fb3616e4aed0fc2ad.ts} +4 -3
  261. package/test/watch-array/components/temp/{Array-server-ced54fc7e63196f9c24c2e55b27bfe6cf7821dcb.ts → Array-server-3715e815af887e8487b214e7de324850fe99e312.ts} +1 -0
  262. package/test/watch-array/components/temp/{ArrayEntries-client-6289890758b1f6b462a74417e0b9e2e46d946ccd.ts → ArrayEntries-client-b6e982660628576061dbb44539e970b9549bdcfa.ts} +4 -3
  263. package/test/watch-array/components/temp/{ArrayEntries-server-0429a18ffbe39afe87612889a3010c3fcaa601dc.ts → ArrayEntries-server-85cbe80fbb7f6885287825e2cc0dfc1cb9835d79.ts} +1 -0
  264. package/test/watch-array/components/temp/{ArrayIndexes-client-fe4b1c49f442b3e5411f331c52ae6c5ab38f2b2d.ts → ArrayIndexes-client-39337aa43bd8c10a53db836c3be233d48dd39b91.ts} +4 -3
  265. package/test/watch-array/components/temp/{ArrayIndexes-server-20c01f10832f035b007f85a423778934d51a703a.ts → ArrayIndexes-server-ec623c724af0c7212675d61ea68e9dee87f96caa.ts} +1 -0
  266. package/test/watch-array/components/temp/{ArrayUnkeyed-client-3fffe2ce749ee84e0730130bfd730d432e3c4e12.ts → ArrayUnkeyed-client-7606f9a6a221c8cf6a8b51e4895d10a3d7bccc11.ts} +4 -3
  267. package/test/watch-array/components/temp/{ArrayUnkeyed-server-0ab804a5e7bf5b47594d85adab79735e89a3939d.ts → ArrayUnkeyed-server-db21cd576a4c70973abe10f6c8ef5cecb3ead86c.ts} +1 -0
  268. package/test/watch-object/components/output/Watched-client.ts +2 -1
  269. package/test/watch-object/components/output/Watched-server.ts +1 -0
  270. package/test/watch-object/components/temp/{Watched-client-cb293038cd0a39043d05639c624a17d512419c25.ts → Watched-client-bbffbf2cede1a5c071b770670eb39c0f0be725af.ts} +2 -1
  271. package/test/watch-object/components/temp/{Watched-server-4884585cf4f50493a70631909f2230153531208e.ts → Watched-server-0252addaf92fb0f0c1e2937f42918a1c9f31d196.ts} +1 -0
  272. package/src/render/flushMountEffects.ts +0 -8
  273. package/test/if/components/temp/IfNested-client-979db97eea5b4595550b9b46f297f3fbc31796d2.ts +0 -90
  274. package/test/if/components/temp/IfNested-server-3c4e4b6f2162c0906cef685830219b9ea9ee985c.ts +0 -30
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type ListItem } from "../../../../src/types/ListItem";
3
4
  import { type SlotRender } from "../../../../src/types/SlotRender";
4
5
  import t_add_fragment from "../../../../src/render/addFragment";
@@ -23,7 +24,7 @@ export default function ArrayUnkeyed(
23
24
  // @ts-ignore
24
25
  $slots?: Record<string, SlotRender>
25
26
  ) {
26
- $props ??= {};
27
+ $props ??= $watch({});
27
28
 
28
29
  /* User interface */
29
30
  const t_fragments: DocumentFragment[] = [];
@@ -31,7 +32,7 @@ export default function ArrayUnkeyed(
31
32
  const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<section> <p>^</p> <!> <p>$</p> </section>`);
32
33
  // @ts-ignore
33
34
  const t_section_1 = t_root(t_fragment_0) as HTMLElement;
34
- const t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_section_1))))) as HTMLElement;
35
+ const t_for_anchor_1 = t_anchor(t_next(t_child(t_section_1), 3)) as HTMLElement;
35
36
 
36
37
  /* @for */
37
38
  let t_for_range_1 = t_range();
@@ -56,7 +57,7 @@ export default function ArrayUnkeyed(
56
57
  const t_root_1 = t_root(t_fragment_1);
57
58
  const t_text_1 = t_child(t_next(t_root_1));
58
59
  // @ts-ignore
59
- const t_text_2 = t_next(t_next(t_root_1));
60
+ const t_text_2 = t_next(t_root_1, 2);
60
61
  $run(function setTextContent() {
61
62
  t_text_1.textContent = ` ${t_fmt(t_item.data.item.text)} `;
62
63
  });
@@ -8,6 +8,7 @@ export default function ArrayUnkeyed(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type ListItem } from "../../../../src/types/ListItem";
3
4
  import { type SlotRender } from "../../../../src/types/SlotRender";
4
5
  import t_add_fragment from "../../../../src/render/addFragment";
@@ -23,7 +24,7 @@ export default function Array(
23
24
  // @ts-ignore
24
25
  $slots?: Record<string, SlotRender>
25
26
  ) {
26
- $props ??= {};
27
+ $props ??= $watch({});
27
28
 
28
29
  /* User interface */
29
30
  const t_fragments: DocumentFragment[] = [];
@@ -31,7 +32,7 @@ export default function Array(
31
32
  const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<section> <p>^</p> <!> <p>$</p> </section>`);
32
33
  // @ts-ignore
33
34
  const t_section_1 = t_root(t_fragment_0) as HTMLElement;
34
- const t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_section_1))))) as HTMLElement;
35
+ const t_for_anchor_1 = t_anchor(t_next(t_child(t_section_1), 3)) as HTMLElement;
35
36
 
36
37
  /* @for */
37
38
  let t_for_range_1 = t_range();
@@ -57,7 +58,7 @@ export default function Array(
57
58
  const t_root_1 = t_root(t_fragment_1);
58
59
  const t_text_1 = t_child(t_next(t_root_1));
59
60
  // @ts-ignore
60
- const t_text_2 = t_next(t_next(t_root_1));
61
+ const t_text_2 = t_next(t_root_1, 2);
61
62
  $run(function setTextContent() {
62
63
  t_text_1.textContent = ` ${t_fmt(t_item.data.item.text)} `;
63
64
  });
@@ -8,6 +8,7 @@ export default function Array(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type ListItem } from "../../../../src/types/ListItem";
3
4
  import { type SlotRender } from "../../../../src/types/SlotRender";
4
5
  import t_add_fragment from "../../../../src/render/addFragment";
@@ -23,7 +24,7 @@ export default function ArrayEntries(
23
24
  // @ts-ignore
24
25
  $slots?: Record<string, SlotRender>
25
26
  ) {
26
- $props ??= {};
27
+ $props ??= $watch({});
27
28
 
28
29
  /* User interface */
29
30
  const t_fragments: DocumentFragment[] = [];
@@ -31,7 +32,7 @@ export default function ArrayEntries(
31
32
  const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<section> <p>^</p> <!> <p>$</p> </section>`);
32
33
  // @ts-ignore
33
34
  const t_section_1 = t_root(t_fragment_0) as HTMLElement;
34
- const t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_section_1))))) as HTMLElement;
35
+ const t_for_anchor_1 = t_anchor(t_next(t_child(t_section_1), 3)) as HTMLElement;
35
36
 
36
37
  /* @for */
37
38
  let t_for_range_1 = t_range();
@@ -59,7 +60,7 @@ export default function ArrayEntries(
59
60
  const t_root_1 = t_root(t_fragment_1);
60
61
  const t_text_1 = t_child(t_next(t_root_1));
61
62
  // @ts-ignore
62
- const t_text_2 = t_next(t_next(t_root_1));
63
+ const t_text_2 = t_next(t_root_1, 2);
63
64
  $run(function setTextContent() {
64
65
  t_text_1.textContent = ` ${t_fmt(t_item.data.i > 0 ? ", " : "")} ${t_fmt(t_item.data.item.text)} `;
65
66
  });
@@ -8,6 +8,7 @@ export default function ArrayEntries(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type ListItem } from "../../../../src/types/ListItem";
3
4
  import { type SlotRender } from "../../../../src/types/SlotRender";
4
5
  import t_add_fragment from "../../../../src/render/addFragment";
@@ -23,7 +24,7 @@ export default function ArrayIndexes(
23
24
  // @ts-ignore
24
25
  $slots?: Record<string, SlotRender>
25
26
  ) {
26
- $props ??= {};
27
+ $props ??= $watch({});
27
28
 
28
29
  /* User interface */
29
30
  const t_fragments: DocumentFragment[] = [];
@@ -31,7 +32,7 @@ export default function ArrayIndexes(
31
32
  const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<section> <p>^</p> <!> <p>$</p> </section>`);
32
33
  // @ts-ignore
33
34
  const t_section_1 = t_root(t_fragment_0) as HTMLElement;
34
- const t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_section_1))))) as HTMLElement;
35
+ const t_for_anchor_1 = t_anchor(t_next(t_child(t_section_1), 3)) as HTMLElement;
35
36
 
36
37
  /* @for */
37
38
  let t_for_range_1 = t_range();
@@ -57,7 +58,7 @@ export default function ArrayIndexes(
57
58
  const t_root_1 = t_root(t_fragment_1);
58
59
  const t_text_1 = t_child(t_next(t_root_1));
59
60
  // @ts-ignore
60
- const t_text_2 = t_next(t_next(t_root_1));
61
+ const t_text_2 = t_next(t_root_1, 2);
61
62
  $run(function setTextContent() {
62
63
  t_text_1.textContent = ` ${t_fmt(t_item.data.i > 0 ? ", " : "")} ${t_fmt($props.items[t_item.data.i].text)} `;
63
64
  });
@@ -8,6 +8,7 @@ export default function ArrayIndexes(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type ListItem } from "../../../../src/types/ListItem";
3
4
  import { type SlotRender } from "../../../../src/types/SlotRender";
4
5
  import t_add_fragment from "../../../../src/render/addFragment";
@@ -23,7 +24,7 @@ export default function ArrayUnkeyed(
23
24
  // @ts-ignore
24
25
  $slots?: Record<string, SlotRender>
25
26
  ) {
26
- $props ??= {};
27
+ $props ??= $watch({});
27
28
 
28
29
  /* User interface */
29
30
  const t_fragments: DocumentFragment[] = [];
@@ -31,7 +32,7 @@ export default function ArrayUnkeyed(
31
32
  const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<section> <p>^</p> <!> <p>$</p> </section>`);
32
33
  // @ts-ignore
33
34
  const t_section_1 = t_root(t_fragment_0) as HTMLElement;
34
- const t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_section_1))))) as HTMLElement;
35
+ const t_for_anchor_1 = t_anchor(t_next(t_child(t_section_1), 3)) as HTMLElement;
35
36
 
36
37
  /* @for */
37
38
  let t_for_range_1 = t_range();
@@ -56,7 +57,7 @@ export default function ArrayUnkeyed(
56
57
  const t_root_1 = t_root(t_fragment_1);
57
58
  const t_text_1 = t_child(t_next(t_root_1));
58
59
  // @ts-ignore
59
- const t_text_2 = t_next(t_next(t_root_1));
60
+ const t_text_2 = t_next(t_root_1, 2);
60
61
  $run(function setTextContent() {
61
62
  t_text_1.textContent = ` ${t_fmt(t_item.data.item.text)} `;
62
63
  });
@@ -8,6 +8,7 @@ export default function ArrayUnkeyed(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type SlotRender } from "../../../../src/types/SlotRender";
3
4
  import t_add_fragment from "../../../../src/render/addFragment";
4
5
  import t_child from "../../../../src/render/nodeChild";
@@ -16,7 +17,7 @@ export default function Watched(
16
17
  // @ts-ignore
17
18
  $slots?: Record<string, SlotRender>
18
19
  ) {
19
- $props ??= {};
20
+ $props ??= $watch({});
20
21
 
21
22
  /* User interface */
22
23
  const t_fragments: DocumentFragment[] = [];
@@ -8,6 +8,7 @@ export default function Watched(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,4 +1,5 @@
1
1
  import $run from "../../../../src/render/$run";
2
+ import $watch from "../../../../src/render/$watch";
2
3
  import { type SlotRender } from "../../../../src/types/SlotRender";
3
4
  import t_add_fragment from "../../../../src/render/addFragment";
4
5
  import t_child from "../../../../src/render/nodeChild";
@@ -16,7 +17,7 @@ export default function Watched(
16
17
  // @ts-ignore
17
18
  $slots?: Record<string, SlotRender>
18
19
  ) {
19
- $props ??= {};
20
+ $props ??= $watch({});
20
21
 
21
22
  /* User interface */
22
23
  const t_fragments: DocumentFragment[] = [];
@@ -8,6 +8,7 @@ export default function Watched(
8
8
  // @ts-ignore
9
9
  $slots?: Record<string, ServerSlotRender>
10
10
  ) {
11
+ $props ??= {};
11
12
 
12
13
  /* User interface */
13
14
  let $output = "";
@@ -1,8 +0,0 @@
1
- import $run from "./$run";
2
- import context from "./context";
3
-
4
- export default function flushMountEffects(): void {
5
- for (let fn of context.mountEffects) {
6
- $run(fn);
7
- }
8
- }
@@ -1,90 +0,0 @@
1
- import { type SlotRender } from "../../../../src/types/SlotRender";
2
- import t_add_fragment from "../../../../src/render/addFragment";
3
- import t_anchor from "../../../../src/render/nodeAnchor";
4
- import t_child from "../../../../src/render/nodeChild";
5
- import t_fragment from "../../../../src/render/getFragment";
6
- import t_next from "../../../../src/render/nodeNext";
7
- import t_range from "../../../../src/render/newRange";
8
- import t_root from "../../../../src/render/nodeRoot";
9
- import t_run_branch from "../../../../src/render/runControlBranch";
10
- import t_run_control from "../../../../src/render/runControl";
11
-
12
- export default function IfNested(
13
- $parent: ParentNode,
14
- $anchor: Node | null,
15
- $props: { counter: number },
16
- // @ts-ignore
17
- $context?: Record<PropertyKey, any>,
18
- // @ts-ignore
19
- $slots?: Record<string, SlotRender>
20
- ) {
21
- $props ??= {};
22
-
23
- /* User interface */
24
- const t_fragments: DocumentFragment[] = [];
25
-
26
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <!> </div>`);
27
- // @ts-ignore
28
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
29
- const t_if_anchor_1 = t_anchor(t_next(t_child(t_div_1))) as HTMLElement;
30
-
31
- /* @if */
32
- const t_if_range_1 = t_range();
33
- t_run_control(t_if_range_1, t_if_anchor_1, (t_before) => {
34
- if ($props.counter > 5) {
35
- t_run_branch(t_if_range_1, 0, () => {
36
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <!> `);
37
- // @ts-ignore
38
- const t_root_1 = t_root(t_fragment_1);
39
- const t_if_anchor_2 = t_anchor(t_next(t_root_1)) as HTMLElement;
40
-
41
- /* @if */
42
- const t_if_range_2 = t_range();
43
- t_run_control(t_if_range_2, t_if_anchor_2, (t_before) => {
44
- if ($props.counter > 10) {
45
- t_run_branch(t_if_range_2, 0, () => {
46
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's both true! </p> `);
47
- // @ts-ignore
48
- const t_root_2 = t_root(t_fragment_2);
49
- // @ts-ignore
50
- const t_text_1 = t_next(t_next(t_root_2));
51
- t_add_fragment(t_fragment_2, t_fragment_1, t_before);
52
- t_next(t_text_1);
53
- });
54
- }
55
- else {
56
- t_run_branch(t_if_range_2, 1, () => {
57
- const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> The second is not true! </p> `);
58
- // @ts-ignore
59
- const t_root_3 = t_root(t_fragment_3);
60
- // @ts-ignore
61
- const t_text_2 = t_next(t_next(t_root_3));
62
- t_add_fragment(t_fragment_3, t_fragment_1, t_before);
63
- t_next(t_text_2);
64
- });
65
- }
66
- });
67
-
68
- // @ts-ignore
69
- const t_text_3 = t_next(t_if_anchor_2);
70
- t_add_fragment(t_fragment_1, t_div_1, t_before);
71
- t_next(t_text_3);
72
- });
73
- }
74
- else {
75
- t_run_branch(t_if_range_1, 1, () => {
76
- const t_fragment_4 = t_fragment($parent.ownerDocument!, t_fragments, 4, ` <p> The first is not true! </p> `);
77
- // @ts-ignore
78
- const t_root_4 = t_root(t_fragment_4);
79
- // @ts-ignore
80
- const t_text_4 = t_next(t_next(t_root_4));
81
- t_add_fragment(t_fragment_4, t_div_1, t_before);
82
- t_next(t_text_4);
83
- });
84
- }
85
- });
86
-
87
- t_add_fragment(t_fragment_0, $parent, $anchor);
88
- t_next(t_div_1);
89
-
90
- }
@@ -1,30 +0,0 @@
1
- import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
2
-
3
- export default function IfNested(
4
- $props: { counter: number },
5
- // @ts-ignore
6
- $context?: Record<PropertyKey, any>,
7
- // @ts-ignore
8
- $slots?: Record<string, ServerSlotRender>
9
- ) {
10
-
11
- /* User interface */
12
- let $output = "";
13
- $output += `<div> <![>`;
14
- if ($props.counter > 5) {
15
- $output += ` <![>`;
16
- if ($props.counter > 10) {
17
- $output += ` <p> It's both true! </p> `;
18
- }
19
- else {
20
- $output += ` <p> The second is not true! </p> `;
21
- }
22
- $output += `<!]><!> `;
23
- }
24
- else {
25
- $output += ` <p> The first is not true! </p> `;
26
- }
27
- $output += `<!]><!> </div>`;
28
-
29
- return $output;
30
- }