@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.js CHANGED
@@ -60,14 +60,14 @@ var Builder = class {
60
60
 
61
61
  //#endregion
62
62
  //#region src/compile/build/client/addMappedText.ts
63
- function addMappedText(preText, text, postText, range, status, b) {
64
- if (status.options?.mapped) {
63
+ function addMappedText(preText, text, postText, span, status, b) {
64
+ if (status.options.mapped === true) {
65
65
  let start = b.toString().length + preText.length;
66
66
  b.append(preText + text + postText);
67
- let end = start + text.length - postText.length;
67
+ let end = start + text.length;
68
68
  status.map.push({
69
69
  script: text,
70
- source: range,
70
+ source: span,
71
71
  compiled: {
72
72
  start,
73
73
  end
@@ -76,6 +76,27 @@ function addMappedText(preText, text, postText, range, status, b) {
76
76
  } else b.append(preText + text + postText);
77
77
  }
78
78
 
79
+ //#endregion
80
+ //#region src/compile/build/client/addPopDevBoundary.ts
81
+ function addPopDevBoundary(status, b) {
82
+ if (status.options.dev === true) {
83
+ status.imports.add("t_pop_dev_bound");
84
+ b.append("");
85
+ b.append(`t_pop_dev_bound();`);
86
+ }
87
+ }
88
+
89
+ //#endregion
90
+ //#region src/compile/build/client/addPushDevBoundary.ts
91
+ function addPushDevBoundary(type, name, status, b) {
92
+ if (status.options.dev === true) {
93
+ status.imports.add("t_push_dev_bound");
94
+ if (!(name.startsWith("'") && name.endsWith("'") || name.startsWith("\"") && name.endsWith("\"") || name.startsWith("`") || name.endsWith("`"))) name = `"${name}"`;
95
+ b.append(`t_push_dev_bound("${type}", ${name});`);
96
+ b.append("");
97
+ }
98
+ }
99
+
79
100
  //#endregion
80
101
  //#region src/compile/types/comments.ts
81
102
  const ANCHOR_COMMENT = "<!>";
@@ -284,14 +305,14 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
284
305
  status.imports.add("t_add_fragment");
285
306
  if (fragment.effects.length > 0) {
286
307
  status.imports.add("$run");
287
- b.append(`$run(function setAttributes() {`);
288
- if (status.options?.mapped) for (let effect of fragment.effects) for (let i = 0; i < effect.ranges.length; i++) {
308
+ b.append("$run(() => {");
309
+ if (status.options.mapped === true) for (let effect of fragment.effects) for (let i = 0; i < effect.spans.length; i++) {
289
310
  let start = b.toString().length + effect.offsets[i];
290
311
  b.append(effect.functionBody);
291
312
  let end = start + effect.lengths[i];
292
313
  status.map.push({
293
314
  script: effect.functionBody,
294
- source: effect.ranges[i],
315
+ source: effect.spans[i],
295
316
  compiled: {
296
317
  start,
297
318
  end
@@ -299,7 +320,7 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
299
320
  });
300
321
  }
301
322
  else b.append(fragment.effects.map((e) => e.functionBody).join("\n"));
302
- b.append("});");
323
+ b.append(`}${status.options.dev === true ? `, "setAttributes"` : ""});`);
303
324
  }
304
325
  let params = [
305
326
  fragmentName,
@@ -371,7 +392,7 @@ function buildFragment(node, status, b, parentName, anchorName) {
371
392
  if (node.fragment) {
372
393
  const fragment = node.fragment;
373
394
  const fragmentName = `t_fragment_${fragment.number}`;
374
- if (status.options?.useCreateElement) {
395
+ if (status.options.useCreateElement === true) {
375
396
  let fragmentPath = {
376
397
  parent: null,
377
398
  type: "fragment",
@@ -448,11 +469,9 @@ function declareControlFragmentVars(fragment, node, path, status, b, parentName,
448
469
  case "@for group":
449
470
  case "@await group":
450
471
  case "@replace group":
451
- case "@html group": {
452
- const operation = node.operation.substring(1).replace(" group", "");
453
- declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, operation, declare);
472
+ case "@html group":
473
+ declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, node.operation.substring(1).replace(" group", ""), declare);
454
474
  break;
455
- }
456
475
  default:
457
476
  for (let [i, child] of node.children.entries()) declareFragmentVars(fragment, child, path, status, b, parentName, anchorName, varPaths, i === node.children.length - 1, declare);
458
477
  break;
@@ -484,7 +503,7 @@ function declareElementFragmentVars(fragment, node, path, status, b, parentName,
484
503
  node.varName = nextVarName(tagName, status);
485
504
  if (topLevel) fragment.endVarName = node.varName;
486
505
  const varPath = getFragmentVarPath(fragment, status, node.varName, elementPath, varPaths);
487
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
506
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
488
507
  else if (node.tagName === "@element") b.append(`let ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
489
508
  else {
490
509
  b.append(`const ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
@@ -529,7 +548,7 @@ function declareTextFragmentVars(fragment, node, path, status, b, varPaths, last
529
548
  node.varName = nextVarName("text", status);
530
549
  if (topLevel) fragment.endVarName = node.varName;
531
550
  const varPath = getFragmentVarPath(fragment, status, node.varName, textPath, varPaths);
532
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
551
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
533
552
  else {
534
553
  b.append(`const ${node.varName} = ${varPath};`);
535
554
  printDebug(node.varName, status, b);
@@ -574,7 +593,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
574
593
  if (varPaths.has(parentVarPath)) node.parentName = varPaths.get(parentVarPath);
575
594
  else if (declare) {
576
595
  node.parentName = nextVarName(`${name}_parent`, status);
577
- if (status.options?.useCreateElement) b.append(`let ${node.parentName} as HTMLElement;`);
596
+ if (status.options.useCreateElement === true) b.append(`let ${node.parentName} as HTMLElement;`);
578
597
  else {
579
598
  b.append(`const ${node.parentName} = ${parentVarPath} as HTMLElement;`);
580
599
  printDebug(node.parentName, status, b);
@@ -591,7 +610,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
591
610
  path.children.push(anchorPath);
592
611
  node.varName = nextVarName(`${name}_anchor`, status);
593
612
  const anchorVarPath = getFragmentVarPath(fragment, status, node.varName, anchorPath, varPaths);
594
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
613
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
595
614
  else {
596
615
  status.imports.add("t_anchor");
597
616
  b.append(`let ${node.varName} = t_anchor(${anchorVarPath}) as HTMLElement;`);
@@ -628,8 +647,7 @@ function getFragmentVarPath(fragment, status, name, path, varPaths) {
628
647
  break;
629
648
  } else level--;
630
649
  const tail = varPath.substring(end + count);
631
- const param = varPath.substring(pos + match.length, end);
632
- varPath = `${head}t_skip(${param}, ${count})${tail}`;
650
+ varPath = `${head}t_skip(${varPath.substring(pos + match.length, end)}, ${count})${tail}`;
633
651
  }
634
652
  varPath = varPath.replaceAll("t_next_text", "t_next");
635
653
  return varPath;
@@ -660,7 +678,7 @@ function printDebug(varName, status, b) {}
660
678
  * Variables used within a for loop need to be retrieved from the loop data.
661
679
  */
662
680
  function replaceForVarNames(value, status) {
663
- for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{)${varName}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1t_item.data.${varName}$2`);
681
+ for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{|!)${varName[0]}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1${varName[1]}$2`);
664
682
  return value;
665
683
  }
666
684
 
@@ -668,10 +686,12 @@ function replaceForVarNames(value, status) {
668
686
  //#region src/compile/build/client/buildRun.ts
669
687
  function buildRun(functionName, functionBody, status, b) {
670
688
  functionBody = replaceForVarNames(functionBody, status);
689
+ addPushDevBoundary("run", functionName, status, b);
671
690
  status.imports.add("$run");
672
- b.append(`$run(function ${functionName}() {`);
691
+ b.append("$run(() => {");
673
692
  b.append(functionBody);
674
- b.append("});");
693
+ b.append(`}${status.options.dev === true ? `, "${functionName}"` : ""});`);
694
+ addPopDevBoundary(status, b);
675
695
  }
676
696
 
677
697
  //#endregion
@@ -683,24 +703,48 @@ function buildComponentNode(node, status, b, root = false) {
683
703
  const propsName = componentHasProps ? nextVarName("props", status) : "undefined";
684
704
  if (componentHasProps) {
685
705
  status.imports.add("$watch");
686
- b.append(`const ${propsName}: any = $watch({});`);
706
+ let props = [];
707
+ let runs = [];
708
+ let bindingRuns = [];
687
709
  for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@component") {} else if (name.startsWith("&") && value != null && fullyReactive) {
688
710
  name = name.substring(1);
689
- buildRun("setProp", `${propsName}["${name}"] = ${value};`, status, b);
690
- buildRun("setBinding", `${value} = ${propsName}["${name}"];`, status, b);
711
+ props.push({
712
+ name,
713
+ value
714
+ });
715
+ runs.push(`${propsName}["${name}"] = ${value};`);
716
+ bindingRuns.push(`${value} = ${propsName}["${name}"];`);
691
717
  } else if (name === "class" && value != null) {
692
718
  status.imports.add("t_class");
693
719
  const params = [value];
694
720
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
695
- buildRun("setClasses", `${propsName}["class"] = t_class(${params.join(", ")});`, status, b);
721
+ value = `t_class(${params.join(", ")})`;
722
+ props.push({
723
+ name,
724
+ value
725
+ });
726
+ runs.push(`${propsName}["${name}"] = ${value};`);
696
727
  } else if (name === "style" && value != null) {
697
728
  status.imports.add("t_style");
698
- buildRun("setStyles", `${propsName}["style"] = t_style(${value});`, status, b);
729
+ value = `t_style(${value})`;
730
+ props.push({
731
+ name,
732
+ value
733
+ });
734
+ runs.push(`${propsName}["${name}"] = ${value};`);
699
735
  } else if (value != null) {
700
- const setProp = `${propsName}["${name}"] = ${value};`;
701
- if (reactive) buildRun("setProp", setProp, status, b);
702
- else b.append(setProp);
703
- } else b.append(`${propsName}["${name}"] = true;`);
736
+ props.push({
737
+ name,
738
+ value
739
+ });
740
+ if (reactive) runs.push(`${propsName}["${name}"] = ${value};`);
741
+ } else props.push({
742
+ name,
743
+ value: "true"
744
+ });
745
+ b.append(`const ${propsName} = $watch({ ${replaceForVarNames(props.map((p) => `${p.name}: ${p.value}`).join(", "), status)} });`);
746
+ if (runs.length) buildRun("setProps", replaceForVarNames(runs.join("\n"), status), status, b);
747
+ if (bindingRuns.length) buildRun("setBindings", replaceForVarNames(bindingRuns.join("\n"), status), status, b);
704
748
  if (root) {
705
749
  status.imports.add("$run");
706
750
  b.append(`
@@ -739,16 +783,14 @@ function buildComponentNode(node, status, b, root = false) {
739
783
  b.append(`}`);
740
784
  }
741
785
  }
742
- const compParentName = node.parentName;
743
- const compAnchorName = node.varName;
744
- let renderParams = `${compParentName}, ${compAnchorName}, ${propsName}, $context`;
786
+ let renderParams = `${node.parentName}, ${node.varName}, ${propsName}, $context`;
745
787
  if (slotsName !== "undefined") renderParams += `, ${slotsName}`;
746
788
  let componentName = node.tagName;
747
789
  if (componentName === "@component") {
748
790
  let selfAttribute = node.attributes.find((a) => a.name === "self");
749
791
  if (selfAttribute && selfAttribute.value && selfAttribute.fullyReactive) componentName = selfAttribute.value;
750
792
  }
751
- addMappedText("", `${componentName}(${renderParams})`, ";", node.range, status, b);
793
+ addMappedText("", `${componentName}(${renderParams})`, ";", node.span, status, b);
752
794
  b.append("");
753
795
  }
754
796
 
@@ -776,7 +818,7 @@ function trimMatched(text, startChar, endChar) {
776
818
  function buildAwaitNode(node, status, b) {
777
819
  const anchorName = node.varName;
778
820
  const parentName = node.parentName;
779
- const rangeName = nextVarName("await_range", status);
821
+ const regionName = nextVarName("await_region", status);
780
822
  const stateName = "$" + nextVarName("await_state", status);
781
823
  const creatorsName = nextVarName("await_creators", status);
782
824
  const awaitVarsName = nextVarName("await_vars", status);
@@ -789,7 +831,7 @@ function buildAwaitNode(node, status, b) {
789
831
  operation: "@then",
790
832
  statement: "then",
791
833
  children: [],
792
- range: {
834
+ span: {
793
835
  start: 0,
794
836
  end: 0
795
837
  }
@@ -800,7 +842,7 @@ function buildAwaitNode(node, status, b) {
800
842
  operation: "@catch",
801
843
  statement: "catch",
802
844
  children: [],
803
- range: {
845
+ span: {
804
846
  start: 0,
805
847
  end: 0
806
848
  }
@@ -810,43 +852,46 @@ function buildAwaitNode(node, status, b) {
810
852
  const catchVar = trimMatched(catchBranch.statement.substring(5).trim(), "(", ")");
811
853
  status.imports.add("$watch");
812
854
  status.imports.add("$run");
813
- status.imports.add("t_range");
855
+ status.imports.add("t_region");
814
856
  status.imports.add("t_run_control");
815
857
  status.imports.add("t_run_branch");
816
858
  b.append("");
859
+ b.append("/* @await */");
860
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
817
861
  b.append(`
818
- /* @await */
819
- const ${rangeName} = t_range();
862
+ const ${regionName} = t_region(${status.options.dev === true ? `"await"` : ""});
820
863
  let ${stateName} = $watch({ index: -1 });
821
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
822
- b.append(`
864
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
823
865
  let ${awaitVarsName} = { t_token: 0 };
824
- $run(function runAwait() {`);
866
+ $run(() => {`);
825
867
  let index = 0;
826
868
  buildAwaitBranch(awaitBranch, status, b, parentName, stateName, creatorsName, index++);
827
- b.append(`${awaitVarsName}.t_token++;
828
- ((t_token) => {`);
829
- awaitBranch.range.start += 7;
830
- addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.range, status, b);
831
- thenBranch.range.start -= 1;
832
- addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.range, status, b);
869
+ b.append(`
870
+ ${awaitVarsName}.t_token++;
871
+ ((t_token) => {`);
872
+ awaitBranch.span.start += 7;
873
+ addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.span, status, b);
874
+ thenBranch.span.start -= 1;
875
+ addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.span, status, b);
833
876
  b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
834
877
  buildAwaitBranch(thenBranch, status, b, parentName, stateName, creatorsName, index++);
835
878
  b.append(`}
836
879
  })`);
837
- catchBranch.range.start -= 1;
838
- addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.range, status, b);
839
- b.append(`
840
- if (t_token === ${awaitVarsName}.t_token) {`);
880
+ catchBranch.span.start -= 1;
881
+ addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.span, status, b);
882
+ b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
841
883
  buildAwaitBranch(catchBranch, status, b, parentName, stateName, creatorsName, index++);
842
884
  b.append(`}
843
885
  });
844
886
  })(${awaitVarsName}.t_token);
845
- });`);
887
+ }${status.options.dev === true ? `, "runAwait"` : ""});`);
846
888
  b.append(`
847
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
848
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
849
- });`);
889
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
890
+ const index = ${stateName}.index;`);
891
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
892
+ addPopDevBoundary(status, b);
893
+ b.append("});");
894
+ addPopDevBoundary(status, b);
850
895
  b.append("");
851
896
  }
852
897
  function buildAwaitBranch(node, status, b, parentName, stateName, creatorsName, index) {
@@ -887,8 +932,8 @@ const forLoopRegex = /for\s*\((.+?);.*?;.*?\)/;
887
932
  const forLoopVarsRegex = /(?:let\s+|var\s+){0,1}([^\s,;+=]+)(?:\s*=\s*[^,;]+){0,1}/g;
888
933
  const forOfRegex = /for\s*\(\s*(?:let\s*|var\s*){0,1}(.+?)\s+(?:of|in).*?\)/;
889
934
  function buildForNode(node, status, b) {
890
- const forParentName = node.parentName;
891
- const forAnchorName = node.varName;
935
+ const parentName = node.parentName;
936
+ const anchorName = node.varName;
892
937
  node = node.children[0];
893
938
  const forVarNames = [];
894
939
  const forIndexMatch = node.statement.match(forLoopRegex);
@@ -903,65 +948,76 @@ function buildForNode(node, status, b) {
903
948
  else forVarNames.push(match);
904
949
  }
905
950
  }
906
- const forRangeName = nextVarName("for_range", status);
951
+ const regionName = nextVarName("for_region", status);
952
+ const listItemsName = nextVarName("new_items", status);
953
+ const previousItemName = nextVarName("previous_item", status);
954
+ const nextItemName = nextVarName("next_item", status);
955
+ const newItemName = nextVarName("new_item", status);
956
+ const itemName = nextVarName("item", status);
957
+ const beforeName = nextVarName("before", status);
907
958
  const key = node.children.find((n) => n.type === "control" && n.operation === "@key");
908
959
  let keyStatement = key ? key.statement : "";
909
960
  if (keyStatement) keyStatement = trimEnd(keyStatement.substring(keyStatement.indexOf("=") + 1).trim(), ";");
910
- status.imports.add("t_range");
961
+ status.imports.add("t_region");
911
962
  status.imports.add("t_run_list");
912
963
  status.imports.add("t_list_item");
913
964
  status.imports.add("ListItem");
914
965
  b.append("");
966
+ b.append("/* @for */");
967
+ addPushDevBoundary("control", `@${node.statement}`, status, b);
915
968
  b.append(`
916
- /* @for */
917
- let ${forRangeName} = t_range();
918
- t_run_list(
919
- ${forRangeName},
920
- ${forParentName},
921
- ${forAnchorName},
922
- function createNewItems() {
923
- let t_new_items: ListItem[] = [];
924
- let t_previous_item = ${forRangeName};
925
- let t_next_item = ${forRangeName}.nextRange;`);
926
- addMappedText("", `${node.statement}`, " {", node.range, status, b);
969
+ let ${regionName} = t_region(${status.options.dev === true ? `"for"` : ""});
970
+ t_run_list(
971
+ ${regionName},
972
+ ${parentName},
973
+ ${anchorName},
974
+ ${status.options.dev === true ? "function createNewItems() {" : "() => {"}
975
+ let ${listItemsName}: ListItem[] = [];
976
+ let ${previousItemName} = ${regionName};
977
+ let ${nextItemName} = ${regionName}.nextRegion;`);
978
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
979
+ let params = [`{ ${forVarNames.join(",\n")} }`, keyStatement || "undefined"];
980
+ if (status.options.dev === true) params.push(`"for item"`);
927
981
  b.append(`
928
- let t_new_item = t_list_item({ ${forVarNames.join(",\n")} }${keyStatement ? `, ${keyStatement}` : ""});
929
- t_new_item.previousRange = t_previous_item;
930
- t_previous_item.nextRange = t_new_item;
931
- t_previous_item = t_new_item;
932
- t_new_items.push(t_new_item);
933
- }
934
- ${forRangeName}.nextRange = t_next_item;
935
- return t_new_items;
982
+ let ${newItemName} = t_list_item(${params.join(", ")});
983
+ ${newItemName}.previousRegion = ${previousItemName};
984
+ ${previousItemName}.nextRegion = ${newItemName};
985
+ ${previousItemName} = ${newItemName};
986
+ ${listItemsName}.push(${newItemName});
987
+ }
988
+ ${regionName}.nextRegion = ${nextItemName};
989
+ return ${listItemsName};
936
990
  },
937
- function createListItem(t_item, t_before) {`);
938
- status.forVarNames = forVarNames;
939
- buildForItem(node, status, b, forParentName);
940
- status.forVarNames = [];
991
+ ${status.options.dev === true ? `function createListItem(${itemName}, ${beforeName}) {` : `(${itemName}, ${beforeName}) => {`}`);
992
+ let oldForVarNames = status.forVarNames;
993
+ status.forVarNames = [...status.forVarNames, ...forVarNames.map((v) => [v, `${itemName}.data.${v}`])];
994
+ buildForItem(node, status, b, parentName, beforeName, itemName);
995
+ status.forVarNames = oldForVarNames;
941
996
  b.append(`},
942
- function updateListItem(t_old_item, t_new_item) {`);
997
+ ${status.options.dev === true ? "function updateListItem(t_old_item, t_new_item) {" : "(t_old_item, t_new_item) => {"}`);
943
998
  for (let varName of forVarNames) b.append(`t_old_item.data.${varName} = t_new_item.data.${varName};`);
944
999
  b.append(`}
945
1000
  );`);
1001
+ addPopDevBoundary(status, b);
946
1002
  b.append("");
947
1003
  }
948
- function buildForItem(node, status, b, parentName) {
949
- const oldRangeName = nextVarName("old_range", status);
950
- status.imports.add("t_push_range");
951
- b.append(`let ${oldRangeName} = t_push_range(t_item);`);
952
- buildFragment(node, status, b, parentName, "t_before");
1004
+ function buildForItem(node, status, b, parentName, beforeName, itemName) {
1005
+ const oldRegionName = nextVarName("old_region", status);
1006
+ status.imports.add("t_push_region");
1007
+ b.append(`let ${oldRegionName} = t_push_region(${itemName});`);
1008
+ buildFragment(node, status, b, parentName, beforeName);
953
1009
  status.fragmentStack.push({
954
1010
  fragment: node.fragment,
955
1011
  path: ""
956
1012
  });
957
1013
  for (let child of node.children) {
958
1014
  if (isControlNode(child) && child.operation === "@key") continue;
959
- buildNode(child, status, b, parentName, "t_before");
1015
+ buildNode(child, status, b, parentName, beforeName);
960
1016
  }
961
1017
  status.fragmentStack.pop();
962
- buildAddFragment(node, status, b, parentName, "t_before");
963
- status.imports.add("t_pop_range");
964
- b.append(`t_pop_range(${oldRangeName});`);
1018
+ buildAddFragment(node, status, b, parentName, beforeName);
1019
+ status.imports.add("t_pop_region");
1020
+ b.append(`t_pop_region(${oldRegionName});`);
965
1021
  }
966
1022
 
967
1023
  //#endregion
@@ -969,30 +1025,30 @@ function buildForItem(node, status, b, parentName) {
969
1025
  function buildHtmlNode(node, status, b) {
970
1026
  const htmlAnchorName = node.varName;
971
1027
  const htmlParentName = node.parentName || htmlAnchorName + ".parentNode";
972
- const htmlRangeName = nextVarName("html_range", status);
1028
+ const htmlRegionName = nextVarName("html_region", status);
973
1029
  node = node.children[0];
974
- status.imports.add("t_range");
1030
+ status.imports.add("t_region");
975
1031
  status.imports.add("t_run_control");
976
1032
  b.append("");
977
1033
  b.append(`
978
1034
  /* @html */
979
- const ${htmlRangeName} = t_range();
980
- t_run_control(${htmlRangeName}, ${htmlAnchorName}, (t_before) => {`);
981
- buildHtmlBranch(node, status, b, htmlParentName, htmlRangeName);
982
- b.append("});");
1035
+ const ${htmlRegionName} = t_region(${status.options.dev === true ? `"html"` : ""});
1036
+ t_run_control(${htmlRegionName}, ${htmlAnchorName}, (t_before) => {`);
1037
+ buildHtmlBranch(node, status, b, htmlParentName, htmlRegionName);
1038
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
983
1039
  b.append("");
984
1040
  }
985
- function buildHtmlBranch(node, status, b, parentName, rangeName) {
1041
+ function buildHtmlBranch(node, status, b, parentName, regionName) {
986
1042
  status.imports.add("t_run_branch");
987
1043
  b.append(`${node.statement};`);
988
- b.append(`t_run_branch(${rangeName}, () => {`);
1044
+ b.append(`t_run_branch(${regionName}, () => {`);
989
1045
  const templateName = nextVarName("template", status);
990
1046
  const fragmentName = `t_fragment_${node.fragment.number}`;
991
1047
  b.append(`const ${templateName} = document.createElement("template");`);
992
1048
  b.append(`${templateName}.innerHTML = ${node.statement};`);
993
1049
  b.append(`let ${fragmentName} = ${templateName}.content.cloneNode(true) as DocumentFragment;`);
994
1050
  buildAddFragment(node, status, b, parentName, "t_before");
995
- b.append(`});`);
1051
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
996
1052
  }
997
1053
 
998
1054
  //#endregion
@@ -1000,7 +1056,7 @@ function buildHtmlBranch(node, status, b, parentName, rangeName) {
1000
1056
  function buildIfNode(node, status, b) {
1001
1057
  const anchorName = node.varName;
1002
1058
  const parentName = node.parentName || anchorName + ".parentNode";
1003
- const rangeName = nextVarName("if_range", status);
1059
+ const regionName = nextVarName("if_region", status);
1004
1060
  const stateName = "$" + nextVarName("if_state", status);
1005
1061
  const creatorsName = nextVarName("if_creators", status);
1006
1062
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1009,34 +1065,38 @@ function buildIfNode(node, status, b) {
1009
1065
  operation: "@else",
1010
1066
  statement: "else",
1011
1067
  children: [],
1012
- range: {
1068
+ span: {
1013
1069
  start: 0,
1014
1070
  end: 0
1015
1071
  }
1016
1072
  });
1017
1073
  status.imports.add("$watch");
1018
1074
  status.imports.add("$run");
1019
- status.imports.add("t_range");
1075
+ status.imports.add("t_region");
1020
1076
  status.imports.add("t_run_control");
1021
1077
  status.imports.add("t_run_branch");
1022
1078
  b.append("");
1079
+ b.append("/* @if */");
1080
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1023
1081
  b.append(`
1024
- /* @if */
1025
- const ${rangeName} = t_range();
1082
+ const ${regionName} = t_region(${status.options.dev === true ? `"if"` : ""});
1026
1083
  let ${stateName} = $watch({ index: -1 });
1027
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1028
- b.append(`$run(function runIf() {`);
1084
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1085
+ $run(() => {`);
1029
1086
  let index = 0;
1030
1087
  for (let branch of branches) buildIfBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1031
- b.append(`});`);
1088
+ b.append(`}${status.options.dev === true ? `, "runIf"` : ""});`);
1032
1089
  b.append(`
1033
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1034
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1035
- });`);
1090
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1091
+ const index = ${stateName}.index;`);
1092
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1093
+ addPopDevBoundary(status, b);
1094
+ b.append("});");
1095
+ addPopDevBoundary(status, b);
1036
1096
  b.append("");
1037
1097
  }
1038
1098
  function buildIfBranch(node, status, b, parentName, stateName, creatorsName, index) {
1039
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1099
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1040
1100
  if (node.children.length > 0) {
1041
1101
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1042
1102
  buildFragment(node, status, b, parentName, "t_before");
@@ -1058,23 +1118,23 @@ function buildIfBranch(node, status, b, parentName, stateName, creatorsName, ind
1058
1118
  function buildReplaceNode(node, status, b) {
1059
1119
  const replaceAnchorName = node.varName;
1060
1120
  const replaceParentName = node.parentName || replaceAnchorName + ".parentNode";
1061
- const replaceRangeName = nextVarName("replace_range", status);
1121
+ const replaceRegionName = nextVarName("replace_region", status);
1062
1122
  node = node.children[0];
1063
- status.imports.add("t_range");
1123
+ status.imports.add("t_region");
1064
1124
  status.imports.add("t_run_control");
1065
1125
  b.append("");
1066
1126
  b.append(`
1067
1127
  /* @replace */
1068
- const ${replaceRangeName} = t_range();
1069
- t_run_control(${replaceRangeName}, ${replaceAnchorName}, (t_before) => {`);
1070
- buildReplaceBranch(node, status, b, replaceParentName, replaceRangeName);
1071
- b.append("});");
1128
+ const ${replaceRegionName} = t_region(${status.options.dev === true ? `"replace"` : ""});
1129
+ t_run_control(${replaceRegionName}, ${replaceAnchorName}, (t_before) => {`);
1130
+ buildReplaceBranch(node, status, b, replaceParentName, replaceRegionName);
1131
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1072
1132
  b.append("");
1073
1133
  }
1074
- function buildReplaceBranch(node, status, b, parentName, rangeName) {
1134
+ function buildReplaceBranch(node, status, b, parentName, regionName) {
1075
1135
  status.imports.add("t_run_branch");
1076
1136
  b.append(`${replaceForVarNames(node.statement, status)};`);
1077
- b.append(`t_run_branch(${rangeName}, () => {`);
1137
+ b.append(`t_run_branch(${regionName}, () => {`);
1078
1138
  buildFragment(node, status, b, parentName, "t_before");
1079
1139
  status.fragmentStack.push({
1080
1140
  fragment: node.fragment,
@@ -1083,14 +1143,14 @@ function buildReplaceBranch(node, status, b, parentName, rangeName) {
1083
1143
  for (let child of node.children) buildNode(child, status, b, parentName, "t_before");
1084
1144
  status.fragmentStack.pop();
1085
1145
  buildAddFragment(node, status, b, parentName, "t_before");
1086
- b.append(`});`);
1146
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1087
1147
  }
1088
1148
 
1089
1149
  //#endregion
1090
1150
  //#region src/compile/build/client/buildScriptNode.ts
1091
1151
  function buildScriptNode(node, status, b) {
1092
1152
  b.append(`/* ${node.operation} */`);
1093
- addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.range, status, b);
1153
+ addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.span, status, b);
1094
1154
  }
1095
1155
  function maybeAppend$1(text, end) {
1096
1156
  if (!text.endsWith(end)) text += end;
@@ -1102,7 +1162,7 @@ function maybeAppend$1(text, end) {
1102
1162
  function buildSwitchNode(node, status, b) {
1103
1163
  const anchorName = node.varName;
1104
1164
  const parentName = node.parentName;
1105
- const rangeName = nextVarName("switch_range", status);
1165
+ const regionName = nextVarName("switch_region", status);
1106
1166
  const stateName = "$" + nextVarName("switch_state", status);
1107
1167
  const creatorsName = nextVarName("switch_creators", status);
1108
1168
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1111,38 +1171,41 @@ function buildSwitchNode(node, status, b) {
1111
1171
  operation: "@default",
1112
1172
  statement: "default",
1113
1173
  children: [],
1114
- range: {
1174
+ span: {
1115
1175
  start: 0,
1116
1176
  end: 0
1117
1177
  }
1118
1178
  });
1119
1179
  status.imports.add("$watch");
1120
1180
  status.imports.add("$run");
1121
- status.imports.add("t_range");
1181
+ status.imports.add("t_region");
1122
1182
  status.imports.add("t_run_control");
1123
1183
  status.imports.add("t_run_branch");
1124
1184
  b.append("");
1185
+ b.append("/* @switch */");
1186
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1125
1187
  b.append(`
1126
- /* @switch */
1127
- const ${rangeName} = t_range();
1188
+ const ${regionName} = t_region(${status.options.dev === true ? `"switch"` : ""});
1128
1189
  let ${stateName} = $watch({ index: -1 });
1129
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1130
- b.append(`
1131
- $run(function runSwitch() {`);
1190
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1191
+ $run(() => {`);
1192
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1132
1193
  let index = 0;
1133
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1134
1194
  for (let branch of branches) buildSwitchBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1135
1195
  b.append(`
1136
1196
  }
1137
- });`);
1197
+ }${status.options.dev === true ? `, "runSwitch"` : ""});`);
1138
1198
  b.append(`
1139
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1140
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1141
- });`);
1199
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1200
+ const index = ${stateName}.index;`);
1201
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1202
+ addPopDevBoundary(status, b);
1203
+ b.append("});");
1204
+ addPopDevBoundary(status, b);
1142
1205
  b.append("");
1143
1206
  }
1144
1207
  function buildSwitchBranch(node, status, b, parentName, stateName, creatorsName, index) {
1145
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1208
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1146
1209
  if (node.children.length > 0) {
1147
1210
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1148
1211
  buildFragment(node, status, b, parentName, "t_before");
@@ -1222,12 +1285,12 @@ function buildMount(functionName, functionBody, status, b) {
1222
1285
 
1223
1286
  //#endregion
1224
1287
  //#region src/compile/build/client/stashRun.ts
1225
- function stashRun(fragment, functionStart, value, functionEnd, range, status) {
1288
+ function stashRun(fragment, functionStart, value, functionEnd, span, status) {
1226
1289
  value = replaceForVarNames(value, status);
1227
1290
  let functionBody = functionStart + value + functionEnd;
1228
1291
  fragment.effects.push({
1229
1292
  functionBody,
1230
- ranges: [range],
1293
+ spans: [span],
1231
1294
  offsets: [functionStart.length],
1232
1295
  lengths: [value.length]
1233
1296
  });
@@ -1262,7 +1325,7 @@ function buildDynamicElementNode(node, status, b) {
1262
1325
  status.imports.add("$run");
1263
1326
  status.imports.add("t_dynamic");
1264
1327
  let selfValue = selfAttribute.value;
1265
- b.append(`$run(function setDynamic() {`);
1328
+ b.append("$run(() => {");
1266
1329
  b.append(`${node.varName} = t_dynamic(${node.varName}, ${selfValue});`);
1267
1330
  let parentName = node.varName;
1268
1331
  buildFragment(node, status, b, parentName, "null");
@@ -1273,7 +1336,7 @@ function buildDynamicElementNode(node, status, b) {
1273
1336
  for (let child of node.children) buildNode(child, status, b, parentName, "null");
1274
1337
  status.fragmentStack.pop();
1275
1338
  buildAddFragment(node, status, b, parentName, "null");
1276
- b.append(`});`);
1339
+ b.append(`}${status.options.dev === true ? `, "setDynamic"` : ""});`);
1277
1340
  }
1278
1341
  }
1279
1342
  function buildTitleNode(node, status, b) {
@@ -1294,25 +1357,24 @@ function buildTitleNode(node, status, b) {
1294
1357
  else content = `\`${content.replaceAll("{", "${t_fmt(").replaceAll("}", ")}")}\``;
1295
1358
  } else content = `"${content}"`;
1296
1359
  status.imports.add("$run");
1360
+ b.append("$run(() => {");
1297
1361
  b.append(`
1298
- $run(function runTitle() {
1299
1362
  const t_old_title = document.title;
1300
1363
  document.title = ${content};
1301
1364
  return () => document.title = t_old_title;
1302
- });`);
1365
+ }${status.options.dev === true ? `, "runTitle"` : ""});`);
1303
1366
  }
1304
1367
  function buildHeadNode(node, status, b) {
1305
1368
  status.imports.add("$run");
1369
+ b.append("$run(() => {");
1306
1370
  b.append(`
1307
- $run(function runHead() {
1308
1371
  const t_headel = document.createElement("${node.tagName}");
1309
1372
  document.getElementsByTagName("head")[0].appendChild(t_headel);`);
1310
1373
  for (let { name, value } of node.attributes) if (value != null) {
1311
1374
  status.imports.add("t_attribute");
1312
1375
  b.append(`t_attribute(t_headel, "${name}", ${value});`);
1313
1376
  }
1314
- b.append(`
1315
- });`);
1377
+ b.append(`}${status.options.dev === true ? `, "runHead"` : ""});`);
1316
1378
  }
1317
1379
  function buildElementAttributes$1(node, varName, status, b) {
1318
1380
  let fragment = status.fragmentStack.at(-1)?.fragment;
@@ -1322,7 +1384,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1322
1384
  let { value, fullyReactive } = refAttribute;
1323
1385
  if (value != null && fullyReactive) b.append(`${value} = ${varName};`);
1324
1386
  }
1325
- 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);
1387
+ 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);
1326
1388
  else if (name === "&value" || name === "&checked") buildBindAttribute(node, varName, name, value, status, b);
1327
1389
  else if (name === "onmount") buildMount("elMount", `return (${trimEnd(value.trim(), ";")})(${varName});`, status, b);
1328
1390
  else if (name.startsWith("on")) buildEventAttribute(varName, name, value, range, status, b);
@@ -1331,8 +1393,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1331
1393
  status.imports.add("t_class");
1332
1394
  const params = [value];
1333
1395
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
1334
- const propName = status.ns ? "className.baseVal" : "className";
1335
- stashRun(fragment, `${varName}.${propName} = t_class(`, params.join(", "), ");", range, status);
1396
+ stashRun(fragment, `${varName}.${status.ns ? "className.baseVal" : "className"} = t_class(`, params.join(", "), ");", range, status);
1336
1397
  } else if (name === "style") {
1337
1398
  status.imports.add("t_style");
1338
1399
  stashRun(fragment, `${varName}.setAttribute("style", t_style(`, value, "));", range, status);
@@ -1350,8 +1411,7 @@ function buildBindGroupAttribute(node, varName, value, status, b) {
1350
1411
  let inputValue = node.attributes.find((a) => a.name === "value")?.value;
1351
1412
  let set = `${value} == ${inputValue}`;
1352
1413
  let propName = "checked";
1353
- const setAttribute = `${varName}.${propName} = ${set}`;
1354
- buildRun("setBinding", `${setAttribute};`, status, b);
1414
+ buildRun("setBinding", `${`${varName}.${propName} = ${set}`};`, status, b);
1355
1415
  status.imports.add("t_event");
1356
1416
  b.append(`t_event(${varName}, "${eventName}", (e) => {
1357
1417
  if (e.target.${propName}) ${value} = ${inputValue};
@@ -1380,17 +1440,15 @@ function buildBindAttribute(node, varName, name, value, status, b) {
1380
1440
  }
1381
1441
  } else if (node.tagName === "select") eventName = "change";
1382
1442
  let set = `${value} || ${defaultValue}`;
1383
- const propName = name.substring(1);
1384
- const setAttribute = `${varName}.${propName} = ${set}`;
1385
- buildRun("setBinding", `${setAttribute};`, status, b);
1443
+ buildRun("setBinding", `${`${varName}.${name.substring(1)} = ${set}`};`, status, b);
1386
1444
  status.imports.add("t_event");
1387
1445
  b.append(`t_event(${varName}, "${eventName}", (e) => ${value} = ${inputValue});`);
1388
1446
  }
1389
- function buildEventAttribute(varName, name, value, range, status, b) {
1447
+ function buildEventAttribute(varName, name, value, span, status, b) {
1390
1448
  value = replaceForVarNames(value, status);
1391
1449
  const eventName = name.substring(2);
1392
1450
  status.imports.add("t_event");
1393
- addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, range, status, b);
1451
+ addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, span, status, b);
1394
1452
  }
1395
1453
  function buildTransitionAttribute(node, varName, name, value, status, b) {
1396
1454
  value = replaceForVarNames(value, status);
@@ -1398,56 +1456,26 @@ function buildTransitionAttribute(node, varName, name, value, status, b) {
1398
1456
  let entryVarName = nextVarName("trans_in", status);
1399
1457
  let exitVarName = nextVarName("trans_out", status);
1400
1458
  if (name === "transition") {
1401
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1459
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1402
1460
  b.append(`const ${exitVarName} = ${entryVarName};`);
1403
1461
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1404
1462
  } else if (name === "transition-in") {
1405
1463
  let outAttribute = node.attributes.find((a) => a.name === "transition-out");
1406
1464
  if (outAttribute && outAttribute.value && outAttribute.fullyReactive) {
1407
1465
  let outValue = outAttribute.value;
1408
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1409
- b.append(`const ${exitVarName} = ${getAnimationDetails(outValue)};`);
1466
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1467
+ b.append(`const ${exitVarName} = (${outValue})(${varName});`);
1410
1468
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1411
1469
  } else {
1412
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1470
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1413
1471
  b.append(`t_animate(${varName}, ${entryVarName});`);
1414
1472
  }
1415
1473
  } else if (name === "transition-out") if (node.attributes.find((a) => a.name === "transition-in")) return;
1416
1474
  else {
1417
- b.append(`const ${exitVarName} = ${getAnimationDetails(value)};`);
1475
+ b.append(`const ${exitVarName} = (${value})(${varName});`);
1418
1476
  b.append(`t_animate(${varName}, null, ${entryVarName});`);
1419
1477
  }
1420
1478
  }
1421
- function getAnimationDetails(value) {
1422
- let parts = [];
1423
- let start = 0;
1424
- let squareCount = 0;
1425
- let curlyCount = 0;
1426
- for (let i = 0; i < value.length; i++) switch (value[i]) {
1427
- case ",":
1428
- if (squareCount === 0 && curlyCount === 0) {
1429
- parts.push(value.substring(start, i));
1430
- start = i + 1;
1431
- }
1432
- break;
1433
- case "[":
1434
- squareCount += 1;
1435
- break;
1436
- case "]":
1437
- squareCount -= 1;
1438
- break;
1439
- case "{":
1440
- curlyCount += 1;
1441
- break;
1442
- case "}":
1443
- curlyCount -= 1;
1444
- break;
1445
- }
1446
- parts.push(value.substring(start));
1447
- let keyframes = parts[0]?.trim();
1448
- let options = parts[1]?.trim();
1449
- return `{ ${[`keyframes: ${keyframes}`, options ? `options: ${options}` : null].filter(Boolean).join(", ")} }`;
1450
- }
1451
1479
 
1452
1480
  //#endregion
1453
1481
  //#region src/compile/build/client/buildRootNode.ts
@@ -1532,7 +1560,7 @@ function endOfString(char, content, start) {
1532
1560
 
1533
1561
  //#endregion
1534
1562
  //#region src/compile/build/client/stashRunWithOffsets.ts
1535
- function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, status) {
1563
+ function stashRunWithOffsets(fragment, functionBody, spans, offsets, lengths, status) {
1536
1564
  for (let i = 0; i < offsets.length; i++) {
1537
1565
  const oldLength = functionBody.length;
1538
1566
  functionBody = functionBody.substring(0, offsets[i]) + replaceForVarNames(functionBody.substring(offsets[i], offsets[i] + lengths[i]), status) + functionBody.substring(offsets[i] + lengths[i]);
@@ -1542,7 +1570,7 @@ function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, s
1542
1570
  }
1543
1571
  fragment.effects.push({
1544
1572
  functionBody,
1545
- ranges,
1573
+ spans,
1546
1574
  offsets,
1547
1575
  lengths
1548
1576
  });
@@ -1621,7 +1649,7 @@ function buildTextNode(node, status) {
1621
1649
  offsetChange += functionBody.length;
1622
1650
  offsets.map((_, i) => offsets[i] += offsetChange);
1623
1651
  functionBody += `${textContent};`;
1624
- stashRunWithOffsets(fragment, functionBody, node.ranges, offsets, lengths, status);
1652
+ stashRunWithOffsets(fragment, functionBody, node.spans, offsets, lengths, status);
1625
1653
  }
1626
1654
  }
1627
1655
 
@@ -1665,9 +1693,9 @@ const importsMap$1 = {
1665
1693
  $unwrap: "import { $unwrap } from \"${folder}\";",
1666
1694
  $peek: "import { $peek } from \"${folder}\";",
1667
1695
  $batch: "import { $batch } from \"${folder}\";",
1668
- t_range: "import { t_range } from \"${folder}\";",
1669
- t_push_range: "import { t_push_range } from \"${folder}\";",
1670
- t_pop_range: "import { t_pop_range } from \"${folder}\";",
1696
+ t_region: "import { t_region } from \"${folder}\";",
1697
+ t_push_region: "import { t_push_region } from \"${folder}\";",
1698
+ t_pop_region: "import { t_pop_region } from \"${folder}\";",
1671
1699
  t_run_control: "import { t_run_control } from \"${folder}\";",
1672
1700
  t_run_branch: "import { t_run_branch } from \"${folder}\";",
1673
1701
  t_list_item: "import { t_list_item } from \"${folder}\";",
@@ -1693,7 +1721,10 @@ const importsMap$1 = {
1693
1721
  t_cmt: "import { t_cmt } from \"${folder}\";",
1694
1722
  t_print: "import { t_print } from \"${folder}\";",
1695
1723
  ListItem: "import { type ListItem } from \"${folder}\";",
1696
- SlotRender: "import { type SlotRender } from \"${folder}\";"
1724
+ SlotRender: "import { type SlotRender } from \"${folder}\";",
1725
+ devContext: "import { devContext } from \"${folder}/dev\";",
1726
+ t_push_dev_bound: "import { t_push_dev_bound } from \"${folder}/dev\";",
1727
+ t_pop_dev_bound: "import { t_pop_dev_bound } from \"${folder}/dev\";"
1697
1728
  };
1698
1729
  function buildCode(template, map, options) {
1699
1730
  let b = new Builder(options?.mapped);
@@ -1704,8 +1735,10 @@ function buildCode(template, map, options) {
1704
1735
  if (imports.size) {
1705
1736
  b.prepend("");
1706
1737
  for (let imp of Array.from(imports).sort().reverse()) {
1707
- imp = importsMap$1[imp] || imp;
1708
- b.prepend(imp.replace("${folder}", options?.renderFolder || "@torpor/view"));
1738
+ let importStatement = importsMap$1[imp] ?? imp;
1739
+ let folder = options?.renderFolder ?? "@torpor/view";
1740
+ importStatement = importStatement.replace("${folder}", folder);
1741
+ b.prepend(importStatement);
1709
1742
  }
1710
1743
  }
1711
1744
  if (options?.mapped) {
@@ -1728,7 +1761,11 @@ function buildTemplate(template, map, imports, b, options) {
1728
1761
  if (/\$batch\b/.test(script)) imports.add("$batch");
1729
1762
  let currentIndex = 0;
1730
1763
  let current = template.components[0];
1764
+ let status = makeStatus(imports, map, current, options);
1765
+ let first = true;
1731
1766
  for (let chunk of template.script) if (chunk.script === "/* @params */") {
1767
+ if (!first) status = makeStatus(imports, map, current, options);
1768
+ first = false;
1732
1769
  let params = [
1733
1770
  `${current.markup ? "$parent" : "_$parent"}: ParentNode`,
1734
1771
  `${current.markup ? "$anchor" : "_$anchor"}: Node | null`,
@@ -1739,12 +1776,12 @@ function buildTemplate(template, map, imports, b, options) {
1739
1776
  b.append(params.join(",\n"));
1740
1777
  } else if (chunk.script === ") /* @return_type */ {") b.append("): void {");
1741
1778
  else if (chunk.script === "/* @start */") {
1779
+ addPushDevBoundary("component", current.name || "Anon Component", status, b);
1742
1780
  if (current.contextProps?.length) b.append(`$context = Object.assign({}, $context);`);
1743
1781
  b.append("$peek(() => { /**/");
1744
1782
  b.append("");
1745
1783
  } else if (chunk.script === "/* @render */") {
1746
1784
  if (current.markup) {
1747
- let status = makeStatus(imports, map, current, options);
1748
1785
  b.append("");
1749
1786
  b.append("/* User interface */");
1750
1787
  buildFragmentText(current.markup, status, b);
@@ -1753,7 +1790,6 @@ function buildTemplate(template, map, imports, b, options) {
1753
1790
  }
1754
1791
  } else if (chunk.script === "/* @head */") {
1755
1792
  if (current.head) {
1756
- let status = makeStatus(imports, map, current, options);
1757
1793
  b.append("");
1758
1794
  b.append("/* Head */");
1759
1795
  status.inHead = true;
@@ -1761,13 +1797,11 @@ function buildTemplate(template, map, imports, b, options) {
1761
1797
  status.inHead = false;
1762
1798
  }
1763
1799
  } else if (chunk.script === "/* @style */") {} else if (chunk.script === "/* @end */") {
1800
+ addPopDevBoundary(status, b);
1764
1801
  b.append("/**/ });");
1765
1802
  currentIndex += 1;
1766
1803
  current = template.components[currentIndex];
1767
- } else {
1768
- let status = makeStatus(imports, map, current, options);
1769
- addMappedText("", chunk.script, "", chunk.range, status, b);
1770
- }
1804
+ } else addMappedText("", chunk.script, "", chunk.span, status, b);
1771
1805
  }
1772
1806
  function makeStatus(imports, map, current, options) {
1773
1807
  return {
@@ -1782,7 +1816,8 @@ function makeStatus(imports, map, current, options) {
1782
1816
  forVarNames: [],
1783
1817
  ns: false,
1784
1818
  preserveWhitespace: false,
1785
- options
1819
+ inHead: false,
1820
+ options: options ?? {}
1786
1821
  };
1787
1822
  }
1788
1823
 
@@ -2132,12 +2167,7 @@ function buildServerElementNode(node, status, b) {
2132
2167
  function buildElementAttributes(node, status) {
2133
2168
  let needsClass = node.scopeStyles;
2134
2169
  let attributes = [];
2135
- 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) {
2136
- value = value.split(",")[0].trim();
2137
- if (value.startsWith("[")) value = value.substring(1);
2138
- else value = value + "[0]";
2139
- attributes.push(`style="\${Object.entries(${value}).map(([k, v]) => \`$\{k}: $\{v}\`).join("; ")}"`);
2140
- } else if (value != null && fullyReactive) if (name === "&value" || name === "&checked" || name === "&group") {
2170
+ 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") {
2141
2171
  let defaultValue = "";
2142
2172
  let typeAttribute = node.attributes.find((a) => a.name === "type");
2143
2173
  if (typeAttribute && typeAttribute.value) switch (trimQuotes(typeAttribute.value)) {
@@ -2414,14 +2444,12 @@ function buildServerTemplate(template, imports, b, options) {
2414
2444
  */
2415
2445
  function build(template, options) {
2416
2446
  let map = [];
2417
- let code = options?.server ? buildServerCode(template, options) : buildCode(template, map, options);
2418
- let styles = template.components.map((c) => c.style ? {
2419
- style: buildStyles(c.style, c.style.hash),
2420
- hash: c.style.hash
2421
- } : void 0).filter((c) => c !== void 0);
2422
2447
  return {
2423
- code,
2424
- styles,
2448
+ code: options?.server ? buildServerCode(template, options) : buildCode(template, map, options),
2449
+ styles: template.components.map((c) => c.style ? {
2450
+ style: buildStyles(c.style, c.style.hash),
2451
+ hash: c.style.hash
2452
+ } : void 0).filter((c) => c !== void 0),
2425
2453
  map
2426
2454
  };
2427
2455
  }
@@ -2549,7 +2577,7 @@ function addSpaceElement(parent, status) {
2549
2577
  const space = {
2550
2578
  type: "text",
2551
2579
  content,
2552
- ranges: []
2580
+ spans: []
2553
2581
  };
2554
2582
  parent.children.push(space);
2555
2583
  }
@@ -2649,7 +2677,7 @@ function parseTag(status) {
2649
2677
  closed: selfClosed || void 0,
2650
2678
  attributes,
2651
2679
  children: [],
2652
- range: {
2680
+ span: {
2653
2681
  start: tagStart,
2654
2682
  end: tagEnd
2655
2683
  }
@@ -2702,7 +2730,7 @@ function parseAttribute(status) {
2702
2730
  value,
2703
2731
  reactive,
2704
2732
  fullyReactive,
2705
- range: {
2733
+ span: {
2706
2734
  start: valueStart,
2707
2735
  end: valueEnd
2708
2736
  }
@@ -2731,7 +2759,7 @@ function parseAttributeValue(status) {
2731
2759
  //#endregion
2732
2760
  //#region src/compile/parse/parseText.ts
2733
2761
  function parseText(status, element) {
2734
- let ranges = [];
2762
+ let spans = [];
2735
2763
  const start = status.i;
2736
2764
  let end = -1;
2737
2765
  for (let j = status.i; j < status.source.length; j++) {
@@ -2755,7 +2783,7 @@ function parseText(status, element) {
2755
2783
  }
2756
2784
  }
2757
2785
  }
2758
- ranges.push({
2786
+ spans.push({
2759
2787
  start: reactiveStart,
2760
2788
  end: j
2761
2789
  });
@@ -2775,12 +2803,12 @@ function parseText(status, element) {
2775
2803
  const previousNode = element.children[element.children.length - 1];
2776
2804
  if (previousNode && isTextNode(previousNode)) {
2777
2805
  previousNode.content += content + spaceContent;
2778
- previousNode.ranges.push(...ranges);
2806
+ previousNode.spans.push(...spans);
2779
2807
  } else {
2780
2808
  const text = {
2781
2809
  type: "text",
2782
2810
  content: content + spaceContent,
2783
- ranges
2811
+ spans
2784
2812
  };
2785
2813
  element.children.push(text);
2786
2814
  }
@@ -2805,7 +2833,7 @@ function slottifyChildNodes(node) {
2805
2833
  tagName: "fill",
2806
2834
  attributes: [],
2807
2835
  children: nonFillNodes,
2808
- range: {
2836
+ span: {
2809
2837
  start: 0,
2810
2838
  end: 0
2811
2839
  }
@@ -2868,8 +2896,7 @@ function parseElement(status) {
2868
2896
  }
2869
2897
  if (voidTags_default.includes(element.tagName)) checkVoidElement(status, element);
2870
2898
  if (!element.selfClosed && !voidTags_default.includes(element.tagName)) {
2871
- current.stack ??= [];
2872
- current.stack.push(element);
2899
+ status.stack.push(element);
2873
2900
  while (status.i < status.source.length) {
2874
2901
  addSpaceElement(element, status);
2875
2902
  if (accept("}", status, false)) break;
@@ -2877,14 +2904,14 @@ function parseElement(status) {
2877
2904
  else if (accept("@//", status)) status.i = status.source.indexOf("\n", status.i) + 1;
2878
2905
  else if (accept("@/*", status)) status.i = status.source.indexOf("*/", status.i) + 2;
2879
2906
  else if (accept("</", status, false)) {
2880
- if (checkCloseTag(status, element, current)) break;
2907
+ if (checkCloseTag(status, element)) break;
2881
2908
  } else if (accept("<", status, false)) {
2882
2909
  const child = parseElement(status);
2883
2910
  element.children.push(child);
2884
2911
  } else if (accept("@", status, false)) parseControl(status, element);
2885
2912
  else parseText(status, element);
2886
2913
  }
2887
- current.stack.pop();
2914
+ status.stack.pop();
2888
2915
  }
2889
2916
  if (/[A-Z]/.test(element.tagName[0])) {
2890
2917
  element.type = "component";
@@ -2913,12 +2940,12 @@ function parseElement(status) {
2913
2940
  operation: "@replace",
2914
2941
  statement: selfValue,
2915
2942
  children: [element],
2916
- range: {
2943
+ span: {
2917
2944
  start: 0,
2918
2945
  end: 0
2919
2946
  }
2920
2947
  }],
2921
- range: {
2948
+ span: {
2922
2949
  start: 0,
2923
2950
  end: 0
2924
2951
  }
@@ -2943,7 +2970,7 @@ function checkVoidElement(status, element) {
2943
2970
  }
2944
2971
  status.i = i;
2945
2972
  }
2946
- function checkCloseTag(status, element, current) {
2973
+ function checkCloseTag(status, element) {
2947
2974
  const start = status.i;
2948
2975
  accept("</", status);
2949
2976
  consumeSpace(status);
@@ -2953,12 +2980,10 @@ function checkCloseTag(status, element, current) {
2953
2980
  consumeSpace(status);
2954
2981
  accept(">", status);
2955
2982
  let found = false;
2956
- if (current.stack) {
2957
- for (let i = current.stack.length - 1; i >= 0; i--) if (closingTagName === current.stack[i].tagName) {
2958
- current.stack[i].closed = true;
2959
- found = true;
2960
- break;
2961
- }
2983
+ for (let i = status.stack.length - 1; i >= 0; i--) if (closingTagName === status.stack[i].tagName) {
2984
+ status.stack[i].closed = true;
2985
+ found = true;
2986
+ break;
2962
2987
  }
2963
2988
  if (!found) addError(status, `Non-matching close tag: ${closingTagName} (expected ${element.tagName})`, start, start + element.tagName.length + 1);
2964
2989
  return found;
@@ -3048,7 +3073,7 @@ function parseControlOpen(status) {
3048
3073
  operation,
3049
3074
  statement,
3050
3075
  children: [],
3051
- range: {
3076
+ span: {
3052
3077
  start: statementStart,
3053
3078
  end: status.i
3054
3079
  }
@@ -3081,7 +3106,7 @@ function wrangleControlNode(node, parentNode) {
3081
3106
  operation: "@if group",
3082
3107
  statement: "",
3083
3108
  children: [node],
3084
- range: {
3109
+ span: {
3085
3110
  start: 0,
3086
3111
  end: 0
3087
3112
  }
@@ -3102,7 +3127,7 @@ function wrangleControlNode(node, parentNode) {
3102
3127
  operation: "@for group",
3103
3128
  statement: "",
3104
3129
  children: [node],
3105
- range: {
3130
+ span: {
3106
3131
  start: 0,
3107
3132
  end: 0
3108
3133
  }
@@ -3117,7 +3142,7 @@ function wrangleControlNode(node, parentNode) {
3117
3142
  operation: "@await group",
3118
3143
  statement: "",
3119
3144
  children: [node],
3120
- range: {
3145
+ span: {
3121
3146
  start: 0,
3122
3147
  end: 0
3123
3148
  }
@@ -3136,7 +3161,7 @@ function wrangleControlNode(node, parentNode) {
3136
3161
  operation: "@replace group",
3137
3162
  statement: "",
3138
3163
  children: [node],
3139
- range: {
3164
+ span: {
3140
3165
  start: 0,
3141
3166
  end: 0
3142
3167
  }
@@ -3148,7 +3173,7 @@ function wrangleControlNode(node, parentNode) {
3148
3173
  operation: "@html group",
3149
3174
  statement: "",
3150
3175
  children: [node],
3151
- range: {
3176
+ span: {
3152
3177
  start: 0,
3153
3178
  end: 0
3154
3179
  }
@@ -3192,7 +3217,7 @@ function parseMarkup(status, source) {
3192
3217
  const text = {
3193
3218
  type: "text",
3194
3219
  content: consumeSpace(status),
3195
- ranges: []
3220
+ spans: []
3196
3221
  };
3197
3222
  current.markup.children.push(text);
3198
3223
  } else if (accept("<", status, false)) {
@@ -3262,6 +3287,7 @@ function parseStyles(source, status) {
3262
3287
  imports: [],
3263
3288
  script: [],
3264
3289
  components: [],
3290
+ stack: [],
3265
3291
  errors: []
3266
3292
  };
3267
3293
  while (styleStatus.i < styleStatus.source.length) if (isSpaceChar(styleStatus.source, styleStatus.i)) consumeSpace(styleStatus);
@@ -3360,6 +3386,7 @@ function parseCode(source) {
3360
3386
  imports: [],
3361
3387
  script: [],
3362
3388
  components: [],
3389
+ stack: [],
3363
3390
  errors: []
3364
3391
  };
3365
3392
  for (status.i; status.i < source.length; status.i++) if (consumeScriptComments(status)) {} else if (status.source[status.i] === "{") status.level += 1;
@@ -3391,7 +3418,7 @@ function parseCode(source) {
3391
3418
  else if (accept("@style", status, false)) parseComponentStyle(status);
3392
3419
  status.script.push({
3393
3420
  script: source.substring(status.marker, source.length),
3394
- range: {
3421
+ span: {
3395
3422
  start: status.marker,
3396
3423
  end: source.length
3397
3424
  }
@@ -3405,23 +3432,7 @@ function parseCode(source) {
3405
3432
  template: ok ? {
3406
3433
  imports: status.imports,
3407
3434
  script: status.script,
3408
- components: status.components.map((c) => {
3409
- return {
3410
- start: c.start,
3411
- name: c.name,
3412
- exported: c.exported,
3413
- default: c.default,
3414
- documentation: c.documentation,
3415
- params: c.params,
3416
- markup: c.markup,
3417
- head: c.head,
3418
- style: c.style,
3419
- propsType: c.propsType,
3420
- props: c.props,
3421
- contextProps: c.contextProps,
3422
- slotProps: c.slotProps
3423
- };
3424
- })
3435
+ components: status.components
3425
3436
  } : void 0
3426
3437
  };
3427
3438
  }
@@ -3431,11 +3442,9 @@ function parseComponentStart(status) {
3431
3442
  let def = /export\s+default\s+(function\s+|const\s+)*$/.test(source);
3432
3443
  let isConst = /const\s+$/.test(source);
3433
3444
  let isAnon = /export default\s+$/.test(source);
3434
- let componentStart = status.i;
3435
- let name = consumeAlphaNumeric(status);
3436
3445
  const current = {
3437
- start: componentStart,
3438
- name,
3446
+ start: status.i,
3447
+ name: consumeAlphaNumeric(status),
3439
3448
  exported,
3440
3449
  default: def
3441
3450
  };
@@ -3469,14 +3478,14 @@ function parseComponentStart(status) {
3469
3478
  }
3470
3479
  status.script.push({
3471
3480
  script: status.source.substring(status.marker, start),
3472
- range: {
3481
+ span: {
3473
3482
  start: status.marker,
3474
3483
  end: start
3475
3484
  }
3476
3485
  });
3477
3486
  status.script.push({
3478
3487
  script: "/* @params */",
3479
- range: {
3488
+ span: {
3480
3489
  start: 0,
3481
3490
  end: 0
3482
3491
  }
@@ -3490,7 +3499,7 @@ function parseComponentStart(status) {
3490
3499
  if (propsTypeStart !== -1) {
3491
3500
  let bracesStart = status.source.indexOf("{", propsTypeStart);
3492
3501
  if (bracesStart !== -1) {
3493
- const status2 = {
3502
+ const propsType = parseInlineScript({
3494
3503
  source: status.source,
3495
3504
  i: bracesStart + 1,
3496
3505
  marker: 0,
@@ -3498,9 +3507,9 @@ function parseComponentStart(status) {
3498
3507
  imports: [],
3499
3508
  script: [],
3500
3509
  components: [],
3510
+ stack: [],
3501
3511
  errors: []
3502
- };
3503
- const propsType = parseInlineScript(status2);
3512
+ });
3504
3513
  if (propsType) current.propsType = `${status.source.substring(propsTypeStart, bracesStart)}{${propsType}}`;
3505
3514
  }
3506
3515
  }
@@ -3517,7 +3526,7 @@ function parseComponentStart(status) {
3517
3526
  status.level += 1;
3518
3527
  const postFunctionChunk = {
3519
3528
  script: status.source.substring(status.marker, status.i),
3520
- range: {
3529
+ span: {
3521
3530
  start: status.marker,
3522
3531
  end: status.i
3523
3532
  }
@@ -3526,7 +3535,7 @@ function parseComponentStart(status) {
3526
3535
  status.script.push(postFunctionChunk);
3527
3536
  status.script.push({
3528
3537
  script: "/* @start */",
3529
- range: {
3538
+ span: {
3530
3539
  start: 0,
3531
3540
  end: 0
3532
3541
  }
@@ -3535,7 +3544,7 @@ function parseComponentStart(status) {
3535
3544
  const space = consumeSpace(status);
3536
3545
  status.script.push({
3537
3546
  script: space,
3538
- range: {
3547
+ span: {
3539
3548
  start: status.marker,
3540
3549
  end: status.i
3541
3550
  }
@@ -3549,14 +3558,14 @@ function parseComponentRender(status) {
3549
3558
  if (current.markup) addError(status, `Multiple @render sections`, status.i, status.i + 7);
3550
3559
  status.script.push({
3551
3560
  script: status.source.substring(status.marker, status.i),
3552
- range: {
3561
+ span: {
3553
3562
  start: status.marker,
3554
3563
  end: status.i
3555
3564
  }
3556
3565
  });
3557
3566
  status.script.push({
3558
3567
  script: "/* @render */",
3559
- range: {
3568
+ span: {
3560
3569
  start: 0,
3561
3570
  end: 0
3562
3571
  }
@@ -3575,14 +3584,14 @@ function parseComponentHead(status) {
3575
3584
  if (current.head) addError(status, `Multiple @head sections`, status.i, status.i + 5);
3576
3585
  status.script.push({
3577
3586
  script: status.source.substring(status.marker, status.i),
3578
- range: {
3587
+ span: {
3579
3588
  start: status.marker,
3580
3589
  end: status.i
3581
3590
  }
3582
3591
  });
3583
3592
  status.script.push({
3584
3593
  script: "/* @head */",
3585
- range: {
3594
+ span: {
3586
3595
  start: 0,
3587
3596
  end: 0
3588
3597
  }
@@ -3603,14 +3612,14 @@ function parseComponentStyle(status) {
3603
3612
  if (current.style) addError(status, `Multiple @style sections`, status.i, status.i + 6);
3604
3613
  status.script.push({
3605
3614
  script: status.source.substring(status.marker, status.i),
3606
- range: {
3615
+ span: {
3607
3616
  start: status.marker,
3608
3617
  end: status.i
3609
3618
  }
3610
3619
  });
3611
3620
  status.script.push({
3612
3621
  script: "/* @style */",
3613
- range: {
3622
+ span: {
3614
3623
  start: 0,
3615
3624
  end: 0
3616
3625
  }
@@ -3654,14 +3663,14 @@ function parseComponentEnd(status) {
3654
3663
  if (!current) return;
3655
3664
  status.script.push({
3656
3665
  script: status.source.substring(status.marker, status.i),
3657
- range: {
3666
+ span: {
3658
3667
  start: status.marker,
3659
3668
  end: status.i
3660
3669
  }
3661
3670
  });
3662
3671
  status.script.push({
3663
3672
  script: "/* @end */",
3664
- range: {
3673
+ span: {
3665
3674
  start: 0,
3666
3675
  end: 0
3667
3676
  }