@torpor/view 0.3.3 → 0.4.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 (1104) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/Cleanup-BGQ5zaxE.d.cts +9 -0
  3. package/dist/Cleanup-BGQ5zaxE.d.cts.map +1 -0
  4. package/dist/Cleanup-Ca8IspaG.d.ts +9 -0
  5. package/dist/Cleanup-Ca8IspaG.d.ts.map +1 -0
  6. package/dist/Component-C-2ML-6s.d.cts +11 -0
  7. package/dist/Component-C-2ML-6s.d.cts.map +1 -0
  8. package/dist/Component-ODmDVKFt.d.ts +11 -0
  9. package/dist/Component-ODmDVKFt.d.ts.map +1 -0
  10. package/dist/Region-BrsZLZUe.d.ts +201 -0
  11. package/dist/Region-BrsZLZUe.d.ts.map +1 -0
  12. package/dist/Region-Cf7OeBIQ.d.cts +201 -0
  13. package/dist/Region-Cf7OeBIQ.d.cts.map +1 -0
  14. package/dist/compile.cjs +298 -289
  15. package/dist/compile.cjs.map +1 -1
  16. package/dist/compile.d.cts +34 -30
  17. package/dist/compile.d.cts.map +1 -1
  18. package/dist/compile.d.ts +34 -30
  19. package/dist/compile.d.ts.map +1 -1
  20. package/dist/compile.js +298 -289
  21. package/dist/compile.js.map +1 -1
  22. package/dist/dev.cjs +205 -0
  23. package/dist/dev.cjs.map +1 -0
  24. package/dist/dev.d.cts +53 -0
  25. package/dist/dev.d.cts.map +1 -0
  26. package/dist/dev.d.ts +53 -0
  27. package/dist/dev.d.ts.map +1 -0
  28. package/dist/dev.js +202 -0
  29. package/dist/dev.js.map +1 -0
  30. package/dist/devContext-CM-9Rx7k.js +25 -0
  31. package/dist/devContext-CM-9Rx7k.js.map +1 -0
  32. package/dist/devContext-nomc0xCl.cjs +31 -0
  33. package/dist/devContext-nomc0xCl.cjs.map +1 -0
  34. package/dist/formatText-Ck04q8_X.cjs +59 -0
  35. package/dist/formatText-Ck04q8_X.cjs.map +1 -0
  36. package/dist/formatText-CsMp2ujg.d.cts +11 -0
  37. package/dist/formatText-CsMp2ujg.d.cts.map +1 -0
  38. package/dist/formatText-OyD8MNAM.js +41 -0
  39. package/dist/formatText-OyD8MNAM.js.map +1 -0
  40. package/dist/formatText-nmPEE0iI.d.ts +11 -0
  41. package/dist/formatText-nmPEE0iI.d.ts.map +1 -0
  42. package/dist/index.cjs +740 -349
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.d.cts +80 -265
  45. package/dist/index.d.cts.map +1 -1
  46. package/dist/index.d.ts +80 -265
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +711 -320
  49. package/dist/index.js.map +1 -1
  50. package/dist/ssr.cjs +32 -14
  51. package/dist/ssr.cjs.map +1 -1
  52. package/dist/ssr.d.cts +30 -8
  53. package/dist/ssr.d.cts.map +1 -1
  54. package/dist/ssr.d.ts +30 -8
  55. package/dist/ssr.d.ts.map +1 -1
  56. package/dist/ssr.js +30 -12
  57. package/dist/ssr.js.map +1 -1
  58. package/package.json +13 -8
  59. package/src/compile/build/client/BuildStatus.ts +4 -4
  60. package/src/compile/build/client/addMappedText.ts +5 -5
  61. package/src/compile/build/client/addPopDevBoundary.ts +10 -0
  62. package/src/compile/build/client/addPushDevBoundary.ts +25 -0
  63. package/src/compile/build/client/buildAddFragment.ts +5 -5
  64. package/src/compile/build/client/buildAwaitNode.ts +33 -24
  65. package/src/compile/build/client/buildCode.ts +29 -11
  66. package/src/compile/build/client/buildComponentNode.ts +37 -11
  67. package/src/compile/build/client/buildElementNode.ts +16 -62
  68. package/src/compile/build/client/buildForNode.ts +65 -38
  69. package/src/compile/build/client/buildFragment.ts +5 -5
  70. package/src/compile/build/client/buildHtmlNode.ts +9 -9
  71. package/src/compile/build/client/buildIfNode.ts +23 -12
  72. package/src/compile/build/client/buildReplaceNode.ts +9 -9
  73. package/src/compile/build/client/buildRun.ts +8 -2
  74. package/src/compile/build/client/buildScriptNode.ts +1 -1
  75. package/src/compile/build/client/buildSwitchNode.ts +25 -17
  76. package/src/compile/build/client/buildTextNode.ts +1 -1
  77. package/src/compile/build/client/replaceForVarNames.ts +2 -2
  78. package/src/compile/build/client/stashRun.ts +3 -3
  79. package/src/compile/build/client/stashRunWithOffsets.ts +3 -3
  80. package/src/compile/build/server/BuildServerStatus.ts +1 -1
  81. package/src/compile/build/server/buildServerCode.ts +1 -1
  82. package/src/compile/build/server/buildServerElementNode.ts +11 -11
  83. package/src/compile/build.ts +1 -1
  84. package/src/compile/buildType.ts +1 -1
  85. package/src/compile/parse/ParseStatus.ts +4 -2
  86. package/src/compile/parse/addSpaceElement.ts +1 -1
  87. package/src/compile/parse/parseCode.ts +18 -33
  88. package/src/compile/parse/parseControl.ts +6 -6
  89. package/src/compile/parse/parseElement.ts +12 -15
  90. package/src/compile/parse/parseMarkup.ts +1 -1
  91. package/src/compile/parse/parseStyles.ts +1 -0
  92. package/src/compile/parse/parseTag.ts +2 -2
  93. package/src/compile/parse/parseText.ts +5 -5
  94. package/src/compile/parse/slottifyChildNodes.ts +1 -1
  95. package/src/compile/types/BuildOptions.ts +25 -0
  96. package/src/compile/types/ScriptChunk.ts +2 -2
  97. package/src/compile/types/SourceMapping.ts +3 -3
  98. package/src/compile/types/SourceSpan.ts +4 -0
  99. package/src/compile/types/nodes/Attribute.ts +2 -2
  100. package/src/compile/types/nodes/ControlNode.ts +2 -2
  101. package/src/compile/types/nodes/ElementNode.ts +2 -2
  102. package/src/compile/types/nodes/Fragment.ts +2 -2
  103. package/src/compile/types/nodes/TextNode.ts +2 -2
  104. package/src/debug/printRegions.ts +74 -0
  105. package/src/dev/devContext.ts +31 -0
  106. package/src/dev/popDevBoundary.ts +5 -0
  107. package/src/dev/pushDevBoundary.ts +25 -0
  108. package/src/dev/setDevMode.ts +236 -0
  109. package/src/dev/types/DevBoundary.ts +7 -0
  110. package/src/dev/types/DevContext.ts +28 -0
  111. package/src/dev.ts +6 -0
  112. package/src/index.ts +15 -16
  113. package/src/render/addAnimation.ts +1 -1
  114. package/src/render/addEvent.ts +1 -1
  115. package/src/render/addFragment.ts +22 -18
  116. package/src/render/animate.ts +52 -0
  117. package/src/render/applyProps.ts +1 -1
  118. package/src/render/clearLayoutSlot.ts +6 -4
  119. package/src/render/clearRegion.ts +71 -0
  120. package/src/render/context.ts +3 -3
  121. package/src/render/fillLayoutSlot.ts +10 -9
  122. package/src/render/hydrate.ts +9 -7
  123. package/src/render/mount.ts +9 -6
  124. package/src/render/moveRegion.ts +14 -0
  125. package/src/render/newListItem.ts +8 -3
  126. package/src/render/newRegion.ts +13 -0
  127. package/src/render/nodeRoot.ts +3 -3
  128. package/src/render/popRegion.ts +9 -0
  129. package/src/render/pushRegion.ts +30 -0
  130. package/src/render/runControl.ts +9 -12
  131. package/src/render/runControlBranch.ts +15 -14
  132. package/src/render/runList.ts +10 -14
  133. package/src/render/runListItems.ts +29 -17
  134. package/src/ssr.ts +9 -8
  135. package/src/types/Context.ts +9 -9
  136. package/src/types/ListItem.ts +2 -2
  137. package/src/types/Region.ts +19 -0
  138. package/src/watch/$batch.ts +22 -0
  139. package/src/watch/$cache.ts +34 -0
  140. package/src/watch/$mount.ts +11 -0
  141. package/src/watch/$peek.ts +14 -0
  142. package/src/watch/$run.ts +33 -0
  143. package/src/watch/$unwrap.ts +12 -0
  144. package/src/watch/$watch.ts +49 -0
  145. package/src/watch/propagateSignal.ts +99 -0
  146. package/src/watch/proxyGet.ts +9 -9
  147. package/src/watch/proxySet.ts +9 -5
  148. package/src/watch/runComputed.ts +2 -2
  149. package/src/watch/runEffect.ts +4 -0
  150. package/src/watch/trackProxySignal.ts +21 -0
  151. package/src/watch/trackSignal.ts +69 -0
  152. package/src/watch/transferEffects.ts +1 -1
  153. package/src/wrappers/ReactiveDate.ts +4 -4
  154. package/test/attributes/attributes.test.ts +22 -14
  155. package/test/attributes/components/output/Attributes-client.ts +3 -3
  156. package/test/attributes/components/output/Disappearing-client.ts +38 -0
  157. package/test/attributes/components/output/Disappearing-server.ts +18 -0
  158. package/test/attributes/components/output/Disappearing-types.ts +10 -0
  159. package/test/attributes/components/temp/Attributes-client-3bd2893680ee0c727dc67385478c21caa0316f82.ts +38 -0
  160. package/test/attributes/components/temp/Disappearing-client-3bd2893680ee0c727dc67385478c21caa0316f82.ts +38 -0
  161. package/test/attributes/components/temp/Disappearing-server-ff919598a34afdc67888e3fb80a79d1b27170d1c.ts +18 -0
  162. package/test/attributes/components/temp/Disappearing-types-5892927754ac19a8b3a8560fa1c78ce653e5f318.ts +10 -0
  163. package/test/attributes/disappearing.test.ts +22 -14
  164. package/test/await/await.test.ts +37 -10
  165. package/test/await/components/output/Await-client.ts +10 -9
  166. package/test/await/components/output/Await-server.ts +1 -1
  167. package/test/await/components/temp/Await-client-8ad3f252c4550020753eea3c04cde0da435c6aae.ts +112 -0
  168. package/test/await/components/temp/Await-server-4187f28e62fa1789ccd5e336457f74d158981055.ts +38 -0
  169. package/test/bench/bench.bench.ts +2 -2
  170. package/test/bench/components/output/Bench-client.ts +387 -177
  171. package/test/bench/components/output/Bench-server.ts +18 -6
  172. package/test/bench/components/temp/Bench-client-49f3ccc588596e2139b3c7911faf6804e77f9c7f.ts +421 -0
  173. package/test/bench/components/temp/Bench-server-d42ad0e83d431c6ff0f185e964792b04c4b97c06.ts +18 -6
  174. package/test/bind/bind-component.test.ts +55 -0
  175. package/test/bind/bind-text.test.ts +65 -0
  176. package/test/bind/components/output/BindComponent-client.ts +8 -8
  177. package/test/bind/components/output/BindComponent-server.ts +1 -1
  178. package/test/bind/components/output/BindText-client.ts +6 -6
  179. package/test/bind/components/output/BindText-server.ts +1 -1
  180. package/test/bind/components/temp/BindComponent-client-9da323149e29bbb0d7eaf5a86ed541357f1219f8.ts +82 -0
  181. package/test/bind/components/temp/BindComponent-server-2e2d1fe69007b6d2b084c3117a5be4a06258872e.ts +46 -0
  182. package/test/bind/components/temp/BindText-client-eebe53ed8c48b5bbd046621efa6d9b5d3d753f6f.ts +53 -0
  183. package/test/bind/components/temp/BindText-server-b8c0e4e7e82cf0bfb92f2301b0e444b0cb6b404c.ts +23 -0
  184. package/test/build-server/components/output/IfNested-client.ts +94 -77
  185. package/test/build-server/components/temp/IfNested-client-b0df2bb83863455bc0ea0be7612e3bc50765a43e.ts +116 -0
  186. package/test/buildOutputFiles.ts +49 -22
  187. package/test/child-component/child-component.test.ts +16 -9
  188. package/test/child-component/components/output/ChildComponent-client.ts +68 -0
  189. package/test/child-component/components/temp/ChildComponent-client-6033ce1f59fe1ce3f3dfb3d7845807e7f047b18d.ts +68 -0
  190. package/test/class/class.test.ts +57 -14
  191. package/test/class/components/output/Class-client.ts +7 -7
  192. package/test/class/components/temp/Class-client-a5e3f4dd7b0272d69b856f3ef4aa43b83bc2d849.ts +81 -0
  193. package/test/component/component.test.ts +16 -9
  194. package/test/component/components/output/Component-client.ts +33 -6
  195. package/test/component/components/output/Component-server.ts +17 -2
  196. package/test/component/components/temp/Component-client-ff200ee2a7a5f08d0473fddffa1f3ba5eb641d2a.ts +68 -0
  197. package/test/component/components/temp/Component-server-3fcb9457d9f0d0eefc9626801634751a83110f60.ts +42 -0
  198. package/test/console/components/output/Console-client.ts +1 -1
  199. package/test/console/components/temp/Console-client-216948ecb8660c46e6614dcfea02114ba9fd84f3.ts +32 -0
  200. package/test/console/console.test.ts +11 -8
  201. package/test/const/components/output/Const-client.ts +3 -3
  202. package/test/const/components/temp/Const-client-e15d20cc9c3e75577a7dee834a421883b18983de.ts +39 -0
  203. package/test/const/const.test.ts +13 -10
  204. package/test/context/components/output/Context-client.ts +106 -0
  205. package/test/context/components/output/Context-server.ts +69 -0
  206. package/test/context/components/temp/Context-client-b05948865340ce7743af46cb4400dc542e1e7260.ts +106 -0
  207. package/test/context/components/temp/Context-server-9c25c1e4456e2b24b5afd87ba27e55ca45308ef0.ts +69 -0
  208. package/test/context/context.test.ts +31 -9
  209. package/test/effects/components/output/ForEffect-client.ts +79 -0
  210. package/test/effects/components/output/IfEffect-client.ts +68 -0
  211. package/test/effects/components/output/NestedIfEffect-client.ts +95 -0
  212. package/test/effects/components/temp/ForEffect-client-b1cff64d6b44a881a4bcf4b1a3dee3fa64c9ec7b.ts +79 -0
  213. package/test/effects/components/temp/IfEffect-client-b2eb2a38dec9cad49b7d1103aab0d2c3324e569a.ts +68 -0
  214. package/test/effects/components/temp/NestedIfEffect-client-a75dd167f3469f4a5f6730445128d3eff956afe2.ts +95 -0
  215. package/test/effects/for-effect.test.ts +14 -11
  216. package/test/effects/if-effect.test.ts +16 -11
  217. package/test/effects/nested-if-effect.test.ts +21 -14
  218. package/test/events/components/output/Events-client.ts +49 -0
  219. package/test/events/components/output/Events-server.ts +26 -0
  220. package/test/events/components/temp/Events-client-af611081aa6cb1567461367daf3068df86c6ff23.ts +49 -0
  221. package/test/events/components/temp/Events-server-e9b3526168eb4472cc70f4afc89c69d2238defac.ts +26 -0
  222. package/test/events/events.test.ts +25 -10
  223. package/test/for/components/output/For-client.ts +25 -25
  224. package/test/for/components/output/ForAfterFor-client.ts +122 -0
  225. package/test/for/components/output/ForAfterFor-server.ts +27 -0
  226. package/test/for/components/output/ForAfterFor-types.ts +10 -0
  227. package/test/for/components/output/ForContainingFor-client.ts +117 -0
  228. package/test/for/components/output/ForContainingFor-server.ts +27 -0
  229. package/test/for/components/output/ForContainingFor-types.ts +10 -0
  230. package/test/for/components/output/ForContainingFunction-client.ts +89 -0
  231. package/test/for/components/output/ForContainingFunction-server.ts +29 -0
  232. package/test/for/components/output/ForContainingFunction-types.ts +10 -0
  233. package/test/for/components/output/ForContainingIf-client.ts +111 -0
  234. package/test/for/components/output/ForContainingIf-server.ts +27 -0
  235. package/test/for/components/output/ForContainingIf-types.ts +10 -0
  236. package/test/for/components/output/ForEscape-client.ts +35 -35
  237. package/test/for/components/output/ForIn-client.ts +25 -25
  238. package/test/for/components/output/ForOf-client.ts +25 -25
  239. package/test/for/components/temp/For-client-8fd92bf0c26cb8e97006a302104ebb2fdcd2e818.ts +81 -0
  240. package/test/for/components/temp/ForAfterFor-client-509955ddc13396ede05c9986a6dcc8bbebd00cf3.ts +122 -0
  241. package/test/for/components/temp/ForAfterFor-server-2e927aa1fb165ed46b798d930a62a9125486c2f1.ts +27 -0
  242. package/test/for/components/temp/ForAfterFor-types-443c279cbffc1d07b01b09349cfddc6c081be6bb.ts +10 -0
  243. package/test/for/components/temp/ForContainingFor-client-4f600c73a6583c84d981a82fae42332f983f0b36.ts +117 -0
  244. package/test/for/components/temp/ForContainingFor-server-5e9e48ef3a3a2f411e4261d8aef8d68ace4f941b.ts +27 -0
  245. package/test/for/components/temp/ForContainingFor-types-e29bd72e1a1b98bbd196088afb0d6296b8eb9014.ts +10 -0
  246. package/test/for/components/temp/ForContainingFunction-client-9bacc4a7214f2385d98b358d29443363f8b9e78d.ts +89 -0
  247. package/test/for/components/temp/ForContainingFunction-server-bce5cf9e382b61c9eee613c6377525c9b0446228.ts +29 -0
  248. package/test/for/components/temp/ForContainingFunction-types-16613a1611dfc0b949a78fadd771f6737de61703.ts +10 -0
  249. package/test/for/components/temp/ForContainingIf-client-92b3c13b0fbe3d7900c05dd2e833d8e51d1bc66c.ts +111 -0
  250. package/test/for/components/temp/ForContainingIf-server-77dc43708cb24365aa0e8e8a3e0249d699511684.ts +27 -0
  251. package/test/for/components/temp/ForContainingIf-types-16613a1611dfc0b949a78fadd771f6737de61703.ts +10 -0
  252. package/test/for/components/temp/ForEscape-client-29cdd1ae0528a32f5737295287489e9bbd42889d.ts +100 -0
  253. package/test/for/components/temp/ForIn-client-fffaa596adb40e4067931af81cc13fc971dd1813.ts +80 -0
  254. package/test/for/components/temp/ForOf-client-e6d0948fbd00bfbcbc7099f84331bc3d493abc28.ts +80 -0
  255. package/test/for/for-after-for.test.ts +56 -0
  256. package/test/for/for-containing-for.test.ts +46 -0
  257. package/test/for/for-containing-function.test.ts +47 -0
  258. package/test/for/for-containing-if.test.ts +48 -0
  259. package/test/for/for-escape.test.ts +20 -10
  260. package/test/for/for-in.test.ts +18 -11
  261. package/test/for/for-of.test.ts +18 -11
  262. package/test/for/for.test.ts +17 -10
  263. package/test/function/components/output/Function-client.ts +4 -4
  264. package/test/function/components/output/Function-server.ts +1 -1
  265. package/test/function/components/temp/Function-client-8ae7f26bcaee6b57251659efc2abcdfd9c0d30e1.ts +49 -0
  266. package/test/function/components/temp/Function-server-44ab0f134c3da5672c71e6bdabc92295af6afa85.ts +28 -0
  267. package/test/function/function.test.ts +19 -10
  268. package/test/helpers.ts +4 -4
  269. package/test/html/components/output/Html-client.ts +5 -5
  270. package/test/html/components/temp/Html-client-14bf031fae1c40ea86913ca71aee00b947d88b4d.ts +49 -0
  271. package/test/html/html.test.ts +17 -14
  272. package/test/if/components/output/ElseIfTrue-client.ts +78 -0
  273. package/test/if/components/output/ElseTrue-client.ts +78 -0
  274. package/test/if/components/output/IfAfterIf-client.ts +14 -12
  275. package/test/if/components/output/IfCache-client.ts +10 -9
  276. package/test/if/components/output/IfContainingFor-client.ts +109 -0
  277. package/test/if/components/output/IfContainingFor-server.ts +26 -0
  278. package/test/if/components/output/IfContainingFor-types.ts +10 -0
  279. package/test/if/components/output/IfContainingFunction-client.ts +70 -0
  280. package/test/if/components/output/IfContainingFunction-server.ts +27 -0
  281. package/test/if/components/output/IfContainingFunction-types.ts +10 -0
  282. package/test/if/components/output/IfContainingIf-client.ts +95 -0
  283. package/test/if/components/output/IfContainingIf-server.ts +28 -0
  284. package/test/if/components/output/IfContainingIf-types.ts +10 -0
  285. package/test/if/components/output/IfElseFalse-client.ts +68 -0
  286. package/test/if/components/output/IfElseTrue-client.ts +68 -0
  287. package/test/if/components/output/IfFalse-client.ts +9 -8
  288. package/test/if/components/output/IfNested-client.ts +14 -12
  289. package/test/if/components/temp/ElseIfTrue-client-e4ab334d09c6eb8190c00102160e5db88c14bef4.ts +78 -0
  290. package/test/if/components/temp/ElseIfTrue-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts +27 -0
  291. package/test/if/components/temp/ElseIfTrue-types-a492d2b6e8517f598befca7127cd514244239984.ts +10 -0
  292. package/test/if/components/temp/ElseTrue-client-e4ab334d09c6eb8190c00102160e5db88c14bef4.ts +78 -0
  293. package/test/if/components/temp/ElseTrue-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts +27 -0
  294. package/test/if/components/temp/ElseTrue-types-a492d2b6e8517f598befca7127cd514244239984.ts +10 -0
  295. package/test/if/components/temp/IfAfterIf-client-b12abbd827f186b231ce7669ce676f612c66220d.ts +89 -0
  296. package/test/if/components/temp/IfCache-client-d9e7265dbce9b89bf67f4d0eb33967c89a4bec3f.ts +73 -0
  297. package/test/if/components/temp/IfContainingFor-client-a1246616d908018a77caa27aca6f9fa63e325960.ts +109 -0
  298. package/test/if/components/temp/IfContainingFor-server-a54062a628b406040428c6a4b9b06067e02fe478.ts +26 -0
  299. package/test/if/components/temp/IfContainingFor-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  300. package/test/if/components/temp/IfContainingFunction-client-1d8f1ce12f4098b425be18149d9c58ea9c4e8de6.ts +70 -0
  301. package/test/if/components/temp/IfContainingFunction-server-4666fe29a65d47a998a9357ca34453cf3210f239.ts +27 -0
  302. package/test/if/components/temp/IfContainingFunction-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  303. package/test/if/components/temp/IfContainingIf-client-c92cd49733d7b28ccbc37ec62936a195020a7a10.ts +95 -0
  304. package/test/if/components/temp/IfContainingIf-server-ad5fe7a67235cce0e92432a72ceb278d168c9d7f.ts +28 -0
  305. package/test/if/components/temp/IfContainingIf-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  306. package/test/if/components/temp/IfElseFalse-client-63cb84ef58ec24276372af50e9f213391d4c9d1c.ts +68 -0
  307. package/test/if/components/temp/IfElseFalse-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts +24 -0
  308. package/test/if/components/temp/IfElseFalse-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts +10 -0
  309. package/test/if/components/temp/IfElseTrue-client-63cb84ef58ec24276372af50e9f213391d4c9d1c.ts +68 -0
  310. package/test/if/components/temp/IfElseTrue-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts +24 -0
  311. package/test/if/components/temp/IfElseTrue-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts +10 -0
  312. package/test/if/components/temp/IfFalse-client-b8f2b5b8fe046cfbb48be281edf8a0e11f35db18.ts +62 -0
  313. package/test/if/components/temp/IfNested-client-c6e1a6f5db2525cfab93214e65ed624e76dfc504.ts +101 -0
  314. package/test/if/else-if-true.test.ts +27 -14
  315. package/test/if/else-true.test.ts +27 -14
  316. package/test/if/if-after-if.test.ts +24 -14
  317. package/test/if/if-cache.test.ts +23 -14
  318. package/test/if/if-containing-for.test.ts +65 -0
  319. package/test/if/if-containing-function.test.ts +57 -0
  320. package/test/if/if-containing-if.test.ts +67 -0
  321. package/test/if/if-else-false.test.ts +26 -14
  322. package/test/if/if-else-true.test.ts +26 -14
  323. package/test/if/if-false.test.ts +19 -14
  324. package/test/if/if-nested.test.ts +29 -14
  325. package/test/importComponent.ts +19 -8
  326. package/test/importComponentFromFile.ts +19 -0
  327. package/test/mount/components/output/Mount-client.ts +2 -2
  328. package/test/mount/components/output/Mount-server.ts +1 -1
  329. package/test/mount/components/temp/Mount-client-3465b845172e105e5114e495b85925e383711c11.ts +39 -0
  330. package/test/mount/components/temp/Mount-server-55416a0e5c937354b3777edfe04c3eeb149f843c.ts +25 -0
  331. package/test/mount/mount.test.ts +16 -9
  332. package/test/on-mount/components/output/OnMount-client.ts +2 -2
  333. package/test/on-mount/components/temp/OnMount-client-eae1a7ae40d1b402761ef6452e1da94f3da52209.ts +35 -0
  334. package/test/on-mount/on-mount.test.ts +11 -10
  335. package/test/party/1-declare-state.test.ts +14 -9
  336. package/test/party/10-on-mount.test.ts +18 -9
  337. package/test/party/12-props.test.ts +29 -9
  338. package/test/party/13-emit-to-parent.test.ts +31 -9
  339. package/test/party/14-slot.test.ts +33 -9
  340. package/test/party/15-slot-fallback.test.ts +33 -9
  341. package/test/party/16-context.test.ts +33 -9
  342. package/test/party/17-input-text.test.ts +15 -9
  343. package/test/party/18-input-checkbox.test.ts +17 -9
  344. package/test/party/19-input-radio.test.ts +20 -9
  345. package/test/party/2-update-state.test.ts +15 -9
  346. package/test/party/20-input-select.test.ts +29 -9
  347. package/test/party/3-computed-state.test.ts +17 -9
  348. package/test/party/4-minimal-template.test.ts +11 -10
  349. package/test/party/5-styling.test.ts +17 -9
  350. package/test/party/6-loop.test.ts +17 -9
  351. package/test/party/7-event-click.test.ts +19 -9
  352. package/test/party/8-dom-ref.test.ts +17 -9
  353. package/test/party/9-conditional.test.ts +33 -9
  354. package/test/party/components/output/ComputedState-client.ts +45 -0
  355. package/test/party/components/output/ComputedState-server.ts +27 -0
  356. package/test/party/components/output/Conditional-client.ts +105 -0
  357. package/test/party/components/output/Conditional-server.ts +42 -0
  358. package/test/party/components/output/Context-client.ts +88 -0
  359. package/test/party/components/output/Context-server.ts +53 -0
  360. package/test/party/components/output/DeclareState-client.ts +42 -0
  361. package/test/party/components/output/DeclareState-server.ts +24 -0
  362. package/test/party/components/output/DomRef-client.ts +40 -0
  363. package/test/party/components/output/DomRef-server.ts +26 -0
  364. package/test/party/components/output/EmitToParent-client.ts +89 -0
  365. package/test/party/components/output/EmitToParent-server.ts +56 -0
  366. package/test/party/components/output/EventClick-client.ts +49 -0
  367. package/test/party/components/output/EventClick-server.ts +28 -0
  368. package/test/party/components/output/InputCheckbox-client.ts +48 -0
  369. package/test/party/components/output/InputCheckbox-server.ts +24 -0
  370. package/test/party/components/output/InputRadio-client.ts +57 -0
  371. package/test/party/components/output/InputRadio-server.ts +25 -0
  372. package/test/party/components/output/InputSelect-client.ts +106 -0
  373. package/test/party/components/output/InputSelect-server.ts +36 -0
  374. package/test/party/components/output/InputText-client.ts +48 -0
  375. package/test/party/components/output/InputText-server.ts +25 -0
  376. package/test/party/components/output/Loop-client.ts +83 -0
  377. package/test/party/components/output/MinimalTemplate-client.ts +30 -0
  378. package/test/party/components/output/OnMount-client.ts +46 -0
  379. package/test/party/components/output/OnMount-server.ts +29 -0
  380. package/test/party/components/output/Props-client.ts +83 -0
  381. package/test/party/components/output/Props-server.ts +50 -0
  382. package/test/party/components/output/Slot-client.ts +89 -0
  383. package/test/party/components/output/Slot-server.ts +70 -0
  384. package/test/party/components/output/SlotFallback-client.ts +89 -0
  385. package/test/party/components/output/SlotFallback-server.ts +70 -0
  386. package/test/party/components/output/Styling-client.ts +30 -0
  387. package/test/party/components/output/UpdateState-client.ts +43 -0
  388. package/test/party/components/output/UpdateState-server.ts +25 -0
  389. package/test/party/components/temp/ComputedState-client-eef842f02b6aa7abda42221f86c5b973dd9de829.ts +45 -0
  390. package/test/party/components/temp/ComputedState-server-d8f17812ea8bb9218940e4abcfe49824ab16e8f7.ts +27 -0
  391. package/test/party/components/temp/Conditional-client-ed1ba6a97d722503560ffbb3dece1d9af5fbadd2.ts +105 -0
  392. package/test/party/components/temp/Conditional-server-d19a62e18b1e5340c2133d32c4c20d7b03acb275.ts +42 -0
  393. package/test/party/components/temp/Context-client-fd121c4a2766ee5b41caf79f485f5f11142e43e0.ts +88 -0
  394. package/test/party/components/temp/Context-server-e4140b5eff2774645270cd83276137f3deb9bf1b.ts +53 -0
  395. package/test/party/components/temp/DeclareState-client-ac001e93d902207dd1bfc6315be47947a4872212.ts +42 -0
  396. package/test/party/components/temp/DeclareState-server-6cd408635cfdd584fe908babcca131e1da65cf27.ts +24 -0
  397. package/test/party/components/temp/DomRef-client-6849a0bf523f0193b369591d543a2b52103e35b0.ts +40 -0
  398. package/test/party/components/temp/DomRef-server-a1c79cff631364be4aabe8892c08022135ee4fea.ts +26 -0
  399. package/test/party/components/temp/EmitToParent-client-02c78412e4cacc27cbc857d68d5a064474ccc882.ts +89 -0
  400. package/test/party/components/temp/EmitToParent-server-f5a5dac8cf1c9e443dd76797435942bf8ec687be.ts +56 -0
  401. package/test/party/components/temp/EventClick-client-4344b8012e6f6310b25c6b43d9f5991dc93037e8.ts +49 -0
  402. package/test/party/components/temp/EventClick-server-6caf88d4154969d1d5b502425ce67c07d2e4a79a.ts +28 -0
  403. package/test/party/components/temp/InputCheckbox-client-1caf209b10b5eaa74bf6eb9b7068b425e294e940.ts +48 -0
  404. package/test/party/components/temp/InputCheckbox-server-1d56579ca4fcd39e228c9f19fa4602774fcffbc4.ts +24 -0
  405. package/test/party/components/temp/InputRadio-client-a3d5bfe78006351fb9d1653ac8f24c193e4cf173.ts +57 -0
  406. package/test/party/components/temp/InputRadio-server-10fda5f41d12f9c23e38d6ea3f9d5c6da64e2d44.ts +25 -0
  407. package/test/party/components/temp/InputSelect-client-49f9978ab5f32d13ada9d1c3d7522cbafa4c3cc7.ts +106 -0
  408. package/test/party/components/temp/InputSelect-server-090193bc5786a342e83e566cd6c423478955368a.ts +36 -0
  409. package/test/party/components/temp/InputText-client-8ae588dfd76e4fd83614100be45513ab77a7357b.ts +48 -0
  410. package/test/party/components/temp/InputText-server-3a93651aa9f344c68ee65d638fc34f3361690ea9.ts +25 -0
  411. package/test/party/components/temp/Loop-client-d8be7f7caf99d17b048d915d2dbe1db97c44aecf.ts +83 -0
  412. package/test/party/components/temp/MinimalTemplate-client-727021df06e846bc9d184dfd7cfa2a3fd92556b1.ts +30 -0
  413. package/test/party/components/temp/OnMount-client-4725eee82d65a2a9e098a0aa0b04c0eb15617ca6.ts +46 -0
  414. package/test/party/components/temp/OnMount-server-cb12c3a94e5a15306e2c78aad4aa2ee1f9be3f05.ts +29 -0
  415. package/test/party/components/temp/Props-client-c126fe2030c202b8371f72d8395d0a210a0d67c2.ts +83 -0
  416. package/test/party/components/temp/Props-server-945071c89c88628544956a35d7f0cadc47caa955.ts +50 -0
  417. package/test/party/components/temp/Slot-client-573e4ca6d35aea12306749eb7377f20ac90292dc.ts +89 -0
  418. package/test/party/components/temp/Slot-server-aaffce53c1d9bac7d24eba6f2400fced2b7a9f7c.ts +70 -0
  419. package/test/party/components/temp/Slot-types-ea73d641565a4478759166f462206dd97c92cedd.ts +10 -0
  420. package/test/party/components/temp/SlotFallback-client-573e4ca6d35aea12306749eb7377f20ac90292dc.ts +89 -0
  421. package/test/party/components/temp/SlotFallback-server-aaffce53c1d9bac7d24eba6f2400fced2b7a9f7c.ts +70 -0
  422. package/test/party/components/temp/SlotFallback-types-ea73d641565a4478759166f462206dd97c92cedd.ts +10 -0
  423. package/test/party/components/temp/Styling-client-262de42541af3154966ba60eef7b04572ebbb2a7.ts +30 -0
  424. package/test/party/components/temp/UpdateState-client-394ff9d0df2e1b8ab85e7f851f4784787f129ed0.ts +43 -0
  425. package/test/party/components/temp/UpdateState-server-d1f8f1f61ece4bad87d20019006625ca03021226.ts +25 -0
  426. package/test/preact.test.ts +5 -5
  427. package/test/props/components/output/Reactive-client.ts +6 -6
  428. package/test/props/components/output/Reactive-server.ts +1 -1
  429. package/test/props/components/temp/Reactive-client-626575b72eeb6e7eafe7352f0acda1502b0c3d37.ts +75 -0
  430. package/test/props/components/temp/Reactive-server-738cf1237188d69c8cfa76ff3a8f3344f3512c78.ts +44 -0
  431. package/test/props/reactive.test.ts +21 -9
  432. package/test/replace/components/output/Replace-client.ts +7 -7
  433. package/test/replace/components/temp/Replace-client-81652c7f64437d91a034e7fe1de7cec08ccacd53.ts +57 -0
  434. package/test/replace/replace.test.ts +18 -13
  435. package/test/run/watch-array.test.ts +2 -2
  436. package/test/run/watch-defined-property.test.ts +2 -2
  437. package/test/run/watch-effect.test.ts +2 -2
  438. package/test/run/watch-function.test.ts +2 -2
  439. package/test/run/watch-getter.test.ts +2 -2
  440. package/test/run/watch-set-same-value.test.ts +2 -2
  441. package/test/slots/basic-slot.test.ts +22 -9
  442. package/test/slots/components/output/BasicSlot-client.ts +83 -0
  443. package/test/slots/components/output/BasicSlot-server.ts +55 -0
  444. package/test/slots/components/output/LetSlot-client.ts +133 -0
  445. package/test/slots/components/output/LetSlot-server.ts +60 -0
  446. package/test/slots/components/output/NamedSlot-client.ts +101 -0
  447. package/test/slots/components/output/NamedSlot-server.ts +70 -0
  448. package/test/slots/components/output/UnusedSlot-client.ts +70 -0
  449. package/test/slots/components/output/UnusedSlot-server.ts +45 -0
  450. package/test/slots/components/temp/BasicSlot-client-8a51c7a21638cc96da2b2766e46310d099687f8e.ts +83 -0
  451. package/test/slots/components/temp/BasicSlot-server-8d3adcd44f4a021022fcc289ce0529946f2d9bab.ts +55 -0
  452. package/test/slots/components/temp/LetSlot-client-2cd77fd4f84810a55926f0265a9b780516982d5b.ts +133 -0
  453. package/test/slots/components/temp/LetSlot-server-1c56e0f0ccc3c2bad37f89ed13bcdec58ac58ea7.ts +60 -0
  454. package/test/slots/components/temp/NamedSlot-client-f0b62a74a30ecb0d0fe715d56eb772a38fe13e87.ts +101 -0
  455. package/test/slots/components/temp/NamedSlot-server-48c68d96b467ea74ca8f2c87ef27292eaa0b4fbb.ts +70 -0
  456. package/test/slots/components/temp/UnusedSlot-client-b8794d03a1566ab0a7ec888b907dd94e685fcf52.ts +70 -0
  457. package/test/slots/components/temp/UnusedSlot-server-bc71b5741d284ecd3036cc177ff00f62002d20fa.ts +45 -0
  458. package/test/slots/let-slot.test.ts +27 -10
  459. package/test/slots/named-slot.test.ts +29 -9
  460. package/test/slots/unused-slot.test.ts +20 -9
  461. package/test/special-component/components/output/SpecialComponent-client.ts +128 -0
  462. package/test/special-component/components/output/SpecialComponent-server.ts +82 -0
  463. package/test/special-component/components/temp/SpecialComponent-client-1955ef6a59b67e29ea076ed28758625922ff7d7b.ts +128 -0
  464. package/test/special-component/components/temp/SpecialComponent-server-dfed8066f3d6cfc5bc0f13c7a575aa0d20a2fb31.ts +82 -0
  465. package/test/special-component/special-component.test.ts +37 -13
  466. package/test/special-element/components/output/SpecialElement-client.ts +39 -0
  467. package/test/special-element/components/temp/SpecialElement-client-56b2d385272626ac7c75ff7b2b6876ff2280d5db.ts +39 -0
  468. package/test/special-element/special-element.test.ts +17 -14
  469. package/test/special-head/components/output/SpecialHead-client.ts +25 -0
  470. package/test/special-head/components/temp/SpecialHead-client-1aeeecccf0bc9ef671d422cbac5b6e460ae3c18b.ts +25 -0
  471. package/test/special-head/special-head.test.ts +15 -14
  472. package/test/special-self/components/output/SpecialSelf-client.ts +77 -0
  473. package/test/special-self/components/temp/SpecialSelf-client-126d3318d9aee9b2e6309c0ae5b91b2e56e9e647.ts +77 -0
  474. package/test/special-self/special-self.test.ts +18 -14
  475. package/test/style/components/output/Style-client.ts +3 -3
  476. package/test/style/components/temp/Style-client-9fac281c13b602dd3c56709a922987a0a922f289.ts +35 -0
  477. package/test/style/style.test.ts +17 -14
  478. package/test/svg/components/output/Svg-client.ts +74 -0
  479. package/test/svg/components/temp/Svg-client-ce4c8c2bb0954f69797b74f29f97f0caa1f1efca.ts +74 -0
  480. package/test/svg/svg.test.ts +21 -14
  481. package/test/switch/components/output/Switch-client.ts +9 -8
  482. package/test/switch/components/temp/Switch-client-5e9c1cd0d99c95a53136b8647289c95d4475ed19.ts +91 -0
  483. package/test/switch/switch.test.ts +81 -0
  484. package/test/text/components/output/Text-client.ts +3 -6
  485. package/test/text/components/output/Text-server.ts +0 -3
  486. package/test/text/components/output/Text-types.ts +0 -3
  487. package/test/text/components/temp/Text-client-e8ac547ff02dd3514e6daaa3f194e955edfe7eb9.ts +41 -0
  488. package/test/text/components/temp/Text-server-2010bf7bc69e04835349a96f405394d2dc905f74.ts +21 -0
  489. package/test/text/components/temp/Text-types-8734fa84ea5e6d078b66a771ec48b821c954573f.ts +13 -0
  490. package/test/text/text.test.ts +21 -13
  491. package/test/watch/watch-nested-object.test.ts +1 -1
  492. package/test/watch/watch-null-object.test.ts +1 -1
  493. package/test/watch/watch-null-property.test.ts +1 -1
  494. package/test/watch/watch-simple-object.test.ts +1 -1
  495. package/test/watch/watch-undefined-object.test.ts +1 -1
  496. package/test/watch/watch-undefined-property.test.ts +1 -1
  497. package/test/watch-array/array-all-functions-unkeyed.test.ts +20 -11
  498. package/test/watch-array/array-all-functions.test.ts +21 -11
  499. package/test/watch-array/array-empty.test.ts +21 -12
  500. package/test/watch-array/array-entries.test.ts +22 -11
  501. package/test/watch-array/array-indexes.test.ts +22 -11
  502. package/test/watch-array/array-pop.test.ts +21 -12
  503. package/test/watch-array/array-push.test.ts +21 -12
  504. package/test/watch-array/array-reassign.test.ts +21 -12
  505. package/test/watch-array/array-reverse.test.ts +21 -12
  506. package/test/watch-array/array-set-object.test.ts +21 -12
  507. package/test/watch-array/array-set-property.test.ts +21 -12
  508. package/test/watch-array/array-shift.test.ts +21 -12
  509. package/test/watch-array/array-sort.test.ts +21 -12
  510. package/test/watch-array/array-splice-add.test.ts +21 -12
  511. package/test/watch-array/array-splice-delete-all.test.ts +21 -12
  512. package/test/watch-array/array-splice-delete-and-add.test.ts +21 -12
  513. package/test/watch-array/array-splice-delete-end.test.ts +21 -12
  514. package/test/watch-array/array-splice-delete.test.ts +21 -12
  515. package/test/watch-array/array-swap.test.ts +21 -12
  516. package/test/watch-array/array-unshift.test.ts +21 -12
  517. package/test/watch-array/array-update-assignment.test.ts +21 -12
  518. package/test/watch-array/components/output/ArrayAllFunctions-client.ts +80 -0
  519. package/test/watch-array/components/output/ArrayAllFunctionsUnkeyed-client.ts +80 -0
  520. package/test/watch-array/components/output/ArrayEmpty-client.ts +80 -0
  521. package/test/watch-array/components/output/ArrayEntries-client.ts +25 -25
  522. package/test/watch-array/components/output/ArrayIndexes-client.ts +25 -25
  523. package/test/watch-array/components/output/ArrayPop-client.ts +80 -0
  524. package/test/watch-array/components/output/ArrayPop-server.ts +22 -0
  525. package/test/watch-array/components/output/ArrayPop-types.ts +10 -0
  526. package/test/watch-array/components/output/ArrayPush-client.ts +80 -0
  527. package/test/watch-array/components/output/ArrayPush-server.ts +22 -0
  528. package/test/watch-array/components/output/ArrayPush-types.ts +10 -0
  529. package/test/watch-array/components/output/ArrayReassign-client.ts +80 -0
  530. package/test/watch-array/components/output/ArrayReassign-server.ts +22 -0
  531. package/test/watch-array/components/output/ArrayReassign-types.ts +10 -0
  532. package/test/watch-array/components/output/ArrayReverse-client.ts +80 -0
  533. package/test/watch-array/components/output/ArrayReverse-server.ts +22 -0
  534. package/test/watch-array/components/output/ArrayReverse-types.ts +10 -0
  535. package/test/watch-array/components/output/ArraySetObject-client.ts +80 -0
  536. package/test/watch-array/components/output/ArraySetObject-server.ts +22 -0
  537. package/test/watch-array/components/output/ArraySetObject-types.ts +10 -0
  538. package/test/watch-array/components/output/ArraySetProperty-client.ts +80 -0
  539. package/test/watch-array/components/output/ArraySetProperty-server.ts +22 -0
  540. package/test/watch-array/components/output/ArraySetProperty-types.ts +10 -0
  541. package/test/watch-array/components/output/ArrayShift-client.ts +80 -0
  542. package/test/watch-array/components/output/ArrayShift-server.ts +22 -0
  543. package/test/watch-array/components/output/ArrayShift-types.ts +10 -0
  544. package/test/watch-array/components/output/ArraySort-client.ts +80 -0
  545. package/test/watch-array/components/output/ArraySort-server.ts +22 -0
  546. package/test/watch-array/components/output/ArraySort-types.ts +10 -0
  547. package/test/watch-array/components/output/ArraySpliceAdd-client.ts +80 -0
  548. package/test/watch-array/components/output/ArraySpliceAdd-server.ts +22 -0
  549. package/test/watch-array/components/output/ArraySpliceAdd-types.ts +10 -0
  550. package/test/watch-array/components/output/ArraySpliceDelete-client.ts +80 -0
  551. package/test/watch-array/components/output/ArraySpliceDelete-server.ts +22 -0
  552. package/test/watch-array/components/output/ArraySpliceDelete-types.ts +10 -0
  553. package/test/watch-array/components/output/ArraySpliceDeleteAll-client.ts +80 -0
  554. package/test/watch-array/components/output/ArraySpliceDeleteAll-server.ts +22 -0
  555. package/test/watch-array/components/output/ArraySpliceDeleteAll-types.ts +10 -0
  556. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-client.ts +80 -0
  557. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-server.ts +22 -0
  558. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-types.ts +10 -0
  559. package/test/watch-array/components/output/ArraySpliceDeleteEnd-client.ts +80 -0
  560. package/test/watch-array/components/output/ArraySpliceDeleteEnd-server.ts +22 -0
  561. package/test/watch-array/components/output/ArraySpliceDeleteEnd-types.ts +10 -0
  562. package/test/watch-array/components/output/ArraySwap-client.ts +80 -0
  563. package/test/watch-array/components/output/ArraySwap-server.ts +22 -0
  564. package/test/watch-array/components/output/ArraySwap-types.ts +10 -0
  565. package/test/watch-array/components/output/ArrayUnshift-client.ts +80 -0
  566. package/test/watch-array/components/output/ArrayUnshift-server.ts +22 -0
  567. package/test/watch-array/components/output/ArrayUnshift-types.ts +10 -0
  568. package/test/watch-array/components/output/ArrayUpdateAssignment-client.ts +80 -0
  569. package/test/watch-array/components/output/ArrayUpdateAssignment-server.ts +22 -0
  570. package/test/watch-array/components/output/ArrayUpdateAssignment-types.ts +10 -0
  571. package/test/watch-array/components/temp/ArrayAllFunctions-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  572. package/test/watch-array/components/temp/ArrayAllFunctions-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  573. package/test/watch-array/components/temp/ArrayAllFunctions-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  574. package/test/watch-array/components/temp/ArrayAllFunctionsUnkeyed-client-9d10d33225715295edde4c036977dfbc57e3fda9.ts +80 -0
  575. package/test/watch-array/components/temp/ArrayEmpty-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  576. package/test/watch-array/components/temp/ArrayEmpty-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  577. package/test/watch-array/components/temp/ArrayEmpty-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  578. package/test/watch-array/components/temp/ArrayEntries-client-ef539f1f3238595af775cdcdf0fe43608e9e9162.ts +82 -0
  579. package/test/watch-array/components/temp/ArrayIndexes-client-e57339b7f87549f78154ccbaaf1a9b35d5844a5e.ts +80 -0
  580. package/test/watch-array/components/temp/ArrayPop-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  581. package/test/watch-array/components/temp/ArrayPop-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  582. package/test/watch-array/components/temp/ArrayPop-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  583. package/test/watch-array/components/temp/ArrayPush-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  584. package/test/watch-array/components/temp/ArrayPush-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  585. package/test/watch-array/components/temp/ArrayPush-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  586. package/test/watch-array/components/temp/ArrayReassign-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  587. package/test/watch-array/components/temp/ArrayReassign-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  588. package/test/watch-array/components/temp/ArrayReassign-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  589. package/test/watch-array/components/temp/ArrayReverse-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  590. package/test/watch-array/components/temp/ArrayReverse-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  591. package/test/watch-array/components/temp/ArrayReverse-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  592. package/test/watch-array/components/temp/ArraySetObject-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  593. package/test/watch-array/components/temp/ArraySetObject-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  594. package/test/watch-array/components/temp/ArraySetObject-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  595. package/test/watch-array/components/temp/ArraySetProperty-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  596. package/test/watch-array/components/temp/ArraySetProperty-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  597. package/test/watch-array/components/temp/ArraySetProperty-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  598. package/test/watch-array/components/temp/ArrayShift-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  599. package/test/watch-array/components/temp/ArrayShift-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  600. package/test/watch-array/components/temp/ArrayShift-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  601. package/test/watch-array/components/temp/ArraySort-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  602. package/test/watch-array/components/temp/ArraySort-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  603. package/test/watch-array/components/temp/ArraySort-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  604. package/test/watch-array/components/temp/ArraySpliceAdd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  605. package/test/watch-array/components/temp/ArraySpliceAdd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  606. package/test/watch-array/components/temp/ArraySpliceAdd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  607. package/test/watch-array/components/temp/ArraySpliceDelete-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  608. package/test/watch-array/components/temp/ArraySpliceDelete-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  609. package/test/watch-array/components/temp/ArraySpliceDelete-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  610. package/test/watch-array/components/temp/ArraySpliceDeleteAll-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  611. package/test/watch-array/components/temp/ArraySpliceDeleteAll-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  612. package/test/watch-array/components/temp/ArraySpliceDeleteAll-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  613. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  614. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  615. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  616. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  617. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  618. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  619. package/test/watch-array/components/temp/ArraySwap-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  620. package/test/watch-array/components/temp/ArraySwap-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  621. package/test/watch-array/components/temp/ArraySwap-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  622. package/test/watch-array/components/temp/ArrayUnshift-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  623. package/test/watch-array/components/temp/ArrayUnshift-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  624. package/test/watch-array/components/temp/ArrayUnshift-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  625. package/test/watch-array/components/temp/ArrayUpdateAssignment-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  626. package/test/watch-array/components/temp/ArrayUpdateAssignment-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  627. package/test/watch-array/components/temp/ArrayUpdateAssignment-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  628. package/test/watch-object/components/output/WatchObject-client.ts +36 -0
  629. package/test/watch-object/components/temp/WatchObject-client-fa0eda21911b5d8674baa290bfdbd8329cbc7f08.ts +36 -0
  630. package/test/watch-object/watch-object.test.ts +19 -14
  631. package/tsdown.config.ts +1 -1
  632. package/dist/Component-C6Y3UwGs.d.cts +0 -11
  633. package/dist/Component-C6Y3UwGs.d.cts.map +0 -1
  634. package/dist/Component-d19HOoEw.d.ts +0 -11
  635. package/dist/Component-d19HOoEw.d.ts.map +0 -1
  636. package/dist/ServerSlotRender-BiG4xB8e.d.ts +0 -41
  637. package/dist/ServerSlotRender-BiG4xB8e.d.ts.map +0 -1
  638. package/dist/ServerSlotRender-COS6H8Yk.d.cts +0 -41
  639. package/dist/ServerSlotRender-COS6H8Yk.d.cts.map +0 -1
  640. package/dist/formatText-B0FXBdFT.js +0 -410
  641. package/dist/formatText-B0FXBdFT.js.map +0 -1
  642. package/dist/formatText-DufG5l83.cjs +0 -500
  643. package/dist/formatText-DufG5l83.cjs.map +0 -1
  644. package/src/compile/parse/ParseComponentStatus.ts +0 -29
  645. package/src/compile/types/SourceRange.ts +0 -4
  646. package/src/debug/printRanges.ts +0 -74
  647. package/src/motion/animate.ts +0 -54
  648. package/src/render/$batch.ts +0 -22
  649. package/src/render/$cache.ts +0 -34
  650. package/src/render/$mount.ts +0 -11
  651. package/src/render/$peek.ts +0 -14
  652. package/src/render/$run.ts +0 -30
  653. package/src/render/$unwrap.ts +0 -12
  654. package/src/render/$watch.ts +0 -43
  655. package/src/render/clearRange.ts +0 -63
  656. package/src/render/moveRange.ts +0 -14
  657. package/src/render/newRange.ts +0 -13
  658. package/src/render/popRange.ts +0 -6
  659. package/src/render/pushRange.ts +0 -26
  660. package/src/types/BuildOptions.ts +0 -21
  661. package/src/types/Range.ts +0 -19
  662. package/src/watch/trackEffect.ts +0 -71
  663. package/src/watch/trackProxyEffect.ts +0 -21
  664. package/src/watch/updateSignal.ts +0 -102
  665. package/test/attributes/components/Attributes.torp +0 -12
  666. package/test/attributes/components/temp/Attributes-client-9ed61e9998dac100aac3eb329c0fe7fff28a913d.ts +0 -38
  667. package/test/await/components/Await.torp +0 -31
  668. package/test/await/components/temp/Await-client-0d7c687e5e358a56842de5231393c368e3ceec73.ts +0 -111
  669. package/test/await/components/temp/Await-server-d9b0bd351ee7809f68bd86c8eb82e7f48b4711d5.ts +0 -38
  670. package/test/bench/components/temp/Bench-client-ccbc27f7bcd97e547fa09bc27f87b483e5fb5162.ts +0 -211
  671. package/test/bind/bind.test.ts +0 -55
  672. package/test/bind/component.test.ts +0 -45
  673. package/test/bind/components/BindComponent.torp +0 -14
  674. package/test/bind/components/BindText.torp +0 -14
  675. package/test/bind/components/temp/BindComponent-client-dec2fa31d2f61180b49259084b2cc73608d9dfeb.ts +0 -82
  676. package/test/bind/components/temp/BindComponent-server-d84c043390f513a6018b4463c9da8fff17197785.ts +0 -46
  677. package/test/bind/components/temp/BindText-client-4a899bd8a77d46dfa44ea88815cc590990cd1d45.ts +0 -53
  678. package/test/bind/components/temp/BindText-server-284367fdc908af89815cfb593d4bfc01db30f27a.ts +0 -23
  679. package/test/build-server/components/temp/IfNested-client-310998120f8c965d3ab916699173e4b44faebe8c.ts +0 -99
  680. package/test/child-component/components/ParentChild.torp +0 -11
  681. package/test/child-component/components/output/ParentChild-client.ts +0 -69
  682. package/test/child-component/components/temp/ParentChild-client-4f54913f71d760332bbc54c09827240bb020b1fa.ts +0 -69
  683. package/test/class/components/Class.torp +0 -47
  684. package/test/class/components/temp/Class-client-9e8da6a69f8795af9b180d1db1bd9f16820886ba.ts +0 -81
  685. package/test/component/components/Component.torp +0 -7
  686. package/test/component/components/Header.torp +0 -5
  687. package/test/component/components/output/Header-client.ts +0 -36
  688. package/test/component/components/output/Header-server.ts +0 -18
  689. package/test/component/components/output/Header-types.ts +0 -10
  690. package/test/component/components/temp/Component-client-18e68dd4956aa0a39a64061e21b0d379fe577124.ts +0 -41
  691. package/test/component/components/temp/Component-server-90896e6b74e2a126f374d067dad8aab30e618a6e.ts +0 -27
  692. package/test/component/components/temp/Header-client-55270c2ae3edb26dfdd07fcbb06bd5bc3d671cff.ts +0 -36
  693. package/test/component/components/temp/Header-server-268c10517d0abcb7dc7577acc226df495e0636c7.ts +0 -18
  694. package/test/component/components/temp/Header-types-c56a108c6fb5a22b8ae156936bc05e58eef199c2.ts +0 -10
  695. package/test/console/components/Console.torp +0 -7
  696. package/test/console/components/temp/Console-client-58a51b6842e5ce72a0476e8b45610deb4081567d.ts +0 -32
  697. package/test/const/components/Const.torp +0 -8
  698. package/test/const/components/temp/Const-client-d3ad39ce125ecbb4146070dca4271fa317164901.ts +0 -39
  699. package/test/context/components/ChildA.torp +0 -10
  700. package/test/context/components/ChildB.torp +0 -8
  701. package/test/context/components/Parent.torp +0 -11
  702. package/test/context/components/output/ChildA-client.ts +0 -43
  703. package/test/context/components/output/ChildA-server.ts +0 -21
  704. package/test/context/components/output/ChildA-types.ts +0 -10
  705. package/test/context/components/output/ChildB-client.ts +0 -32
  706. package/test/context/components/output/ChildB-server.ts +0 -20
  707. package/test/context/components/output/ChildB-types.ts +0 -10
  708. package/test/context/components/output/Parent-client.ts +0 -46
  709. package/test/context/components/output/Parent-server.ts +0 -33
  710. package/test/context/components/temp/ChildA-client-aff532cbefba57c045b1e46f17ef8d000c8a57e7.ts +0 -43
  711. package/test/context/components/temp/ChildA-server-7875ecf1de524d64b65442f9551357cb3d8406c8.ts +0 -21
  712. package/test/context/components/temp/ChildA-types-2ee15b25e68166d1574582f08e2280cbae948e5d.ts +0 -10
  713. package/test/context/components/temp/ChildB-client-f91667c6809e100f44401f8e4ac92ca2457f955e.ts +0 -32
  714. package/test/context/components/temp/ChildB-server-4e50197bcac7f277867eb384a9428bd71a1a481d.ts +0 -20
  715. package/test/context/components/temp/ChildB-types-531f67cfda5bd04468e827c14f9358a431853fc5.ts +0 -10
  716. package/test/context/components/temp/Parent-client-024253a71ed829c4a4af2a685551f0566ce9c990.ts +0 -46
  717. package/test/context/components/temp/Parent-server-23bd397e7c1d1abe774a217d2eccdd9794342526.ts +0 -33
  718. package/test/effects/components/For.torp +0 -7
  719. package/test/effects/components/If.torp +0 -9
  720. package/test/effects/components/NestedIf.torp +0 -11
  721. package/test/effects/components/output/For-client.ts +0 -79
  722. package/test/effects/components/output/If-client.ts +0 -67
  723. package/test/effects/components/output/NestedIf-client.ts +0 -93
  724. package/test/effects/components/temp/For-client-f532f1ee363da143e17a4c03cdfdeb8fb231b471.ts +0 -79
  725. package/test/effects/components/temp/If-client-55ae315d1e4e8a4beb0141bed27065752a967406.ts +0 -67
  726. package/test/effects/components/temp/NestedIf-client-6a3aa24e5601821dd884da50dd6f29a014fb4105.ts +0 -93
  727. package/test/events/components/Increment.torp +0 -19
  728. package/test/events/components/output/Increment-client.ts +0 -49
  729. package/test/events/components/output/Increment-server.ts +0 -26
  730. package/test/events/components/temp/Increment-client-1bcd6590718945f279fbf9ace53397d6cb0c5798.ts +0 -49
  731. package/test/events/components/temp/Increment-server-5c3613fa3049b61c78afc3421a5f7913f3f1a17d.ts +0 -26
  732. package/test/for/components/For.torp +0 -11
  733. package/test/for/components/ForEscape.torp +0 -14
  734. package/test/for/components/ForIn.torp +0 -11
  735. package/test/for/components/ForOf.torp +0 -11
  736. package/test/for/components/temp/For-client-9b3bfe804fafe13b51ef872cd22d05560ff8b534.ts +0 -81
  737. package/test/for/components/temp/ForEscape-client-a4ca70bc1efbad834b6532599a2709656126dc02.ts +0 -100
  738. package/test/for/components/temp/ForIn-client-798ce3de40acd8cf41bd768de216a94da368d44e.ts +0 -80
  739. package/test/for/components/temp/ForOf-client-e2f943a36ad6a3744fbed9a785650980c23dd2b8.ts +0 -80
  740. package/test/function/components/Function.torp +0 -13
  741. package/test/function/components/temp/Function-client-52e7497bab8bb30904b5483fb8b7c54889cbc38f.ts +0 -49
  742. package/test/function/components/temp/Function-server-df776ecd882d3092e095189f6a4993bd035f4dfd.ts +0 -28
  743. package/test/html/components/Html.torp +0 -7
  744. package/test/html/components/temp/Html-client-bf657455a7032b6954a27fca8e10c12626bb6cc9.ts +0 -49
  745. package/test/if/components/IfAfterIf.torp +0 -15
  746. package/test/if/components/IfCache.torp +0 -14
  747. package/test/if/components/IfElse.torp +0 -17
  748. package/test/if/components/IfElseIf.torp +0 -18
  749. package/test/if/components/IfFalse.torp +0 -10
  750. package/test/if/components/IfNested.torp +0 -19
  751. package/test/if/components/output/IfElse-client.ts +0 -67
  752. package/test/if/components/output/IfElseIf-client.ts +0 -77
  753. package/test/if/components/temp/IfAfterIf-client-81a15684c43a0fe4e17e3df9318c616631fb8ff8.ts +0 -87
  754. package/test/if/components/temp/IfCache-client-fe5987ab326c12977fed0b0aefc063ff5de2726a.ts +0 -72
  755. package/test/if/components/temp/IfElse-client-a24f8d0cc5b4bb3a436710170664865611ad353f.ts +0 -67
  756. package/test/if/components/temp/IfElseIf-client-82f3475956b6568a57317a403a3e0be561e8889f.ts +0 -77
  757. package/test/if/components/temp/IfFalse-client-895238468c443109683b1e68ffc90c0d97f3681f.ts +0 -61
  758. package/test/if/components/temp/IfNested-client-310998120f8c965d3ab916699173e4b44faebe8c.ts +0 -99
  759. package/test/mount/components/Mount.torp +0 -11
  760. package/test/mount/components/temp/Mount-client-6fa717b32323386e7bb7ef1c923ac505f1555383.ts +0 -39
  761. package/test/mount/components/temp/Mount-server-c1712e41936a50bfce050acf010a27fb33715582.ts +0 -25
  762. package/test/on-mount/components/OnMount.torp +0 -5
  763. package/test/on-mount/components/temp/OnMount-client-a4e4e0453bb3dc0adfe6a46ec685c44b8a25b47e.ts +0 -35
  764. package/test/party/components/AnswerButton.torp +0 -6
  765. package/test/party/components/AnswerButtonApp.torp +0 -21
  766. package/test/party/components/ColorSelect.torp +0 -24
  767. package/test/party/components/Colors.torp +0 -12
  768. package/test/party/components/Counter.torp +0 -14
  769. package/test/party/components/CssStyle.torp +0 -12
  770. package/test/party/components/DoubleCount.torp +0 -12
  771. package/test/party/components/FunnyButton.torp +0 -21
  772. package/test/party/components/FunnyButtonApp.torp +0 -9
  773. package/test/party/components/HelloWorld.torp +0 -5
  774. package/test/party/components/InputFocused.torp +0 -12
  775. package/test/party/components/InputHello.torp +0 -10
  776. package/test/party/components/IsAvailable.torp +0 -12
  777. package/test/party/components/Name.torp +0 -9
  778. package/test/party/components/NameUpdate.torp +0 -10
  779. package/test/party/components/PageTitle.torp +0 -13
  780. package/test/party/components/PickPill.torp +0 -15
  781. package/test/party/components/Time.torp +0 -17
  782. package/test/party/components/TrafficLight.torp +0 -28
  783. package/test/party/components/UserProfile.torp +0 -13
  784. package/test/party/components/UserProfileApp.torp +0 -12
  785. package/test/party/components/UserProfileContext.torp +0 -12
  786. package/test/party/components/UserProfileContextApp.torp +0 -18
  787. package/test/party/components/output/AnswerButton-client.ts +0 -34
  788. package/test/party/components/output/AnswerButton-server.ts +0 -17
  789. package/test/party/components/output/AnswerButton-types.ts +0 -10
  790. package/test/party/components/output/AnswerButtonApp-client.ts +0 -65
  791. package/test/party/components/output/AnswerButtonApp-server.ts +0 -42
  792. package/test/party/components/output/ColorSelect-client.ts +0 -106
  793. package/test/party/components/output/ColorSelect-server.ts +0 -36
  794. package/test/party/components/output/Colors-client.ts +0 -83
  795. package/test/party/components/output/Counter-client.ts +0 -49
  796. package/test/party/components/output/Counter-server.ts +0 -28
  797. package/test/party/components/output/CssStyle-client.ts +0 -30
  798. package/test/party/components/output/DoubleCount-client.ts +0 -45
  799. package/test/party/components/output/DoubleCount-server.ts +0 -27
  800. package/test/party/components/output/FunnyButton-client.ts +0 -42
  801. package/test/party/components/output/FunnyButton-server.ts +0 -33
  802. package/test/party/components/output/FunnyButton-types.ts +0 -10
  803. package/test/party/components/output/FunnyButtonApp-client.ts +0 -56
  804. package/test/party/components/output/FunnyButtonApp-server.ts +0 -40
  805. package/test/party/components/output/HelloWorld-client.ts +0 -30
  806. package/test/party/components/output/InputFocused-client.ts +0 -40
  807. package/test/party/components/output/InputFocused-server.ts +0 -26
  808. package/test/party/components/output/InputHello-client.ts +0 -48
  809. package/test/party/components/output/InputHello-server.ts +0 -25
  810. package/test/party/components/output/IsAvailable-client.ts +0 -48
  811. package/test/party/components/output/IsAvailable-server.ts +0 -24
  812. package/test/party/components/output/Name-client.ts +0 -42
  813. package/test/party/components/output/Name-server.ts +0 -24
  814. package/test/party/components/output/NameUpdate-client.ts +0 -43
  815. package/test/party/components/output/NameUpdate-server.ts +0 -25
  816. package/test/party/components/output/PageTitle-client.ts +0 -46
  817. package/test/party/components/output/PageTitle-server.ts +0 -29
  818. package/test/party/components/output/PickPill-client.ts +0 -57
  819. package/test/party/components/output/PickPill-server.ts +0 -25
  820. package/test/party/components/output/Time-client.ts +0 -50
  821. package/test/party/components/output/Time-server.ts +0 -33
  822. package/test/party/components/output/Time-types.ts +0 -10
  823. package/test/party/components/output/TrafficLight-client.ts +0 -104
  824. package/test/party/components/output/TrafficLight-server.ts +0 -42
  825. package/test/party/components/output/UserProfile-client.ts +0 -47
  826. package/test/party/components/output/UserProfile-server.ts +0 -23
  827. package/test/party/components/output/UserProfile-types.ts +0 -15
  828. package/test/party/components/output/UserProfileApp-client.ts +0 -49
  829. package/test/party/components/output/UserProfileApp-server.ts +0 -30
  830. package/test/party/components/output/UserProfileContext-client.ts +0 -45
  831. package/test/party/components/output/UserProfileContext-server.ts +0 -22
  832. package/test/party/components/output/UserProfileContext-types.ts +0 -10
  833. package/test/party/components/output/UserProfileContextApp-client.ts +0 -55
  834. package/test/party/components/output/UserProfileContextApp-server.ts +0 -36
  835. package/test/party/components/temp/AnswerButton-client-7177780ae1893d63f157696e8fd69457d2be7dae.ts +0 -34
  836. package/test/party/components/temp/AnswerButton-server-046732866b73d89e159611fefbe624d46c2b5fab.ts +0 -17
  837. package/test/party/components/temp/AnswerButton-types-7dc4d046e52be1e6cb46d6235ce7540bd3e7b2a5.ts +0 -10
  838. package/test/party/components/temp/AnswerButtonApp-client-4e1e446230bf19a6d15351ee85eef6d884cd8ae3.ts +0 -65
  839. package/test/party/components/temp/AnswerButtonApp-server-62fca6fe2548e137bad23a5eb275a26347487cf8.ts +0 -42
  840. package/test/party/components/temp/ColorSelect-client-e8b9847a6d173588f12e2edf9bb80b013cad45db.ts +0 -106
  841. package/test/party/components/temp/ColorSelect-server-70795372721a40a66a7c645a0739e05ebe92ace6.ts +0 -36
  842. package/test/party/components/temp/Colors-client-02829cd951ddad1017fb8bbc38105f0217a5c948.ts +0 -83
  843. package/test/party/components/temp/Counter-client-29835651186148b79e45df97a645ad89746539b3.ts +0 -49
  844. package/test/party/components/temp/Counter-server-44037f4e43afe66c1a2323ab228600c8d0c07034.ts +0 -28
  845. package/test/party/components/temp/CssStyle-client-ef6bb508854c44e6a2e0b6afe24354e778e16dd5.ts +0 -30
  846. package/test/party/components/temp/DoubleCount-client-5ff6544f8b35598d946cd79b84832c0fb8ecdad3.ts +0 -45
  847. package/test/party/components/temp/DoubleCount-server-debf090eddaf376df8779e033bcdb0388277958e.ts +0 -27
  848. package/test/party/components/temp/FunnyButton-client-e11fe0ccb1e1d8a5cc3494ec703821a87be30b48.ts +0 -42
  849. package/test/party/components/temp/FunnyButton-server-1a8ec64dfcb4ce3f57d49e93065214bfbcc08332.ts +0 -33
  850. package/test/party/components/temp/FunnyButton-types-7780d5c5dfe3ff2369f8e3c505616036cfcd3759.ts +0 -10
  851. package/test/party/components/temp/FunnyButtonApp-client-0ac296ea8c4d64c4cccb16cb60812bba773cae34.ts +0 -56
  852. package/test/party/components/temp/FunnyButtonApp-server-988d7be123837437c1cd83ec955af912b7f8c0ed.ts +0 -40
  853. package/test/party/components/temp/HelloWorld-client-bb60ff2a9b3e6be414458f0964428868abcc6c8b.ts +0 -30
  854. package/test/party/components/temp/InputFocused-client-28e89cbfa55a205bbb67379c7d72c9daa32e2b22.ts +0 -40
  855. package/test/party/components/temp/InputFocused-server-f2c33f77d036a13a539145aac92e69a13e5c244f.ts +0 -26
  856. package/test/party/components/temp/InputHello-client-94b5024f8b42ff650b22a8fcab4adabad5954b38.ts +0 -48
  857. package/test/party/components/temp/InputHello-server-b651f6b1b6d20f8db7f24c9aa2f9c7a6a98d2565.ts +0 -25
  858. package/test/party/components/temp/IsAvailable-client-2f4341d03fffd034ea6477cf98ac0984c3b48f19.ts +0 -48
  859. package/test/party/components/temp/IsAvailable-server-755235b8555a1b04422e65f78c2f568dbfbb0f6a.ts +0 -24
  860. package/test/party/components/temp/Name-client-aa921e496d4553c27489b7a104b369d7c042b10a.ts +0 -42
  861. package/test/party/components/temp/Name-server-17ed5d5d55f0e8dced9c2318901fa4fa752d3328.ts +0 -24
  862. package/test/party/components/temp/NameUpdate-client-a644414fb1d115facf07929340288114b47e82a7.ts +0 -43
  863. package/test/party/components/temp/NameUpdate-server-d5ee008860ddb688406b7c215b362cb6a7ae3dfb.ts +0 -25
  864. package/test/party/components/temp/PageTitle-client-6ac26df6766da904274c83151b7bea506173b166.ts +0 -46
  865. package/test/party/components/temp/PageTitle-server-a8756ac6e8d37cd1fddc5e587785188a2ddcad57.ts +0 -29
  866. package/test/party/components/temp/PickPill-client-d4d8a094e60fba2e2ce4f9b86bce6eecb35c7586.ts +0 -57
  867. package/test/party/components/temp/PickPill-server-863c275ffa01f0bea59aec7a62617fe3d64de0c4.ts +0 -25
  868. package/test/party/components/temp/Time-client-4be874ec1b0ba02833eaf8fc91db04ee135c6dc2.ts +0 -50
  869. package/test/party/components/temp/Time-server-b565c1796597a684c27ceb233fb6ba97c9e68b0c.ts +0 -33
  870. package/test/party/components/temp/Time-types-2bf6facfbb2d6e7de472d18760029afaefbb93e1.ts +0 -10
  871. package/test/party/components/temp/TrafficLight-client-fde946ab1dcedf0bc58ad66395ab7353b61ecd88.ts +0 -104
  872. package/test/party/components/temp/TrafficLight-server-7d314df847fb93f30306336686aebc7d733b7f2a.ts +0 -42
  873. package/test/party/components/temp/UserProfile-client-918160167576eda57d3f5c10821f121326434fc7.ts +0 -47
  874. package/test/party/components/temp/UserProfile-server-f2af9259f1673db9764940a79c8376ac6107a9a7.ts +0 -23
  875. package/test/party/components/temp/UserProfile-types-412089462c8dcc757d2f53e7ff8030296d3100c2.ts +0 -15
  876. package/test/party/components/temp/UserProfileApp-client-8aec52d853b05b770fe38d86f728704336a725f5.ts +0 -49
  877. package/test/party/components/temp/UserProfileApp-server-64a42a364541da400567ebd576cbc5f8a39b7b19.ts +0 -30
  878. package/test/party/components/temp/UserProfileContext-client-6a5b20d54444950be9d9ace5b18ac633a3a940e0.ts +0 -45
  879. package/test/party/components/temp/UserProfileContext-server-1babc15d4fcaeb42b317dd8b5f658fdb79ad9920.ts +0 -22
  880. package/test/party/components/temp/UserProfileContext-types-076b9fa0a87d3ca098884a003284050b36172cc6.ts +0 -10
  881. package/test/party/components/temp/UserProfileContextApp-client-c78122a89df250c38f3cabd9f83092e935d781dc.ts +0 -55
  882. package/test/party/components/temp/UserProfileContextApp-server-a0e9a8e842f94e587da700e5b0610335dcfa5d83.ts +0 -36
  883. package/test/props/components/Reactive.torp +0 -16
  884. package/test/props/components/temp/Reactive-client-ce85ee92aefc3d711232c6ec8b79d0f6c0d7b9be.ts +0 -75
  885. package/test/props/components/temp/Reactive-server-4f621a48a08889e1b4067f61d63f4dc2ad422560.ts +0 -44
  886. package/test/replace/components/Replace.torp +0 -9
  887. package/test/replace/components/temp/Replace-client-33026574cfdd565e54a36a7c335fe8947482f460.ts +0 -57
  888. package/test/slots/components/Article.torp +0 -11
  889. package/test/slots/components/Basic.torp +0 -9
  890. package/test/slots/components/Header.torp +0 -9
  891. package/test/slots/components/Let.torp +0 -11
  892. package/test/slots/components/List.torp +0 -11
  893. package/test/slots/components/Named.torp +0 -14
  894. package/test/slots/components/Unused.torp +0 -7
  895. package/test/slots/components/output/Article-client.ts +0 -46
  896. package/test/slots/components/output/Article-server.ts +0 -29
  897. package/test/slots/components/output/Article-types.ts +0 -10
  898. package/test/slots/components/output/Basic-client.ts +0 -51
  899. package/test/slots/components/output/Basic-server.ts +0 -35
  900. package/test/slots/components/output/Header-client.ts +0 -41
  901. package/test/slots/components/output/Header-server.ts +0 -23
  902. package/test/slots/components/output/Header-types.ts +0 -10
  903. package/test/slots/components/output/Let-client.ts +0 -60
  904. package/test/slots/components/output/Let-server.ts +0 -37
  905. package/test/slots/components/output/List-client.ts +0 -84
  906. package/test/slots/components/output/List-server.ts +0 -26
  907. package/test/slots/components/output/List-types.ts +0 -10
  908. package/test/slots/components/output/Named-client.ts +0 -64
  909. package/test/slots/components/output/Named-server.ts +0 -44
  910. package/test/slots/components/output/Unused-client.ts +0 -38
  911. package/test/slots/components/output/Unused-server.ts +0 -25
  912. package/test/slots/components/temp/Article-client-939fd695ec9564d416c1680b54ddb3066964cc89.ts +0 -46
  913. package/test/slots/components/temp/Article-server-a8234a25d52032abc1d1ad48f66b65904a33c82e.ts +0 -29
  914. package/test/slots/components/temp/Article-types-d3d960fbab7644ec2d90dfe39d908fbb65abaaa2.ts +0 -10
  915. package/test/slots/components/temp/Basic-client-0f7b10de026a6ae5b691be3814227832162c4ab1.ts +0 -51
  916. package/test/slots/components/temp/Basic-server-ed282e95697d448477249e4472731e62137a6e2f.ts +0 -35
  917. package/test/slots/components/temp/Header-client-f6e35c967b5ac01eb4a1a00373a5a2ea793205f2.ts +0 -41
  918. package/test/slots/components/temp/Header-server-c1b31b919bfe09f1c4b29b9727707552491c610a.ts +0 -23
  919. package/test/slots/components/temp/Header-types-c56a108c6fb5a22b8ae156936bc05e58eef199c2.ts +0 -10
  920. package/test/slots/components/temp/Let-client-b143435da62c03adc78abf22ffa77321bfa0064c.ts +0 -60
  921. package/test/slots/components/temp/Let-server-d6f219ca663f3db1a506054533f6d4ab8f0fd767.ts +0 -37
  922. package/test/slots/components/temp/List-client-2e2134b3dae44ad784b1da0e55dbc33eb8d3c7f1.ts +0 -84
  923. package/test/slots/components/temp/List-server-eb833ad2f15347f77193294b1fd6062b3bf64325.ts +0 -26
  924. package/test/slots/components/temp/List-types-fd59ad7d85c06e67ee766a2cf14a637dd129569e.ts +0 -10
  925. package/test/slots/components/temp/Named-client-eb1dff9abed47889adc7f63cc93ed6ebdffb51d5.ts +0 -64
  926. package/test/slots/components/temp/Named-server-624f94c0236240ee7fa369eaa3a2ac89eb790bf7.ts +0 -44
  927. package/test/slots/components/temp/Unused-client-03b8bd23f61020b9977bd875614b6b0c2c52dc00.ts +0 -38
  928. package/test/slots/components/temp/Unused-server-8774285a676281e07ff66f99d4235bd20bea10ec.ts +0 -25
  929. package/test/source-maps/components/Source.torp +0 -19
  930. package/test/source-maps/components/output/Source-client.ts +0 -71
  931. package/test/source-maps/components/output/Source-server.ts +0 -28
  932. package/test/source-maps/components/output/Source-types.ts +0 -10
  933. package/test/source-maps/components/temp/Source-client-5a64a2dcf1f8e50b0e175d5aef6b2980e46f07bd.ts +0 -71
  934. package/test/source-maps/components/temp/Source-server-593d42212a4999e0d3c6c0c4ed486950cfd37ffd.ts +0 -28
  935. package/test/source-maps/components/temp/Source-types-69770c124317e0a0fd6aeb3d4f331b50231452fa.ts +0 -10
  936. package/test/special-component/components/BigTitle.torp +0 -7
  937. package/test/special-component/components/Component.torp +0 -15
  938. package/test/special-component/components/SmallTitle.torp +0 -7
  939. package/test/special-component/components/output/BigTitle-client.ts +0 -36
  940. package/test/special-component/components/output/BigTitle-server.ts +0 -21
  941. package/test/special-component/components/output/BigTitle-types.ts +0 -10
  942. package/test/special-component/components/output/Component-client.ts +0 -74
  943. package/test/special-component/components/output/Component-server.ts +0 -45
  944. package/test/special-component/components/output/SmallTitle-client.ts +0 -36
  945. package/test/special-component/components/output/SmallTitle-server.ts +0 -21
  946. package/test/special-component/components/output/SmallTitle-types.ts +0 -10
  947. package/test/special-component/components/temp/BigTitle-client-3c747affe6dfc07f73232b9f377de47d7e5f8bb5.ts +0 -36
  948. package/test/special-component/components/temp/BigTitle-server-e400758bfe84a7ffb98aa2d96f6aed387b809241.ts +0 -21
  949. package/test/special-component/components/temp/BigTitle-types-cb6363da78f853772d3408240f32030d5e826859.ts +0 -10
  950. package/test/special-component/components/temp/Component-client-0f8b087e7164f683fc1af88b178638f51aa4ad2b.ts +0 -74
  951. package/test/special-component/components/temp/Component-server-182ab0d2f5120f217e55405e84106afb073a31d4.ts +0 -45
  952. package/test/special-component/components/temp/SmallTitle-client-f0f3227bab50bebb96a327101961d6496c4b6586.ts +0 -36
  953. package/test/special-component/components/temp/SmallTitle-server-714ee28840dafde47596814aad7232d2bf3940fe.ts +0 -21
  954. package/test/special-component/components/temp/SmallTitle-types-629b435eb6f9a402ff576511db3e1d150f8c612b.ts +0 -10
  955. package/test/special-element/components/Element.torp +0 -7
  956. package/test/special-element/components/output/Element-client.ts +0 -39
  957. package/test/special-element/components/temp/Element-client-23fef3e11ab8dc78463d8da4b349d4151a6823a8.ts +0 -39
  958. package/test/special-head/components/Head.torp +0 -5
  959. package/test/special-head/components/output/Head-client.ts +0 -25
  960. package/test/special-head/components/temp/Head-client-cee01a372b59ea6d708fa0a8036658ff586093e2.ts +0 -25
  961. package/test/special-self/components/Self.torp +0 -9
  962. package/test/special-self/components/output/Self-client.ts +0 -76
  963. package/test/special-self/components/temp/Self-client-fb940707018d8f13a018e34c7e032586eab56f97.ts +0 -76
  964. package/test/style/components/Style.torp +0 -7
  965. package/test/style/components/temp/Style-client-f321541fd176424a7e8dad3db90d0519ffeba0a9.ts +0 -35
  966. package/test/svg/components/Shape.torp +0 -12
  967. package/test/svg/components/output/Shape-client.ts +0 -73
  968. package/test/svg/components/temp/Shape-client-4194f6d0c068a021093dcaadf7b8b6fc9c189bf8.ts +0 -73
  969. package/test/switch/components/Switch.torp +0 -29
  970. package/test/switch/components/temp/Switch-client-96afd31d61d6e10e2e7f7d72873d7094ab6cdd16.ts +0 -90
  971. package/test/switch/switch-values.test.ts +0 -57
  972. package/test/text/components/Text.torp +0 -15
  973. package/test/text/components/temp/Text-client-4e4d536d08e0483bf1054070f48487474086be0f.ts +0 -44
  974. package/test/text/components/temp/Text-server-baea3dc3200f14f37125d3bba59c5463e220aeaa.ts +0 -24
  975. package/test/text/components/temp/Text-types-f9e6d77cf5a6def5aff78be41ebca3e8e6a54278.ts +0 -16
  976. package/test/watch-array/components/Array.torp +0 -14
  977. package/test/watch-array/components/ArrayEntries.torp +0 -15
  978. package/test/watch-array/components/ArrayIndexes.torp +0 -15
  979. package/test/watch-array/components/ArrayUnkeyed.torp +0 -13
  980. package/test/watch-array/components/output/Array-client.ts +0 -80
  981. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +0 -80
  982. package/test/watch-array/components/temp/Array-client-0743e918c3ac7f3277c64809af70cfcb4e603518.ts +0 -80
  983. package/test/watch-array/components/temp/ArrayEntries-client-1d83a3ae4f02357d53d54daf47ffb12a739c5793.ts +0 -82
  984. package/test/watch-array/components/temp/ArrayIndexes-client-10f461700a0b52c1f7ef1f15b7818c472e60f7ef.ts +0 -80
  985. package/test/watch-array/components/temp/ArrayUnkeyed-client-4446d86d01138d783e9de03749386eb19ee16724.ts +0 -80
  986. package/test/watch-object/components/Watched.torp +0 -9
  987. package/test/watch-object/components/output/Watched-client.ts +0 -36
  988. package/test/watch-object/components/temp/Watched-client-7d20fcb742a33f59403d70d68afc9b9d1616a0dd.ts +0 -36
  989. /package/src/{render → ssr}/$serverBatch.ts +0 -0
  990. /package/src/{render → ssr}/$serverCache.ts +0 -0
  991. /package/src/{render → ssr}/$serverMount.ts +0 -0
  992. /package/src/{render → ssr}/$serverPeek.ts +0 -0
  993. /package/src/{render → ssr}/$serverRun.ts +0 -0
  994. /package/src/{render → ssr}/$serverUnwrap.ts +0 -0
  995. /package/src/{render → ssr}/$serverWatch.ts +0 -0
  996. /package/src/{render → watch}/$stream.ts +0 -0
  997. /package/test/child-component/components/output/{ParentChild-server.ts → ChildComponent-server.ts} +0 -0
  998. /package/test/child-component/components/output/{ParentChild-types.ts → ChildComponent-types.ts} +0 -0
  999. /package/test/child-component/components/temp/{ParentChild-server-ec2d2faa587fb40711072956f1eb4a4eed9510d3.ts → ChildComponent-server-ec2d2faa587fb40711072956f1eb4a4eed9510d3.ts} +0 -0
  1000. /package/test/child-component/components/temp/{ParentChild-types-4d26850ef18600f398f7aa9c4502071349bf5624.ts → ChildComponent-types-4d26850ef18600f398f7aa9c4502071349bf5624.ts} +0 -0
  1001. /package/test/context/components/output/{Parent-types.ts → Context-types.ts} +0 -0
  1002. /package/test/context/components/temp/{Parent-types-e6be7d1cf118d7a8927af59db780010392966d01.ts → Context-types-e6be7d1cf118d7a8927af59db780010392966d01.ts} +0 -0
  1003. /package/test/effects/components/output/{For-server.ts → ForEffect-server.ts} +0 -0
  1004. /package/test/effects/components/output/{For-types.ts → ForEffect-types.ts} +0 -0
  1005. /package/test/effects/components/output/{If-server.ts → IfEffect-server.ts} +0 -0
  1006. /package/test/effects/components/output/{If-types.ts → IfEffect-types.ts} +0 -0
  1007. /package/test/effects/components/output/{NestedIf-server.ts → NestedIfEffect-server.ts} +0 -0
  1008. /package/test/effects/components/output/{NestedIf-types.ts → NestedIfEffect-types.ts} +0 -0
  1009. /package/test/effects/components/temp/{For-server-3211305e6a2145f78bc3e14d2f26b7db0e192ec1.ts → ForEffect-server-3211305e6a2145f78bc3e14d2f26b7db0e192ec1.ts} +0 -0
  1010. /package/test/effects/components/temp/{For-types-cfec41b41b054674bf8b01ce0e0003c8a6640a82.ts → ForEffect-types-cfec41b41b054674bf8b01ce0e0003c8a6640a82.ts} +0 -0
  1011. /package/test/effects/components/temp/{If-server-81d8f48c6fcb57d99a18b394f8a6320adfb5f864.ts → IfEffect-server-81d8f48c6fcb57d99a18b394f8a6320adfb5f864.ts} +0 -0
  1012. /package/test/effects/components/temp/{If-types-7b245b6e531e122e0d0cfb72903bb88223b98793.ts → IfEffect-types-7b245b6e531e122e0d0cfb72903bb88223b98793.ts} +0 -0
  1013. /package/test/effects/components/temp/{NestedIf-server-78aa084b0f5ff89c543ce3287254bc3269450090.ts → NestedIfEffect-server-78aa084b0f5ff89c543ce3287254bc3269450090.ts} +0 -0
  1014. /package/test/effects/components/temp/{NestedIf-types-0912466d777f52f3616557823a7e47f5901cb755.ts → NestedIfEffect-types-0912466d777f52f3616557823a7e47f5901cb755.ts} +0 -0
  1015. /package/test/events/components/output/{Increment-types.ts → Events-types.ts} +0 -0
  1016. /package/test/events/components/temp/{Increment-types-f259dd221aa967b0426746303f1f2c33aeeaf068.ts → Events-types-f259dd221aa967b0426746303f1f2c33aeeaf068.ts} +0 -0
  1017. /package/test/if/components/output/{IfElseIf-server.ts → ElseIfTrue-server.ts} +0 -0
  1018. /package/test/if/components/output/{IfElseIf-types.ts → ElseIfTrue-types.ts} +0 -0
  1019. /package/test/if/components/{temp/IfElseIf-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts → output/ElseTrue-server.ts} +0 -0
  1020. /package/test/if/components/{temp/IfElseIf-types-a492d2b6e8517f598befca7127cd514244239984.ts → output/ElseTrue-types.ts} +0 -0
  1021. /package/test/if/components/output/{IfElse-server.ts → IfElseFalse-server.ts} +0 -0
  1022. /package/test/if/components/output/{IfElse-types.ts → IfElseFalse-types.ts} +0 -0
  1023. /package/test/if/components/{temp/IfElse-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts → output/IfElseTrue-server.ts} +0 -0
  1024. /package/test/if/components/{temp/IfElse-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts → output/IfElseTrue-types.ts} +0 -0
  1025. /package/test/party/components/output/{DoubleCount-types.ts → ComputedState-types.ts} +0 -0
  1026. /package/test/party/components/output/{TrafficLight-types.ts → Conditional-types.ts} +0 -0
  1027. /package/test/party/components/output/{UserProfileContextApp-types.ts → Context-types.ts} +0 -0
  1028. /package/test/party/components/output/{Name-types.ts → DeclareState-types.ts} +0 -0
  1029. /package/test/party/components/output/{InputFocused-types.ts → DomRef-types.ts} +0 -0
  1030. /package/test/party/components/output/{AnswerButtonApp-types.ts → EmitToParent-types.ts} +0 -0
  1031. /package/test/party/components/output/{Counter-types.ts → EventClick-types.ts} +0 -0
  1032. /package/test/party/components/output/{IsAvailable-types.ts → InputCheckbox-types.ts} +0 -0
  1033. /package/test/party/components/output/{PickPill-types.ts → InputRadio-types.ts} +0 -0
  1034. /package/test/party/components/output/{ColorSelect-types.ts → InputSelect-types.ts} +0 -0
  1035. /package/test/party/components/output/{InputHello-types.ts → InputText-types.ts} +0 -0
  1036. /package/test/party/components/output/{Colors-server.ts → Loop-server.ts} +0 -0
  1037. /package/test/party/components/output/{Colors-types.ts → Loop-types.ts} +0 -0
  1038. /package/test/party/components/output/{HelloWorld-server.ts → MinimalTemplate-server.ts} +0 -0
  1039. /package/test/party/components/output/{HelloWorld-types.ts → MinimalTemplate-types.ts} +0 -0
  1040. /package/test/party/components/output/{PageTitle-types.ts → OnMount-types.ts} +0 -0
  1041. /package/test/party/components/output/{UserProfileApp-types.ts → Props-types.ts} +0 -0
  1042. /package/test/party/components/output/{FunnyButtonApp-types.ts → Slot-types.ts} +0 -0
  1043. /package/test/party/components/{temp/FunnyButtonApp-types-ea73d641565a4478759166f462206dd97c92cedd.ts → output/SlotFallback-types.ts} +0 -0
  1044. /package/test/party/components/output/{CssStyle-server.ts → Styling-server.ts} +0 -0
  1045. /package/test/party/components/output/{CssStyle-types.ts → Styling-types.ts} +0 -0
  1046. /package/test/party/components/output/{NameUpdate-types.ts → UpdateState-types.ts} +0 -0
  1047. /package/test/party/components/temp/{DoubleCount-types-436bd75fe7808c3a30389aeb1740aea361aa8681.ts → ComputedState-types-436bd75fe7808c3a30389aeb1740aea361aa8681.ts} +0 -0
  1048. /package/test/party/components/temp/{TrafficLight-types-d301a2317da01a215fc8e5222dc6ff87226fa250.ts → Conditional-types-d301a2317da01a215fc8e5222dc6ff87226fa250.ts} +0 -0
  1049. /package/test/party/components/temp/{UserProfileContextApp-types-d04199ab7d43ecc12ceccb7a0bef7ff38ac1e8b1.ts → Context-types-d04199ab7d43ecc12ceccb7a0bef7ff38ac1e8b1.ts} +0 -0
  1050. /package/test/party/components/temp/{Name-types-06f89338c785a1fd352ed7de3ebe02b30722760d.ts → DeclareState-types-06f89338c785a1fd352ed7de3ebe02b30722760d.ts} +0 -0
  1051. /package/test/party/components/temp/{InputFocused-types-33da14c13216ca00edaa8f02508db21f5cd32d31.ts → DomRef-types-33da14c13216ca00edaa8f02508db21f5cd32d31.ts} +0 -0
  1052. /package/test/party/components/temp/{AnswerButtonApp-types-10a6f55029e859366f9a3a73cdcdb3f63e89dbeb.ts → EmitToParent-types-10a6f55029e859366f9a3a73cdcdb3f63e89dbeb.ts} +0 -0
  1053. /package/test/party/components/temp/{Counter-types-206b0704ee2e25f5f3198d716fa524295581c075.ts → EventClick-types-206b0704ee2e25f5f3198d716fa524295581c075.ts} +0 -0
  1054. /package/test/party/components/temp/{IsAvailable-types-23d4e196c659901c347a7b3e5c9e4a6668234adb.ts → InputCheckbox-types-23d4e196c659901c347a7b3e5c9e4a6668234adb.ts} +0 -0
  1055. /package/test/party/components/temp/{PickPill-types-526e2bb4c36ec1bed87eaf5722093a0eaefcd9d3.ts → InputRadio-types-526e2bb4c36ec1bed87eaf5722093a0eaefcd9d3.ts} +0 -0
  1056. /package/test/party/components/temp/{ColorSelect-types-e652a36ebdd98e8c23a8de3156c4499023f09301.ts → InputSelect-types-e652a36ebdd98e8c23a8de3156c4499023f09301.ts} +0 -0
  1057. /package/test/party/components/temp/{InputHello-types-ab629048402441fde9a292bc2d376c0deea482a8.ts → InputText-types-ab629048402441fde9a292bc2d376c0deea482a8.ts} +0 -0
  1058. /package/test/party/components/temp/{Colors-server-7a462b2de89d0d49b878c794b874ddc1bc518c50.ts → Loop-server-7a462b2de89d0d49b878c794b874ddc1bc518c50.ts} +0 -0
  1059. /package/test/party/components/temp/{Colors-types-075975e9b9074b49f96f99d660f0ee580546a630.ts → Loop-types-075975e9b9074b49f96f99d660f0ee580546a630.ts} +0 -0
  1060. /package/test/party/components/temp/{HelloWorld-server-8ab84a3653ec59bd140782dcd7aea0d16abf0019.ts → MinimalTemplate-server-8ab84a3653ec59bd140782dcd7aea0d16abf0019.ts} +0 -0
  1061. /package/test/party/components/temp/{HelloWorld-types-3c153ac7af343dbce6cb081f1ae1b4f85d7f0b10.ts → MinimalTemplate-types-3c153ac7af343dbce6cb081f1ae1b4f85d7f0b10.ts} +0 -0
  1062. /package/test/party/components/temp/{PageTitle-types-dfb55ea9b607c89167dbd7538523a484a6eec300.ts → OnMount-types-dfb55ea9b607c89167dbd7538523a484a6eec300.ts} +0 -0
  1063. /package/test/party/components/temp/{UserProfileApp-types-3e70c106e03c68b4aa06c2fe21dfeceffe7cc313.ts → Props-types-3e70c106e03c68b4aa06c2fe21dfeceffe7cc313.ts} +0 -0
  1064. /package/test/party/components/temp/{CssStyle-server-781c357ad52d626180f766a0301a4ee05db4bdf1.ts → Styling-server-781c357ad52d626180f766a0301a4ee05db4bdf1.ts} +0 -0
  1065. /package/test/party/components/temp/{CssStyle-types-f1ce4f0b03d404c70704f271ce9bfc5d5107346c.ts → Styling-types-f1ce4f0b03d404c70704f271ce9bfc5d5107346c.ts} +0 -0
  1066. /package/test/party/components/temp/{NameUpdate-types-9c69805006d2d3bb457c5d4d87db8baeb431aeb6.ts → UpdateState-types-9c69805006d2d3bb457c5d4d87db8baeb431aeb6.ts} +0 -0
  1067. /package/test/slots/components/output/{Basic-types.ts → BasicSlot-types.ts} +0 -0
  1068. /package/test/slots/components/output/{Let-types.ts → LetSlot-types.ts} +0 -0
  1069. /package/test/slots/components/output/{Named-types.ts → NamedSlot-types.ts} +0 -0
  1070. /package/test/slots/components/output/{Unused-types.ts → UnusedSlot-types.ts} +0 -0
  1071. /package/test/slots/components/temp/{Basic-types-709765786c453e34088db3e894a59fb3332d3ed1.ts → BasicSlot-types-709765786c453e34088db3e894a59fb3332d3ed1.ts} +0 -0
  1072. /package/test/slots/components/temp/{Let-types-3d05614de77a23df63a3cc1873b27ce1b0148c58.ts → LetSlot-types-3d05614de77a23df63a3cc1873b27ce1b0148c58.ts} +0 -0
  1073. /package/test/slots/components/temp/{Named-types-ed10fb6338eb9bd67281b9658bd7b10b572d346a.ts → NamedSlot-types-ed10fb6338eb9bd67281b9658bd7b10b572d346a.ts} +0 -0
  1074. /package/test/slots/components/temp/{Unused-types-88f7e38611b4cae1067969cf702cde41422837ae.ts → UnusedSlot-types-88f7e38611b4cae1067969cf702cde41422837ae.ts} +0 -0
  1075. /package/test/special-component/components/output/{Component-types.ts → SpecialComponent-types.ts} +0 -0
  1076. /package/test/special-component/components/temp/{Component-types-196e5e5c55f61a9d24837f8de1fb9e9eeb2dd3f1.ts → SpecialComponent-types-196e5e5c55f61a9d24837f8de1fb9e9eeb2dd3f1.ts} +0 -0
  1077. /package/test/special-element/components/output/{Element-server.ts → SpecialElement-server.ts} +0 -0
  1078. /package/test/special-element/components/output/{Element-types.ts → SpecialElement-types.ts} +0 -0
  1079. /package/test/special-element/components/temp/{Element-server-95a4f433ff0a417556de779629f99b39885c6671.ts → SpecialElement-server-95a4f433ff0a417556de779629f99b39885c6671.ts} +0 -0
  1080. /package/test/special-element/components/temp/{Element-types-478aac6fcc8cc71dc587b534bb45ddcde069e2cb.ts → SpecialElement-types-478aac6fcc8cc71dc587b534bb45ddcde069e2cb.ts} +0 -0
  1081. /package/test/special-head/components/output/{Head-server.ts → SpecialHead-server.ts} +0 -0
  1082. /package/test/special-head/components/output/{Head-types.ts → SpecialHead-types.ts} +0 -0
  1083. /package/test/special-head/components/temp/{Head-server-8a44ede68129efa2ee87425cec6e959e59bdd15b.ts → SpecialHead-server-8a44ede68129efa2ee87425cec6e959e59bdd15b.ts} +0 -0
  1084. /package/test/special-head/components/temp/{Head-types-88772e6c9aefe7f65c342350ad45b29e7fa16604.ts → SpecialHead-types-88772e6c9aefe7f65c342350ad45b29e7fa16604.ts} +0 -0
  1085. /package/test/special-self/components/output/{Self-server.ts → SpecialSelf-server.ts} +0 -0
  1086. /package/test/special-self/components/output/{Self-types.ts → SpecialSelf-types.ts} +0 -0
  1087. /package/test/special-self/components/temp/{Self-server-6693e5b04f32373b538a43e9e2070ce3a8384882.ts → SpecialSelf-server-6693e5b04f32373b538a43e9e2070ce3a8384882.ts} +0 -0
  1088. /package/test/special-self/components/temp/{Self-types-d438955d6f42951942dfa72ec1b79ad4ee95e966.ts → SpecialSelf-types-d438955d6f42951942dfa72ec1b79ad4ee95e966.ts} +0 -0
  1089. /package/test/svg/components/output/{Shape-server.ts → Svg-server.ts} +0 -0
  1090. /package/test/svg/components/output/{Shape-types.ts → Svg-types.ts} +0 -0
  1091. /package/test/svg/components/temp/{Shape-server-b9b60e589502533127c30e89967d9dec0828d1a5.ts → Svg-server-b9b60e589502533127c30e89967d9dec0828d1a5.ts} +0 -0
  1092. /package/test/svg/components/temp/{Shape-types-70f9e311a005452b58286636c0dcb67a73e9fab4.ts → Svg-types-70f9e311a005452b58286636c0dcb67a73e9fab4.ts} +0 -0
  1093. /package/test/watch-array/components/output/{Array-server.ts → ArrayAllFunctions-server.ts} +0 -0
  1094. /package/test/watch-array/components/output/{Array-types.ts → ArrayAllFunctions-types.ts} +0 -0
  1095. /package/test/watch-array/components/output/{ArrayUnkeyed-server.ts → ArrayAllFunctionsUnkeyed-server.ts} +0 -0
  1096. /package/test/watch-array/components/output/{ArrayUnkeyed-types.ts → ArrayAllFunctionsUnkeyed-types.ts} +0 -0
  1097. /package/test/watch-array/components/{temp/Array-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts → output/ArrayEmpty-server.ts} +0 -0
  1098. /package/test/watch-array/components/{temp/Array-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts → output/ArrayEmpty-types.ts} +0 -0
  1099. /package/test/watch-array/components/temp/{ArrayUnkeyed-server-322c441892520db8657a2a9d9d7e85f5c46794f2.ts → ArrayAllFunctionsUnkeyed-server-322c441892520db8657a2a9d9d7e85f5c46794f2.ts} +0 -0
  1100. /package/test/watch-array/components/temp/{ArrayUnkeyed-types-6f544a6b354c46913b9ee0e843d0a6482af2745d.ts → ArrayAllFunctionsUnkeyed-types-6f544a6b354c46913b9ee0e843d0a6482af2745d.ts} +0 -0
  1101. /package/test/watch-object/components/output/{Watched-server.ts → WatchObject-server.ts} +0 -0
  1102. /package/test/watch-object/components/output/{Watched-types.ts → WatchObject-types.ts} +0 -0
  1103. /package/test/watch-object/components/temp/{Watched-server-a31141b2d513f4d7244698e72f3888524fd8e55e.ts → WatchObject-server-a31141b2d513f4d7244698e72f3888524fd8e55e.ts} +0 -0
  1104. /package/test/watch-object/components/temp/{Watched-types-70c7bde732f624bfbb8e353bf9d1be8dbaea63e1.ts → WatchObject-types-70c7bde732f624bfbb8e353bf9d1be8dbaea63e1.ts} +0 -0
package/dist/compile.cjs CHANGED
@@ -61,14 +61,14 @@ var Builder = class {
61
61
 
62
62
  //#endregion
63
63
  //#region src/compile/build/client/addMappedText.ts
64
- function addMappedText(preText, text, postText, range, status, b) {
65
- if (status.options?.mapped) {
64
+ function addMappedText(preText, text, postText, span, status, b) {
65
+ if (status.options.mapped === true) {
66
66
  let start = b.toString().length + preText.length;
67
67
  b.append(preText + text + postText);
68
- let end = start + text.length - postText.length;
68
+ let end = start + text.length;
69
69
  status.map.push({
70
70
  script: text,
71
- source: range,
71
+ source: span,
72
72
  compiled: {
73
73
  start,
74
74
  end
@@ -77,6 +77,27 @@ function addMappedText(preText, text, postText, range, status, b) {
77
77
  } else b.append(preText + text + postText);
78
78
  }
79
79
 
80
+ //#endregion
81
+ //#region src/compile/build/client/addPopDevBoundary.ts
82
+ function addPopDevBoundary(status, b) {
83
+ if (status.options.dev === true) {
84
+ status.imports.add("t_pop_dev_bound");
85
+ b.append("");
86
+ b.append(`t_pop_dev_bound();`);
87
+ }
88
+ }
89
+
90
+ //#endregion
91
+ //#region src/compile/build/client/addPushDevBoundary.ts
92
+ function addPushDevBoundary(type, name, status, b) {
93
+ if (status.options.dev === true) {
94
+ status.imports.add("t_push_dev_bound");
95
+ if (!(name.startsWith("'") && name.endsWith("'") || name.startsWith("\"") && name.endsWith("\"") || name.startsWith("`") || name.endsWith("`"))) name = `"${name}"`;
96
+ b.append(`t_push_dev_bound("${type}", ${name});`);
97
+ b.append("");
98
+ }
99
+ }
100
+
80
101
  //#endregion
81
102
  //#region src/compile/types/comments.ts
82
103
  const ANCHOR_COMMENT = "<!>";
@@ -285,14 +306,14 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
285
306
  status.imports.add("t_add_fragment");
286
307
  if (fragment.effects.length > 0) {
287
308
  status.imports.add("$run");
288
- b.append(`$run(function setAttributes() {`);
289
- if (status.options?.mapped) for (let effect of fragment.effects) for (let i = 0; i < effect.ranges.length; i++) {
309
+ b.append("$run(() => {");
310
+ if (status.options.mapped === true) for (let effect of fragment.effects) for (let i = 0; i < effect.spans.length; i++) {
290
311
  let start = b.toString().length + effect.offsets[i];
291
312
  b.append(effect.functionBody);
292
313
  let end = start + effect.lengths[i];
293
314
  status.map.push({
294
315
  script: effect.functionBody,
295
- source: effect.ranges[i],
316
+ source: effect.spans[i],
296
317
  compiled: {
297
318
  start,
298
319
  end
@@ -300,7 +321,7 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
300
321
  });
301
322
  }
302
323
  else b.append(fragment.effects.map((e) => e.functionBody).join("\n"));
303
- b.append("});");
324
+ b.append(`}${status.options.dev === true ? `, "setAttributes"` : ""});`);
304
325
  }
305
326
  let params = [
306
327
  fragmentName,
@@ -372,7 +393,7 @@ function buildFragment(node, status, b, parentName, anchorName) {
372
393
  if (node.fragment) {
373
394
  const fragment = node.fragment;
374
395
  const fragmentName = `t_fragment_${fragment.number}`;
375
- if (status.options?.useCreateElement) {
396
+ if (status.options.useCreateElement === true) {
376
397
  let fragmentPath = {
377
398
  parent: null,
378
399
  type: "fragment",
@@ -449,11 +470,9 @@ function declareControlFragmentVars(fragment, node, path, status, b, parentName,
449
470
  case "@for group":
450
471
  case "@await group":
451
472
  case "@replace group":
452
- case "@html group": {
453
- const operation = node.operation.substring(1).replace(" group", "");
454
- declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, operation, declare);
473
+ case "@html group":
474
+ declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, node.operation.substring(1).replace(" group", ""), declare);
455
475
  break;
456
- }
457
476
  default:
458
477
  for (let [i, child] of node.children.entries()) declareFragmentVars(fragment, child, path, status, b, parentName, anchorName, varPaths, i === node.children.length - 1, declare);
459
478
  break;
@@ -485,7 +504,7 @@ function declareElementFragmentVars(fragment, node, path, status, b, parentName,
485
504
  node.varName = nextVarName(tagName, status);
486
505
  if (topLevel) fragment.endVarName = node.varName;
487
506
  const varPath = getFragmentVarPath(fragment, status, node.varName, elementPath, varPaths);
488
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
507
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
489
508
  else if (node.tagName === "@element") b.append(`let ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
490
509
  else {
491
510
  b.append(`const ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
@@ -530,7 +549,7 @@ function declareTextFragmentVars(fragment, node, path, status, b, varPaths, last
530
549
  node.varName = nextVarName("text", status);
531
550
  if (topLevel) fragment.endVarName = node.varName;
532
551
  const varPath = getFragmentVarPath(fragment, status, node.varName, textPath, varPaths);
533
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
552
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
534
553
  else {
535
554
  b.append(`const ${node.varName} = ${varPath};`);
536
555
  printDebug(node.varName, status, b);
@@ -575,7 +594,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
575
594
  if (varPaths.has(parentVarPath)) node.parentName = varPaths.get(parentVarPath);
576
595
  else if (declare) {
577
596
  node.parentName = nextVarName(`${name}_parent`, status);
578
- if (status.options?.useCreateElement) b.append(`let ${node.parentName} as HTMLElement;`);
597
+ if (status.options.useCreateElement === true) b.append(`let ${node.parentName} as HTMLElement;`);
579
598
  else {
580
599
  b.append(`const ${node.parentName} = ${parentVarPath} as HTMLElement;`);
581
600
  printDebug(node.parentName, status, b);
@@ -592,7 +611,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
592
611
  path.children.push(anchorPath);
593
612
  node.varName = nextVarName(`${name}_anchor`, status);
594
613
  const anchorVarPath = getFragmentVarPath(fragment, status, node.varName, anchorPath, varPaths);
595
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
614
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
596
615
  else {
597
616
  status.imports.add("t_anchor");
598
617
  b.append(`let ${node.varName} = t_anchor(${anchorVarPath}) as HTMLElement;`);
@@ -629,8 +648,7 @@ function getFragmentVarPath(fragment, status, name, path, varPaths) {
629
648
  break;
630
649
  } else level--;
631
650
  const tail = varPath.substring(end + count);
632
- const param = varPath.substring(pos + match.length, end);
633
- varPath = `${head}t_skip(${param}, ${count})${tail}`;
651
+ varPath = `${head}t_skip(${varPath.substring(pos + match.length, end)}, ${count})${tail}`;
634
652
  }
635
653
  varPath = varPath.replaceAll("t_next_text", "t_next");
636
654
  return varPath;
@@ -661,7 +679,7 @@ function printDebug(varName, status, b) {}
661
679
  * Variables used within a for loop need to be retrieved from the loop data.
662
680
  */
663
681
  function replaceForVarNames(value, status) {
664
- for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{)${varName}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1t_item.data.${varName}$2`);
682
+ for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{|!)${varName[0]}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1${varName[1]}$2`);
665
683
  return value;
666
684
  }
667
685
 
@@ -669,10 +687,12 @@ function replaceForVarNames(value, status) {
669
687
  //#region src/compile/build/client/buildRun.ts
670
688
  function buildRun(functionName, functionBody, status, b) {
671
689
  functionBody = replaceForVarNames(functionBody, status);
690
+ addPushDevBoundary("run", functionName, status, b);
672
691
  status.imports.add("$run");
673
- b.append(`$run(function ${functionName}() {`);
692
+ b.append("$run(() => {");
674
693
  b.append(functionBody);
675
- b.append("});");
694
+ b.append(`}${status.options.dev === true ? `, "${functionName}"` : ""});`);
695
+ addPopDevBoundary(status, b);
676
696
  }
677
697
 
678
698
  //#endregion
@@ -684,24 +704,48 @@ function buildComponentNode(node, status, b, root = false) {
684
704
  const propsName = componentHasProps ? nextVarName("props", status) : "undefined";
685
705
  if (componentHasProps) {
686
706
  status.imports.add("$watch");
687
- b.append(`const ${propsName}: any = $watch({});`);
707
+ let props = [];
708
+ let runs = [];
709
+ let bindingRuns = [];
688
710
  for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@component") {} else if (name.startsWith("&") && value != null && fullyReactive) {
689
711
  name = name.substring(1);
690
- buildRun("setProp", `${propsName}["${name}"] = ${value};`, status, b);
691
- buildRun("setBinding", `${value} = ${propsName}["${name}"];`, status, b);
712
+ props.push({
713
+ name,
714
+ value
715
+ });
716
+ runs.push(`${propsName}["${name}"] = ${value};`);
717
+ bindingRuns.push(`${value} = ${propsName}["${name}"];`);
692
718
  } else if (name === "class" && value != null) {
693
719
  status.imports.add("t_class");
694
720
  const params = [value];
695
721
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
696
- buildRun("setClasses", `${propsName}["class"] = t_class(${params.join(", ")});`, status, b);
722
+ value = `t_class(${params.join(", ")})`;
723
+ props.push({
724
+ name,
725
+ value
726
+ });
727
+ runs.push(`${propsName}["${name}"] = ${value};`);
697
728
  } else if (name === "style" && value != null) {
698
729
  status.imports.add("t_style");
699
- buildRun("setStyles", `${propsName}["style"] = t_style(${value});`, status, b);
730
+ value = `t_style(${value})`;
731
+ props.push({
732
+ name,
733
+ value
734
+ });
735
+ runs.push(`${propsName}["${name}"] = ${value};`);
700
736
  } else if (value != null) {
701
- const setProp = `${propsName}["${name}"] = ${value};`;
702
- if (reactive) buildRun("setProp", setProp, status, b);
703
- else b.append(setProp);
704
- } else b.append(`${propsName}["${name}"] = true;`);
737
+ props.push({
738
+ name,
739
+ value
740
+ });
741
+ if (reactive) runs.push(`${propsName}["${name}"] = ${value};`);
742
+ } else props.push({
743
+ name,
744
+ value: "true"
745
+ });
746
+ b.append(`const ${propsName} = $watch({ ${replaceForVarNames(props.map((p) => `${p.name}: ${p.value}`).join(", "), status)} });`);
747
+ if (runs.length) buildRun("setProps", replaceForVarNames(runs.join("\n"), status), status, b);
748
+ if (bindingRuns.length) buildRun("setBindings", replaceForVarNames(bindingRuns.join("\n"), status), status, b);
705
749
  if (root) {
706
750
  status.imports.add("$run");
707
751
  b.append(`
@@ -740,16 +784,14 @@ function buildComponentNode(node, status, b, root = false) {
740
784
  b.append(`}`);
741
785
  }
742
786
  }
743
- const compParentName = node.parentName;
744
- const compAnchorName = node.varName;
745
- let renderParams = `${compParentName}, ${compAnchorName}, ${propsName}, $context`;
787
+ let renderParams = `${node.parentName}, ${node.varName}, ${propsName}, $context`;
746
788
  if (slotsName !== "undefined") renderParams += `, ${slotsName}`;
747
789
  let componentName = node.tagName;
748
790
  if (componentName === "@component") {
749
791
  let selfAttribute = node.attributes.find((a) => a.name === "self");
750
792
  if (selfAttribute && selfAttribute.value && selfAttribute.fullyReactive) componentName = selfAttribute.value;
751
793
  }
752
- addMappedText("", `${componentName}(${renderParams})`, ";", node.range, status, b);
794
+ addMappedText("", `${componentName}(${renderParams})`, ";", node.span, status, b);
753
795
  b.append("");
754
796
  }
755
797
 
@@ -777,7 +819,7 @@ function trimMatched(text, startChar, endChar) {
777
819
  function buildAwaitNode(node, status, b) {
778
820
  const anchorName = node.varName;
779
821
  const parentName = node.parentName;
780
- const rangeName = nextVarName("await_range", status);
822
+ const regionName = nextVarName("await_region", status);
781
823
  const stateName = "$" + nextVarName("await_state", status);
782
824
  const creatorsName = nextVarName("await_creators", status);
783
825
  const awaitVarsName = nextVarName("await_vars", status);
@@ -790,7 +832,7 @@ function buildAwaitNode(node, status, b) {
790
832
  operation: "@then",
791
833
  statement: "then",
792
834
  children: [],
793
- range: {
835
+ span: {
794
836
  start: 0,
795
837
  end: 0
796
838
  }
@@ -801,7 +843,7 @@ function buildAwaitNode(node, status, b) {
801
843
  operation: "@catch",
802
844
  statement: "catch",
803
845
  children: [],
804
- range: {
846
+ span: {
805
847
  start: 0,
806
848
  end: 0
807
849
  }
@@ -811,43 +853,46 @@ function buildAwaitNode(node, status, b) {
811
853
  const catchVar = trimMatched(catchBranch.statement.substring(5).trim(), "(", ")");
812
854
  status.imports.add("$watch");
813
855
  status.imports.add("$run");
814
- status.imports.add("t_range");
856
+ status.imports.add("t_region");
815
857
  status.imports.add("t_run_control");
816
858
  status.imports.add("t_run_branch");
817
859
  b.append("");
860
+ b.append("/* @await */");
861
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
818
862
  b.append(`
819
- /* @await */
820
- const ${rangeName} = t_range();
863
+ const ${regionName} = t_region(${status.options.dev === true ? `"await"` : ""});
821
864
  let ${stateName} = $watch({ index: -1 });
822
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
823
- b.append(`
865
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
824
866
  let ${awaitVarsName} = { t_token: 0 };
825
- $run(function runAwait() {`);
867
+ $run(() => {`);
826
868
  let index = 0;
827
869
  buildAwaitBranch(awaitBranch, status, b, parentName, stateName, creatorsName, index++);
828
- b.append(`${awaitVarsName}.t_token++;
829
- ((t_token) => {`);
830
- awaitBranch.range.start += 7;
831
- addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.range, status, b);
832
- thenBranch.range.start -= 1;
833
- addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.range, status, b);
870
+ b.append(`
871
+ ${awaitVarsName}.t_token++;
872
+ ((t_token) => {`);
873
+ awaitBranch.span.start += 7;
874
+ addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.span, status, b);
875
+ thenBranch.span.start -= 1;
876
+ addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.span, status, b);
834
877
  b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
835
878
  buildAwaitBranch(thenBranch, status, b, parentName, stateName, creatorsName, index++);
836
879
  b.append(`}
837
880
  })`);
838
- catchBranch.range.start -= 1;
839
- addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.range, status, b);
840
- b.append(`
841
- if (t_token === ${awaitVarsName}.t_token) {`);
881
+ catchBranch.span.start -= 1;
882
+ addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.span, status, b);
883
+ b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
842
884
  buildAwaitBranch(catchBranch, status, b, parentName, stateName, creatorsName, index++);
843
885
  b.append(`}
844
886
  });
845
887
  })(${awaitVarsName}.t_token);
846
- });`);
888
+ }${status.options.dev === true ? `, "runAwait"` : ""});`);
847
889
  b.append(`
848
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
849
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
850
- });`);
890
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
891
+ const index = ${stateName}.index;`);
892
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
893
+ addPopDevBoundary(status, b);
894
+ b.append("});");
895
+ addPopDevBoundary(status, b);
851
896
  b.append("");
852
897
  }
853
898
  function buildAwaitBranch(node, status, b, parentName, stateName, creatorsName, index) {
@@ -888,8 +933,8 @@ const forLoopRegex = /for\s*\((.+?);.*?;.*?\)/;
888
933
  const forLoopVarsRegex = /(?:let\s+|var\s+){0,1}([^\s,;+=]+)(?:\s*=\s*[^,;]+){0,1}/g;
889
934
  const forOfRegex = /for\s*\(\s*(?:let\s*|var\s*){0,1}(.+?)\s+(?:of|in).*?\)/;
890
935
  function buildForNode(node, status, b) {
891
- const forParentName = node.parentName;
892
- const forAnchorName = node.varName;
936
+ const parentName = node.parentName;
937
+ const anchorName = node.varName;
893
938
  node = node.children[0];
894
939
  const forVarNames = [];
895
940
  const forIndexMatch = node.statement.match(forLoopRegex);
@@ -904,65 +949,76 @@ function buildForNode(node, status, b) {
904
949
  else forVarNames.push(match);
905
950
  }
906
951
  }
907
- const forRangeName = nextVarName("for_range", status);
952
+ const regionName = nextVarName("for_region", status);
953
+ const listItemsName = nextVarName("new_items", status);
954
+ const previousItemName = nextVarName("previous_item", status);
955
+ const nextItemName = nextVarName("next_item", status);
956
+ const newItemName = nextVarName("new_item", status);
957
+ const itemName = nextVarName("item", status);
958
+ const beforeName = nextVarName("before", status);
908
959
  const key = node.children.find((n) => n.type === "control" && n.operation === "@key");
909
960
  let keyStatement = key ? key.statement : "";
910
961
  if (keyStatement) keyStatement = trimEnd(keyStatement.substring(keyStatement.indexOf("=") + 1).trim(), ";");
911
- status.imports.add("t_range");
962
+ status.imports.add("t_region");
912
963
  status.imports.add("t_run_list");
913
964
  status.imports.add("t_list_item");
914
965
  status.imports.add("ListItem");
915
966
  b.append("");
967
+ b.append("/* @for */");
968
+ addPushDevBoundary("control", `@${node.statement}`, status, b);
916
969
  b.append(`
917
- /* @for */
918
- let ${forRangeName} = t_range();
919
- t_run_list(
920
- ${forRangeName},
921
- ${forParentName},
922
- ${forAnchorName},
923
- function createNewItems() {
924
- let t_new_items: ListItem[] = [];
925
- let t_previous_item = ${forRangeName};
926
- let t_next_item = ${forRangeName}.nextRange;`);
927
- addMappedText("", `${node.statement}`, " {", node.range, status, b);
970
+ let ${regionName} = t_region(${status.options.dev === true ? `"for"` : ""});
971
+ t_run_list(
972
+ ${regionName},
973
+ ${parentName},
974
+ ${anchorName},
975
+ ${status.options.dev === true ? "function createNewItems() {" : "() => {"}
976
+ let ${listItemsName}: ListItem[] = [];
977
+ let ${previousItemName} = ${regionName};
978
+ let ${nextItemName} = ${regionName}.nextRegion;`);
979
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
980
+ let params = [`{ ${forVarNames.join(",\n")} }`, keyStatement || "undefined"];
981
+ if (status.options.dev === true) params.push(`"for item"`);
928
982
  b.append(`
929
- let t_new_item = t_list_item({ ${forVarNames.join(",\n")} }${keyStatement ? `, ${keyStatement}` : ""});
930
- t_new_item.previousRange = t_previous_item;
931
- t_previous_item.nextRange = t_new_item;
932
- t_previous_item = t_new_item;
933
- t_new_items.push(t_new_item);
934
- }
935
- ${forRangeName}.nextRange = t_next_item;
936
- return t_new_items;
983
+ let ${newItemName} = t_list_item(${params.join(", ")});
984
+ ${newItemName}.previousRegion = ${previousItemName};
985
+ ${previousItemName}.nextRegion = ${newItemName};
986
+ ${previousItemName} = ${newItemName};
987
+ ${listItemsName}.push(${newItemName});
988
+ }
989
+ ${regionName}.nextRegion = ${nextItemName};
990
+ return ${listItemsName};
937
991
  },
938
- function createListItem(t_item, t_before) {`);
939
- status.forVarNames = forVarNames;
940
- buildForItem(node, status, b, forParentName);
941
- status.forVarNames = [];
992
+ ${status.options.dev === true ? `function createListItem(${itemName}, ${beforeName}) {` : `(${itemName}, ${beforeName}) => {`}`);
993
+ let oldForVarNames = status.forVarNames;
994
+ status.forVarNames = [...status.forVarNames, ...forVarNames.map((v) => [v, `${itemName}.data.${v}`])];
995
+ buildForItem(node, status, b, parentName, beforeName, itemName);
996
+ status.forVarNames = oldForVarNames;
942
997
  b.append(`},
943
- function updateListItem(t_old_item, t_new_item) {`);
998
+ ${status.options.dev === true ? "function updateListItem(t_old_item, t_new_item) {" : "(t_old_item, t_new_item) => {"}`);
944
999
  for (let varName of forVarNames) b.append(`t_old_item.data.${varName} = t_new_item.data.${varName};`);
945
1000
  b.append(`}
946
1001
  );`);
1002
+ addPopDevBoundary(status, b);
947
1003
  b.append("");
948
1004
  }
949
- function buildForItem(node, status, b, parentName) {
950
- const oldRangeName = nextVarName("old_range", status);
951
- status.imports.add("t_push_range");
952
- b.append(`let ${oldRangeName} = t_push_range(t_item);`);
953
- buildFragment(node, status, b, parentName, "t_before");
1005
+ function buildForItem(node, status, b, parentName, beforeName, itemName) {
1006
+ const oldRegionName = nextVarName("old_region", status);
1007
+ status.imports.add("t_push_region");
1008
+ b.append(`let ${oldRegionName} = t_push_region(${itemName});`);
1009
+ buildFragment(node, status, b, parentName, beforeName);
954
1010
  status.fragmentStack.push({
955
1011
  fragment: node.fragment,
956
1012
  path: ""
957
1013
  });
958
1014
  for (let child of node.children) {
959
1015
  if (isControlNode(child) && child.operation === "@key") continue;
960
- buildNode(child, status, b, parentName, "t_before");
1016
+ buildNode(child, status, b, parentName, beforeName);
961
1017
  }
962
1018
  status.fragmentStack.pop();
963
- buildAddFragment(node, status, b, parentName, "t_before");
964
- status.imports.add("t_pop_range");
965
- b.append(`t_pop_range(${oldRangeName});`);
1019
+ buildAddFragment(node, status, b, parentName, beforeName);
1020
+ status.imports.add("t_pop_region");
1021
+ b.append(`t_pop_region(${oldRegionName});`);
966
1022
  }
967
1023
 
968
1024
  //#endregion
@@ -970,30 +1026,30 @@ function buildForItem(node, status, b, parentName) {
970
1026
  function buildHtmlNode(node, status, b) {
971
1027
  const htmlAnchorName = node.varName;
972
1028
  const htmlParentName = node.parentName || htmlAnchorName + ".parentNode";
973
- const htmlRangeName = nextVarName("html_range", status);
1029
+ const htmlRegionName = nextVarName("html_region", status);
974
1030
  node = node.children[0];
975
- status.imports.add("t_range");
1031
+ status.imports.add("t_region");
976
1032
  status.imports.add("t_run_control");
977
1033
  b.append("");
978
1034
  b.append(`
979
1035
  /* @html */
980
- const ${htmlRangeName} = t_range();
981
- t_run_control(${htmlRangeName}, ${htmlAnchorName}, (t_before) => {`);
982
- buildHtmlBranch(node, status, b, htmlParentName, htmlRangeName);
983
- b.append("});");
1036
+ const ${htmlRegionName} = t_region(${status.options.dev === true ? `"html"` : ""});
1037
+ t_run_control(${htmlRegionName}, ${htmlAnchorName}, (t_before) => {`);
1038
+ buildHtmlBranch(node, status, b, htmlParentName, htmlRegionName);
1039
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
984
1040
  b.append("");
985
1041
  }
986
- function buildHtmlBranch(node, status, b, parentName, rangeName) {
1042
+ function buildHtmlBranch(node, status, b, parentName, regionName) {
987
1043
  status.imports.add("t_run_branch");
988
1044
  b.append(`${node.statement};`);
989
- b.append(`t_run_branch(${rangeName}, () => {`);
1045
+ b.append(`t_run_branch(${regionName}, () => {`);
990
1046
  const templateName = nextVarName("template", status);
991
1047
  const fragmentName = `t_fragment_${node.fragment.number}`;
992
1048
  b.append(`const ${templateName} = document.createElement("template");`);
993
1049
  b.append(`${templateName}.innerHTML = ${node.statement};`);
994
1050
  b.append(`let ${fragmentName} = ${templateName}.content.cloneNode(true) as DocumentFragment;`);
995
1051
  buildAddFragment(node, status, b, parentName, "t_before");
996
- b.append(`});`);
1052
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
997
1053
  }
998
1054
 
999
1055
  //#endregion
@@ -1001,7 +1057,7 @@ function buildHtmlBranch(node, status, b, parentName, rangeName) {
1001
1057
  function buildIfNode(node, status, b) {
1002
1058
  const anchorName = node.varName;
1003
1059
  const parentName = node.parentName || anchorName + ".parentNode";
1004
- const rangeName = nextVarName("if_range", status);
1060
+ const regionName = nextVarName("if_region", status);
1005
1061
  const stateName = "$" + nextVarName("if_state", status);
1006
1062
  const creatorsName = nextVarName("if_creators", status);
1007
1063
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1010,34 +1066,38 @@ function buildIfNode(node, status, b) {
1010
1066
  operation: "@else",
1011
1067
  statement: "else",
1012
1068
  children: [],
1013
- range: {
1069
+ span: {
1014
1070
  start: 0,
1015
1071
  end: 0
1016
1072
  }
1017
1073
  });
1018
1074
  status.imports.add("$watch");
1019
1075
  status.imports.add("$run");
1020
- status.imports.add("t_range");
1076
+ status.imports.add("t_region");
1021
1077
  status.imports.add("t_run_control");
1022
1078
  status.imports.add("t_run_branch");
1023
1079
  b.append("");
1080
+ b.append("/* @if */");
1081
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1024
1082
  b.append(`
1025
- /* @if */
1026
- const ${rangeName} = t_range();
1083
+ const ${regionName} = t_region(${status.options.dev === true ? `"if"` : ""});
1027
1084
  let ${stateName} = $watch({ index: -1 });
1028
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1029
- b.append(`$run(function runIf() {`);
1085
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1086
+ $run(() => {`);
1030
1087
  let index = 0;
1031
1088
  for (let branch of branches) buildIfBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1032
- b.append(`});`);
1089
+ b.append(`}${status.options.dev === true ? `, "runIf"` : ""});`);
1033
1090
  b.append(`
1034
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1035
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1036
- });`);
1091
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1092
+ const index = ${stateName}.index;`);
1093
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1094
+ addPopDevBoundary(status, b);
1095
+ b.append("});");
1096
+ addPopDevBoundary(status, b);
1037
1097
  b.append("");
1038
1098
  }
1039
1099
  function buildIfBranch(node, status, b, parentName, stateName, creatorsName, index) {
1040
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1100
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1041
1101
  if (node.children.length > 0) {
1042
1102
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1043
1103
  buildFragment(node, status, b, parentName, "t_before");
@@ -1059,23 +1119,23 @@ function buildIfBranch(node, status, b, parentName, stateName, creatorsName, ind
1059
1119
  function buildReplaceNode(node, status, b) {
1060
1120
  const replaceAnchorName = node.varName;
1061
1121
  const replaceParentName = node.parentName || replaceAnchorName + ".parentNode";
1062
- const replaceRangeName = nextVarName("replace_range", status);
1122
+ const replaceRegionName = nextVarName("replace_region", status);
1063
1123
  node = node.children[0];
1064
- status.imports.add("t_range");
1124
+ status.imports.add("t_region");
1065
1125
  status.imports.add("t_run_control");
1066
1126
  b.append("");
1067
1127
  b.append(`
1068
1128
  /* @replace */
1069
- const ${replaceRangeName} = t_range();
1070
- t_run_control(${replaceRangeName}, ${replaceAnchorName}, (t_before) => {`);
1071
- buildReplaceBranch(node, status, b, replaceParentName, replaceRangeName);
1072
- b.append("});");
1129
+ const ${replaceRegionName} = t_region(${status.options.dev === true ? `"replace"` : ""});
1130
+ t_run_control(${replaceRegionName}, ${replaceAnchorName}, (t_before) => {`);
1131
+ buildReplaceBranch(node, status, b, replaceParentName, replaceRegionName);
1132
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1073
1133
  b.append("");
1074
1134
  }
1075
- function buildReplaceBranch(node, status, b, parentName, rangeName) {
1135
+ function buildReplaceBranch(node, status, b, parentName, regionName) {
1076
1136
  status.imports.add("t_run_branch");
1077
1137
  b.append(`${replaceForVarNames(node.statement, status)};`);
1078
- b.append(`t_run_branch(${rangeName}, () => {`);
1138
+ b.append(`t_run_branch(${regionName}, () => {`);
1079
1139
  buildFragment(node, status, b, parentName, "t_before");
1080
1140
  status.fragmentStack.push({
1081
1141
  fragment: node.fragment,
@@ -1084,14 +1144,14 @@ function buildReplaceBranch(node, status, b, parentName, rangeName) {
1084
1144
  for (let child of node.children) buildNode(child, status, b, parentName, "t_before");
1085
1145
  status.fragmentStack.pop();
1086
1146
  buildAddFragment(node, status, b, parentName, "t_before");
1087
- b.append(`});`);
1147
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1088
1148
  }
1089
1149
 
1090
1150
  //#endregion
1091
1151
  //#region src/compile/build/client/buildScriptNode.ts
1092
1152
  function buildScriptNode(node, status, b) {
1093
1153
  b.append(`/* ${node.operation} */`);
1094
- addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.range, status, b);
1154
+ addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.span, status, b);
1095
1155
  }
1096
1156
  function maybeAppend$1(text, end) {
1097
1157
  if (!text.endsWith(end)) text += end;
@@ -1103,7 +1163,7 @@ function maybeAppend$1(text, end) {
1103
1163
  function buildSwitchNode(node, status, b) {
1104
1164
  const anchorName = node.varName;
1105
1165
  const parentName = node.parentName;
1106
- const rangeName = nextVarName("switch_range", status);
1166
+ const regionName = nextVarName("switch_region", status);
1107
1167
  const stateName = "$" + nextVarName("switch_state", status);
1108
1168
  const creatorsName = nextVarName("switch_creators", status);
1109
1169
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1112,38 +1172,41 @@ function buildSwitchNode(node, status, b) {
1112
1172
  operation: "@default",
1113
1173
  statement: "default",
1114
1174
  children: [],
1115
- range: {
1175
+ span: {
1116
1176
  start: 0,
1117
1177
  end: 0
1118
1178
  }
1119
1179
  });
1120
1180
  status.imports.add("$watch");
1121
1181
  status.imports.add("$run");
1122
- status.imports.add("t_range");
1182
+ status.imports.add("t_region");
1123
1183
  status.imports.add("t_run_control");
1124
1184
  status.imports.add("t_run_branch");
1125
1185
  b.append("");
1186
+ b.append("/* @switch */");
1187
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1126
1188
  b.append(`
1127
- /* @switch */
1128
- const ${rangeName} = t_range();
1189
+ const ${regionName} = t_region(${status.options.dev === true ? `"switch"` : ""});
1129
1190
  let ${stateName} = $watch({ index: -1 });
1130
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1131
- b.append(`
1132
- $run(function runSwitch() {`);
1191
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1192
+ $run(() => {`);
1193
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1133
1194
  let index = 0;
1134
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1135
1195
  for (let branch of branches) buildSwitchBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1136
1196
  b.append(`
1137
1197
  }
1138
- });`);
1198
+ }${status.options.dev === true ? `, "runSwitch"` : ""});`);
1139
1199
  b.append(`
1140
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1141
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1142
- });`);
1200
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1201
+ const index = ${stateName}.index;`);
1202
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1203
+ addPopDevBoundary(status, b);
1204
+ b.append("});");
1205
+ addPopDevBoundary(status, b);
1143
1206
  b.append("");
1144
1207
  }
1145
1208
  function buildSwitchBranch(node, status, b, parentName, stateName, creatorsName, index) {
1146
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1209
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1147
1210
  if (node.children.length > 0) {
1148
1211
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1149
1212
  buildFragment(node, status, b, parentName, "t_before");
@@ -1223,12 +1286,12 @@ function buildMount(functionName, functionBody, status, b) {
1223
1286
 
1224
1287
  //#endregion
1225
1288
  //#region src/compile/build/client/stashRun.ts
1226
- function stashRun(fragment, functionStart, value, functionEnd, range, status) {
1289
+ function stashRun(fragment, functionStart, value, functionEnd, span, status) {
1227
1290
  value = replaceForVarNames(value, status);
1228
1291
  let functionBody = functionStart + value + functionEnd;
1229
1292
  fragment.effects.push({
1230
1293
  functionBody,
1231
- ranges: [range],
1294
+ spans: [span],
1232
1295
  offsets: [functionStart.length],
1233
1296
  lengths: [value.length]
1234
1297
  });
@@ -1263,7 +1326,7 @@ function buildDynamicElementNode(node, status, b) {
1263
1326
  status.imports.add("$run");
1264
1327
  status.imports.add("t_dynamic");
1265
1328
  let selfValue = selfAttribute.value;
1266
- b.append(`$run(function setDynamic() {`);
1329
+ b.append("$run(() => {");
1267
1330
  b.append(`${node.varName} = t_dynamic(${node.varName}, ${selfValue});`);
1268
1331
  let parentName = node.varName;
1269
1332
  buildFragment(node, status, b, parentName, "null");
@@ -1274,7 +1337,7 @@ function buildDynamicElementNode(node, status, b) {
1274
1337
  for (let child of node.children) buildNode(child, status, b, parentName, "null");
1275
1338
  status.fragmentStack.pop();
1276
1339
  buildAddFragment(node, status, b, parentName, "null");
1277
- b.append(`});`);
1340
+ b.append(`}${status.options.dev === true ? `, "setDynamic"` : ""});`);
1278
1341
  }
1279
1342
  }
1280
1343
  function buildTitleNode(node, status, b) {
@@ -1295,25 +1358,24 @@ function buildTitleNode(node, status, b) {
1295
1358
  else content = `\`${content.replaceAll("{", "${t_fmt(").replaceAll("}", ")}")}\``;
1296
1359
  } else content = `"${content}"`;
1297
1360
  status.imports.add("$run");
1361
+ b.append("$run(() => {");
1298
1362
  b.append(`
1299
- $run(function runTitle() {
1300
1363
  const t_old_title = document.title;
1301
1364
  document.title = ${content};
1302
1365
  return () => document.title = t_old_title;
1303
- });`);
1366
+ }${status.options.dev === true ? `, "runTitle"` : ""});`);
1304
1367
  }
1305
1368
  function buildHeadNode(node, status, b) {
1306
1369
  status.imports.add("$run");
1370
+ b.append("$run(() => {");
1307
1371
  b.append(`
1308
- $run(function runHead() {
1309
1372
  const t_headel = document.createElement("${node.tagName}");
1310
1373
  document.getElementsByTagName("head")[0].appendChild(t_headel);`);
1311
1374
  for (let { name, value } of node.attributes) if (value != null) {
1312
1375
  status.imports.add("t_attribute");
1313
1376
  b.append(`t_attribute(t_headel, "${name}", ${value});`);
1314
1377
  }
1315
- b.append(`
1316
- });`);
1378
+ b.append(`}${status.options.dev === true ? `, "runHead"` : ""});`);
1317
1379
  }
1318
1380
  function buildElementAttributes$1(node, varName, status, b) {
1319
1381
  let fragment = status.fragmentStack.at(-1)?.fragment;
@@ -1323,7 +1385,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1323
1385
  let { value, fullyReactive } = refAttribute;
1324
1386
  if (value != null && fullyReactive) b.append(`${value} = ${varName};`);
1325
1387
  }
1326
- for (let { name, value, reactive, range } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (value != null && reactive) if (name === "&group") buildBindGroupAttribute(node, varName, value, status, b);
1388
+ for (let { name, value, reactive, span: range } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (value != null && reactive) if (name === "&group") buildBindGroupAttribute(node, varName, value, status, b);
1327
1389
  else if (name === "&value" || name === "&checked") buildBindAttribute(node, varName, name, value, status, b);
1328
1390
  else if (name === "onmount") buildMount("elMount", `return (${trimEnd(value.trim(), ";")})(${varName});`, status, b);
1329
1391
  else if (name.startsWith("on")) buildEventAttribute(varName, name, value, range, status, b);
@@ -1332,8 +1394,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1332
1394
  status.imports.add("t_class");
1333
1395
  const params = [value];
1334
1396
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
1335
- const propName = status.ns ? "className.baseVal" : "className";
1336
- stashRun(fragment, `${varName}.${propName} = t_class(`, params.join(", "), ");", range, status);
1397
+ stashRun(fragment, `${varName}.${status.ns ? "className.baseVal" : "className"} = t_class(`, params.join(", "), ");", range, status);
1337
1398
  } else if (name === "style") {
1338
1399
  status.imports.add("t_style");
1339
1400
  stashRun(fragment, `${varName}.setAttribute("style", t_style(`, value, "));", range, status);
@@ -1351,8 +1412,7 @@ function buildBindGroupAttribute(node, varName, value, status, b) {
1351
1412
  let inputValue = node.attributes.find((a) => a.name === "value")?.value;
1352
1413
  let set = `${value} == ${inputValue}`;
1353
1414
  let propName = "checked";
1354
- const setAttribute = `${varName}.${propName} = ${set}`;
1355
- buildRun("setBinding", `${setAttribute};`, status, b);
1415
+ buildRun("setBinding", `${`${varName}.${propName} = ${set}`};`, status, b);
1356
1416
  status.imports.add("t_event");
1357
1417
  b.append(`t_event(${varName}, "${eventName}", (e) => {
1358
1418
  if (e.target.${propName}) ${value} = ${inputValue};
@@ -1381,17 +1441,15 @@ function buildBindAttribute(node, varName, name, value, status, b) {
1381
1441
  }
1382
1442
  } else if (node.tagName === "select") eventName = "change";
1383
1443
  let set = `${value} || ${defaultValue}`;
1384
- const propName = name.substring(1);
1385
- const setAttribute = `${varName}.${propName} = ${set}`;
1386
- buildRun("setBinding", `${setAttribute};`, status, b);
1444
+ buildRun("setBinding", `${`${varName}.${name.substring(1)} = ${set}`};`, status, b);
1387
1445
  status.imports.add("t_event");
1388
1446
  b.append(`t_event(${varName}, "${eventName}", (e) => ${value} = ${inputValue});`);
1389
1447
  }
1390
- function buildEventAttribute(varName, name, value, range, status, b) {
1448
+ function buildEventAttribute(varName, name, value, span, status, b) {
1391
1449
  value = replaceForVarNames(value, status);
1392
1450
  const eventName = name.substring(2);
1393
1451
  status.imports.add("t_event");
1394
- addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, range, status, b);
1452
+ addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, span, status, b);
1395
1453
  }
1396
1454
  function buildTransitionAttribute(node, varName, name, value, status, b) {
1397
1455
  value = replaceForVarNames(value, status);
@@ -1399,56 +1457,26 @@ function buildTransitionAttribute(node, varName, name, value, status, b) {
1399
1457
  let entryVarName = nextVarName("trans_in", status);
1400
1458
  let exitVarName = nextVarName("trans_out", status);
1401
1459
  if (name === "transition") {
1402
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1460
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1403
1461
  b.append(`const ${exitVarName} = ${entryVarName};`);
1404
1462
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1405
1463
  } else if (name === "transition-in") {
1406
1464
  let outAttribute = node.attributes.find((a) => a.name === "transition-out");
1407
1465
  if (outAttribute && outAttribute.value && outAttribute.fullyReactive) {
1408
1466
  let outValue = outAttribute.value;
1409
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1410
- b.append(`const ${exitVarName} = ${getAnimationDetails(outValue)};`);
1467
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1468
+ b.append(`const ${exitVarName} = (${outValue})(${varName});`);
1411
1469
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1412
1470
  } else {
1413
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1471
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1414
1472
  b.append(`t_animate(${varName}, ${entryVarName});`);
1415
1473
  }
1416
1474
  } else if (name === "transition-out") if (node.attributes.find((a) => a.name === "transition-in")) return;
1417
1475
  else {
1418
- b.append(`const ${exitVarName} = ${getAnimationDetails(value)};`);
1476
+ b.append(`const ${exitVarName} = (${value})(${varName});`);
1419
1477
  b.append(`t_animate(${varName}, null, ${entryVarName});`);
1420
1478
  }
1421
1479
  }
1422
- function getAnimationDetails(value) {
1423
- let parts = [];
1424
- let start = 0;
1425
- let squareCount = 0;
1426
- let curlyCount = 0;
1427
- for (let i = 0; i < value.length; i++) switch (value[i]) {
1428
- case ",":
1429
- if (squareCount === 0 && curlyCount === 0) {
1430
- parts.push(value.substring(start, i));
1431
- start = i + 1;
1432
- }
1433
- break;
1434
- case "[":
1435
- squareCount += 1;
1436
- break;
1437
- case "]":
1438
- squareCount -= 1;
1439
- break;
1440
- case "{":
1441
- curlyCount += 1;
1442
- break;
1443
- case "}":
1444
- curlyCount -= 1;
1445
- break;
1446
- }
1447
- parts.push(value.substring(start));
1448
- let keyframes = parts[0]?.trim();
1449
- let options = parts[1]?.trim();
1450
- return `{ ${[`keyframes: ${keyframes}`, options ? `options: ${options}` : null].filter(Boolean).join(", ")} }`;
1451
- }
1452
1480
 
1453
1481
  //#endregion
1454
1482
  //#region src/compile/build/client/buildRootNode.ts
@@ -1533,7 +1561,7 @@ function endOfString(char, content, start) {
1533
1561
 
1534
1562
  //#endregion
1535
1563
  //#region src/compile/build/client/stashRunWithOffsets.ts
1536
- function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, status) {
1564
+ function stashRunWithOffsets(fragment, functionBody, spans, offsets, lengths, status) {
1537
1565
  for (let i = 0; i < offsets.length; i++) {
1538
1566
  const oldLength = functionBody.length;
1539
1567
  functionBody = functionBody.substring(0, offsets[i]) + replaceForVarNames(functionBody.substring(offsets[i], offsets[i] + lengths[i]), status) + functionBody.substring(offsets[i] + lengths[i]);
@@ -1543,7 +1571,7 @@ function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, s
1543
1571
  }
1544
1572
  fragment.effects.push({
1545
1573
  functionBody,
1546
- ranges,
1574
+ spans,
1547
1575
  offsets,
1548
1576
  lengths
1549
1577
  });
@@ -1622,7 +1650,7 @@ function buildTextNode(node, status) {
1622
1650
  offsetChange += functionBody.length;
1623
1651
  offsets.map((_, i) => offsets[i] += offsetChange);
1624
1652
  functionBody += `${textContent};`;
1625
- stashRunWithOffsets(fragment, functionBody, node.ranges, offsets, lengths, status);
1653
+ stashRunWithOffsets(fragment, functionBody, node.spans, offsets, lengths, status);
1626
1654
  }
1627
1655
  }
1628
1656
 
@@ -1666,9 +1694,9 @@ const importsMap$1 = {
1666
1694
  $unwrap: "import { $unwrap } from \"${folder}\";",
1667
1695
  $peek: "import { $peek } from \"${folder}\";",
1668
1696
  $batch: "import { $batch } from \"${folder}\";",
1669
- t_range: "import { t_range } from \"${folder}\";",
1670
- t_push_range: "import { t_push_range } from \"${folder}\";",
1671
- t_pop_range: "import { t_pop_range } from \"${folder}\";",
1697
+ t_region: "import { t_region } from \"${folder}\";",
1698
+ t_push_region: "import { t_push_region } from \"${folder}\";",
1699
+ t_pop_region: "import { t_pop_region } from \"${folder}\";",
1672
1700
  t_run_control: "import { t_run_control } from \"${folder}\";",
1673
1701
  t_run_branch: "import { t_run_branch } from \"${folder}\";",
1674
1702
  t_list_item: "import { t_list_item } from \"${folder}\";",
@@ -1694,7 +1722,10 @@ const importsMap$1 = {
1694
1722
  t_cmt: "import { t_cmt } from \"${folder}\";",
1695
1723
  t_print: "import { t_print } from \"${folder}\";",
1696
1724
  ListItem: "import { type ListItem } from \"${folder}\";",
1697
- SlotRender: "import { type SlotRender } from \"${folder}\";"
1725
+ SlotRender: "import { type SlotRender } from \"${folder}\";",
1726
+ devContext: "import { devContext } from \"${folder}/dev\";",
1727
+ t_push_dev_bound: "import { t_push_dev_bound } from \"${folder}/dev\";",
1728
+ t_pop_dev_bound: "import { t_pop_dev_bound } from \"${folder}/dev\";"
1698
1729
  };
1699
1730
  function buildCode(template, map, options) {
1700
1731
  let b = new Builder(options?.mapped);
@@ -1705,8 +1736,10 @@ function buildCode(template, map, options) {
1705
1736
  if (imports.size) {
1706
1737
  b.prepend("");
1707
1738
  for (let imp of Array.from(imports).sort().reverse()) {
1708
- imp = importsMap$1[imp] || imp;
1709
- b.prepend(imp.replace("${folder}", options?.renderFolder || "@torpor/view"));
1739
+ let importStatement = importsMap$1[imp] ?? imp;
1740
+ let folder = options?.renderFolder ?? "@torpor/view";
1741
+ importStatement = importStatement.replace("${folder}", folder);
1742
+ b.prepend(importStatement);
1710
1743
  }
1711
1744
  }
1712
1745
  if (options?.mapped) {
@@ -1729,7 +1762,11 @@ function buildTemplate(template, map, imports, b, options) {
1729
1762
  if (/\$batch\b/.test(script)) imports.add("$batch");
1730
1763
  let currentIndex = 0;
1731
1764
  let current = template.components[0];
1765
+ let status = makeStatus(imports, map, current, options);
1766
+ let first = true;
1732
1767
  for (let chunk of template.script) if (chunk.script === "/* @params */") {
1768
+ if (!first) status = makeStatus(imports, map, current, options);
1769
+ first = false;
1733
1770
  let params = [
1734
1771
  `${current.markup ? "$parent" : "_$parent"}: ParentNode`,
1735
1772
  `${current.markup ? "$anchor" : "_$anchor"}: Node | null`,
@@ -1740,12 +1777,12 @@ function buildTemplate(template, map, imports, b, options) {
1740
1777
  b.append(params.join(",\n"));
1741
1778
  } else if (chunk.script === ") /* @return_type */ {") b.append("): void {");
1742
1779
  else if (chunk.script === "/* @start */") {
1780
+ addPushDevBoundary("component", current.name || "Anon Component", status, b);
1743
1781
  if (current.contextProps?.length) b.append(`$context = Object.assign({}, $context);`);
1744
1782
  b.append("$peek(() => { /**/");
1745
1783
  b.append("");
1746
1784
  } else if (chunk.script === "/* @render */") {
1747
1785
  if (current.markup) {
1748
- let status = makeStatus(imports, map, current, options);
1749
1786
  b.append("");
1750
1787
  b.append("/* User interface */");
1751
1788
  buildFragmentText(current.markup, status, b);
@@ -1754,7 +1791,6 @@ function buildTemplate(template, map, imports, b, options) {
1754
1791
  }
1755
1792
  } else if (chunk.script === "/* @head */") {
1756
1793
  if (current.head) {
1757
- let status = makeStatus(imports, map, current, options);
1758
1794
  b.append("");
1759
1795
  b.append("/* Head */");
1760
1796
  status.inHead = true;
@@ -1762,13 +1798,11 @@ function buildTemplate(template, map, imports, b, options) {
1762
1798
  status.inHead = false;
1763
1799
  }
1764
1800
  } else if (chunk.script === "/* @style */") {} else if (chunk.script === "/* @end */") {
1801
+ addPopDevBoundary(status, b);
1765
1802
  b.append("/**/ });");
1766
1803
  currentIndex += 1;
1767
1804
  current = template.components[currentIndex];
1768
- } else {
1769
- let status = makeStatus(imports, map, current, options);
1770
- addMappedText("", chunk.script, "", chunk.range, status, b);
1771
- }
1805
+ } else addMappedText("", chunk.script, "", chunk.span, status, b);
1772
1806
  }
1773
1807
  function makeStatus(imports, map, current, options) {
1774
1808
  return {
@@ -1783,7 +1817,8 @@ function makeStatus(imports, map, current, options) {
1783
1817
  forVarNames: [],
1784
1818
  ns: false,
1785
1819
  preserveWhitespace: false,
1786
- options
1820
+ inHead: false,
1821
+ options: options ?? {}
1787
1822
  };
1788
1823
  }
1789
1824
 
@@ -2133,12 +2168,7 @@ function buildServerElementNode(node, status, b) {
2133
2168
  function buildElementAttributes(node, status) {
2134
2169
  let needsClass = node.scopeStyles;
2135
2170
  let attributes = [];
2136
- for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (name.startsWith("on") || name.startsWith(":on")) {} else if (name.startsWith("transition") && value) {
2137
- value = value.split(",")[0].trim();
2138
- if (value.startsWith("[")) value = value.substring(1);
2139
- else value = value + "[0]";
2140
- attributes.push(`style="\${Object.entries(${value}).map(([k, v]) => \`$\{k}: $\{v}\`).join("; ")}"`);
2141
- } else if (value != null && fullyReactive) if (name === "&value" || name === "&checked" || name === "&group") {
2171
+ for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (name.startsWith("on") || name.startsWith(":on")) {} else if (name.startsWith("transition") && value) {} else if (value != null && fullyReactive) if (name === "&value" || name === "&checked" || name === "&group") {
2142
2172
  let defaultValue = "";
2143
2173
  let typeAttribute = node.attributes.find((a) => a.name === "type");
2144
2174
  if (typeAttribute && typeAttribute.value) switch (trimQuotes(typeAttribute.value)) {
@@ -2415,14 +2445,12 @@ function buildServerTemplate(template, imports, b, options) {
2415
2445
  */
2416
2446
  function build(template, options) {
2417
2447
  let map = [];
2418
- let code = options?.server ? buildServerCode(template, options) : buildCode(template, map, options);
2419
- let styles = template.components.map((c) => c.style ? {
2420
- style: buildStyles(c.style, c.style.hash),
2421
- hash: c.style.hash
2422
- } : void 0).filter((c) => c !== void 0);
2423
2448
  return {
2424
- code,
2425
- styles,
2449
+ code: options?.server ? buildServerCode(template, options) : buildCode(template, map, options),
2450
+ styles: template.components.map((c) => c.style ? {
2451
+ style: buildStyles(c.style, c.style.hash),
2452
+ hash: c.style.hash
2453
+ } : void 0).filter((c) => c !== void 0),
2426
2454
  map
2427
2455
  };
2428
2456
  }
@@ -2550,7 +2578,7 @@ function addSpaceElement(parent, status) {
2550
2578
  const space = {
2551
2579
  type: "text",
2552
2580
  content,
2553
- ranges: []
2581
+ spans: []
2554
2582
  };
2555
2583
  parent.children.push(space);
2556
2584
  }
@@ -2650,7 +2678,7 @@ function parseTag(status) {
2650
2678
  closed: selfClosed || void 0,
2651
2679
  attributes,
2652
2680
  children: [],
2653
- range: {
2681
+ span: {
2654
2682
  start: tagStart,
2655
2683
  end: tagEnd
2656
2684
  }
@@ -2703,7 +2731,7 @@ function parseAttribute(status) {
2703
2731
  value,
2704
2732
  reactive,
2705
2733
  fullyReactive,
2706
- range: {
2734
+ span: {
2707
2735
  start: valueStart,
2708
2736
  end: valueEnd
2709
2737
  }
@@ -2732,7 +2760,7 @@ function parseAttributeValue(status) {
2732
2760
  //#endregion
2733
2761
  //#region src/compile/parse/parseText.ts
2734
2762
  function parseText(status, element) {
2735
- let ranges = [];
2763
+ let spans = [];
2736
2764
  const start = status.i;
2737
2765
  let end = -1;
2738
2766
  for (let j = status.i; j < status.source.length; j++) {
@@ -2756,7 +2784,7 @@ function parseText(status, element) {
2756
2784
  }
2757
2785
  }
2758
2786
  }
2759
- ranges.push({
2787
+ spans.push({
2760
2788
  start: reactiveStart,
2761
2789
  end: j
2762
2790
  });
@@ -2776,12 +2804,12 @@ function parseText(status, element) {
2776
2804
  const previousNode = element.children[element.children.length - 1];
2777
2805
  if (previousNode && isTextNode(previousNode)) {
2778
2806
  previousNode.content += content + spaceContent;
2779
- previousNode.ranges.push(...ranges);
2807
+ previousNode.spans.push(...spans);
2780
2808
  } else {
2781
2809
  const text = {
2782
2810
  type: "text",
2783
2811
  content: content + spaceContent,
2784
- ranges
2812
+ spans
2785
2813
  };
2786
2814
  element.children.push(text);
2787
2815
  }
@@ -2806,7 +2834,7 @@ function slottifyChildNodes(node) {
2806
2834
  tagName: "fill",
2807
2835
  attributes: [],
2808
2836
  children: nonFillNodes,
2809
- range: {
2837
+ span: {
2810
2838
  start: 0,
2811
2839
  end: 0
2812
2840
  }
@@ -2869,8 +2897,7 @@ function parseElement(status) {
2869
2897
  }
2870
2898
  if (voidTags_default.includes(element.tagName)) checkVoidElement(status, element);
2871
2899
  if (!element.selfClosed && !voidTags_default.includes(element.tagName)) {
2872
- current.stack ??= [];
2873
- current.stack.push(element);
2900
+ status.stack.push(element);
2874
2901
  while (status.i < status.source.length) {
2875
2902
  addSpaceElement(element, status);
2876
2903
  if (accept("}", status, false)) break;
@@ -2878,14 +2905,14 @@ function parseElement(status) {
2878
2905
  else if (accept("@//", status)) status.i = status.source.indexOf("\n", status.i) + 1;
2879
2906
  else if (accept("@/*", status)) status.i = status.source.indexOf("*/", status.i) + 2;
2880
2907
  else if (accept("</", status, false)) {
2881
- if (checkCloseTag(status, element, current)) break;
2908
+ if (checkCloseTag(status, element)) break;
2882
2909
  } else if (accept("<", status, false)) {
2883
2910
  const child = parseElement(status);
2884
2911
  element.children.push(child);
2885
2912
  } else if (accept("@", status, false)) parseControl(status, element);
2886
2913
  else parseText(status, element);
2887
2914
  }
2888
- current.stack.pop();
2915
+ status.stack.pop();
2889
2916
  }
2890
2917
  if (/[A-Z]/.test(element.tagName[0])) {
2891
2918
  element.type = "component";
@@ -2914,12 +2941,12 @@ function parseElement(status) {
2914
2941
  operation: "@replace",
2915
2942
  statement: selfValue,
2916
2943
  children: [element],
2917
- range: {
2944
+ span: {
2918
2945
  start: 0,
2919
2946
  end: 0
2920
2947
  }
2921
2948
  }],
2922
- range: {
2949
+ span: {
2923
2950
  start: 0,
2924
2951
  end: 0
2925
2952
  }
@@ -2944,7 +2971,7 @@ function checkVoidElement(status, element) {
2944
2971
  }
2945
2972
  status.i = i;
2946
2973
  }
2947
- function checkCloseTag(status, element, current) {
2974
+ function checkCloseTag(status, element) {
2948
2975
  const start = status.i;
2949
2976
  accept("</", status);
2950
2977
  consumeSpace(status);
@@ -2954,12 +2981,10 @@ function checkCloseTag(status, element, current) {
2954
2981
  consumeSpace(status);
2955
2982
  accept(">", status);
2956
2983
  let found = false;
2957
- if (current.stack) {
2958
- for (let i = current.stack.length - 1; i >= 0; i--) if (closingTagName === current.stack[i].tagName) {
2959
- current.stack[i].closed = true;
2960
- found = true;
2961
- break;
2962
- }
2984
+ for (let i = status.stack.length - 1; i >= 0; i--) if (closingTagName === status.stack[i].tagName) {
2985
+ status.stack[i].closed = true;
2986
+ found = true;
2987
+ break;
2963
2988
  }
2964
2989
  if (!found) addError(status, `Non-matching close tag: ${closingTagName} (expected ${element.tagName})`, start, start + element.tagName.length + 1);
2965
2990
  return found;
@@ -3049,7 +3074,7 @@ function parseControlOpen(status) {
3049
3074
  operation,
3050
3075
  statement,
3051
3076
  children: [],
3052
- range: {
3077
+ span: {
3053
3078
  start: statementStart,
3054
3079
  end: status.i
3055
3080
  }
@@ -3082,7 +3107,7 @@ function wrangleControlNode(node, parentNode) {
3082
3107
  operation: "@if group",
3083
3108
  statement: "",
3084
3109
  children: [node],
3085
- range: {
3110
+ span: {
3086
3111
  start: 0,
3087
3112
  end: 0
3088
3113
  }
@@ -3103,7 +3128,7 @@ function wrangleControlNode(node, parentNode) {
3103
3128
  operation: "@for group",
3104
3129
  statement: "",
3105
3130
  children: [node],
3106
- range: {
3131
+ span: {
3107
3132
  start: 0,
3108
3133
  end: 0
3109
3134
  }
@@ -3118,7 +3143,7 @@ function wrangleControlNode(node, parentNode) {
3118
3143
  operation: "@await group",
3119
3144
  statement: "",
3120
3145
  children: [node],
3121
- range: {
3146
+ span: {
3122
3147
  start: 0,
3123
3148
  end: 0
3124
3149
  }
@@ -3137,7 +3162,7 @@ function wrangleControlNode(node, parentNode) {
3137
3162
  operation: "@replace group",
3138
3163
  statement: "",
3139
3164
  children: [node],
3140
- range: {
3165
+ span: {
3141
3166
  start: 0,
3142
3167
  end: 0
3143
3168
  }
@@ -3149,7 +3174,7 @@ function wrangleControlNode(node, parentNode) {
3149
3174
  operation: "@html group",
3150
3175
  statement: "",
3151
3176
  children: [node],
3152
- range: {
3177
+ span: {
3153
3178
  start: 0,
3154
3179
  end: 0
3155
3180
  }
@@ -3193,7 +3218,7 @@ function parseMarkup(status, source) {
3193
3218
  const text = {
3194
3219
  type: "text",
3195
3220
  content: consumeSpace(status),
3196
- ranges: []
3221
+ spans: []
3197
3222
  };
3198
3223
  current.markup.children.push(text);
3199
3224
  } else if (accept("<", status, false)) {
@@ -3263,6 +3288,7 @@ function parseStyles(source, status) {
3263
3288
  imports: [],
3264
3289
  script: [],
3265
3290
  components: [],
3291
+ stack: [],
3266
3292
  errors: []
3267
3293
  };
3268
3294
  while (styleStatus.i < styleStatus.source.length) if (isSpaceChar(styleStatus.source, styleStatus.i)) consumeSpace(styleStatus);
@@ -3361,6 +3387,7 @@ function parseCode(source) {
3361
3387
  imports: [],
3362
3388
  script: [],
3363
3389
  components: [],
3390
+ stack: [],
3364
3391
  errors: []
3365
3392
  };
3366
3393
  for (status.i; status.i < source.length; status.i++) if (consumeScriptComments(status)) {} else if (status.source[status.i] === "{") status.level += 1;
@@ -3392,7 +3419,7 @@ function parseCode(source) {
3392
3419
  else if (accept("@style", status, false)) parseComponentStyle(status);
3393
3420
  status.script.push({
3394
3421
  script: source.substring(status.marker, source.length),
3395
- range: {
3422
+ span: {
3396
3423
  start: status.marker,
3397
3424
  end: source.length
3398
3425
  }
@@ -3406,23 +3433,7 @@ function parseCode(source) {
3406
3433
  template: ok ? {
3407
3434
  imports: status.imports,
3408
3435
  script: status.script,
3409
- components: status.components.map((c) => {
3410
- return {
3411
- start: c.start,
3412
- name: c.name,
3413
- exported: c.exported,
3414
- default: c.default,
3415
- documentation: c.documentation,
3416
- params: c.params,
3417
- markup: c.markup,
3418
- head: c.head,
3419
- style: c.style,
3420
- propsType: c.propsType,
3421
- props: c.props,
3422
- contextProps: c.contextProps,
3423
- slotProps: c.slotProps
3424
- };
3425
- })
3436
+ components: status.components
3426
3437
  } : void 0
3427
3438
  };
3428
3439
  }
@@ -3432,11 +3443,9 @@ function parseComponentStart(status) {
3432
3443
  let def = /export\s+default\s+(function\s+|const\s+)*$/.test(source);
3433
3444
  let isConst = /const\s+$/.test(source);
3434
3445
  let isAnon = /export default\s+$/.test(source);
3435
- let componentStart = status.i;
3436
- let name = consumeAlphaNumeric(status);
3437
3446
  const current = {
3438
- start: componentStart,
3439
- name,
3447
+ start: status.i,
3448
+ name: consumeAlphaNumeric(status),
3440
3449
  exported,
3441
3450
  default: def
3442
3451
  };
@@ -3470,14 +3479,14 @@ function parseComponentStart(status) {
3470
3479
  }
3471
3480
  status.script.push({
3472
3481
  script: status.source.substring(status.marker, start),
3473
- range: {
3482
+ span: {
3474
3483
  start: status.marker,
3475
3484
  end: start
3476
3485
  }
3477
3486
  });
3478
3487
  status.script.push({
3479
3488
  script: "/* @params */",
3480
- range: {
3489
+ span: {
3481
3490
  start: 0,
3482
3491
  end: 0
3483
3492
  }
@@ -3491,7 +3500,7 @@ function parseComponentStart(status) {
3491
3500
  if (propsTypeStart !== -1) {
3492
3501
  let bracesStart = status.source.indexOf("{", propsTypeStart);
3493
3502
  if (bracesStart !== -1) {
3494
- const status2 = {
3503
+ const propsType = parseInlineScript({
3495
3504
  source: status.source,
3496
3505
  i: bracesStart + 1,
3497
3506
  marker: 0,
@@ -3499,9 +3508,9 @@ function parseComponentStart(status) {
3499
3508
  imports: [],
3500
3509
  script: [],
3501
3510
  components: [],
3511
+ stack: [],
3502
3512
  errors: []
3503
- };
3504
- const propsType = parseInlineScript(status2);
3513
+ });
3505
3514
  if (propsType) current.propsType = `${status.source.substring(propsTypeStart, bracesStart)}{${propsType}}`;
3506
3515
  }
3507
3516
  }
@@ -3518,7 +3527,7 @@ function parseComponentStart(status) {
3518
3527
  status.level += 1;
3519
3528
  const postFunctionChunk = {
3520
3529
  script: status.source.substring(status.marker, status.i),
3521
- range: {
3530
+ span: {
3522
3531
  start: status.marker,
3523
3532
  end: status.i
3524
3533
  }
@@ -3527,7 +3536,7 @@ function parseComponentStart(status) {
3527
3536
  status.script.push(postFunctionChunk);
3528
3537
  status.script.push({
3529
3538
  script: "/* @start */",
3530
- range: {
3539
+ span: {
3531
3540
  start: 0,
3532
3541
  end: 0
3533
3542
  }
@@ -3536,7 +3545,7 @@ function parseComponentStart(status) {
3536
3545
  const space = consumeSpace(status);
3537
3546
  status.script.push({
3538
3547
  script: space,
3539
- range: {
3548
+ span: {
3540
3549
  start: status.marker,
3541
3550
  end: status.i
3542
3551
  }
@@ -3550,14 +3559,14 @@ function parseComponentRender(status) {
3550
3559
  if (current.markup) addError(status, `Multiple @render sections`, status.i, status.i + 7);
3551
3560
  status.script.push({
3552
3561
  script: status.source.substring(status.marker, status.i),
3553
- range: {
3562
+ span: {
3554
3563
  start: status.marker,
3555
3564
  end: status.i
3556
3565
  }
3557
3566
  });
3558
3567
  status.script.push({
3559
3568
  script: "/* @render */",
3560
- range: {
3569
+ span: {
3561
3570
  start: 0,
3562
3571
  end: 0
3563
3572
  }
@@ -3576,14 +3585,14 @@ function parseComponentHead(status) {
3576
3585
  if (current.head) addError(status, `Multiple @head sections`, status.i, status.i + 5);
3577
3586
  status.script.push({
3578
3587
  script: status.source.substring(status.marker, status.i),
3579
- range: {
3588
+ span: {
3580
3589
  start: status.marker,
3581
3590
  end: status.i
3582
3591
  }
3583
3592
  });
3584
3593
  status.script.push({
3585
3594
  script: "/* @head */",
3586
- range: {
3595
+ span: {
3587
3596
  start: 0,
3588
3597
  end: 0
3589
3598
  }
@@ -3604,14 +3613,14 @@ function parseComponentStyle(status) {
3604
3613
  if (current.style) addError(status, `Multiple @style sections`, status.i, status.i + 6);
3605
3614
  status.script.push({
3606
3615
  script: status.source.substring(status.marker, status.i),
3607
- range: {
3616
+ span: {
3608
3617
  start: status.marker,
3609
3618
  end: status.i
3610
3619
  }
3611
3620
  });
3612
3621
  status.script.push({
3613
3622
  script: "/* @style */",
3614
- range: {
3623
+ span: {
3615
3624
  start: 0,
3616
3625
  end: 0
3617
3626
  }
@@ -3655,14 +3664,14 @@ function parseComponentEnd(status) {
3655
3664
  if (!current) return;
3656
3665
  status.script.push({
3657
3666
  script: status.source.substring(status.marker, status.i),
3658
- range: {
3667
+ span: {
3659
3668
  start: status.marker,
3660
3669
  end: status.i
3661
3670
  }
3662
3671
  });
3663
3672
  status.script.push({
3664
3673
  script: "/* @end */",
3665
- range: {
3674
+ span: {
3666
3675
  start: 0,
3667
3676
  end: 0
3668
3677
  }