@torpor/view 0.2.0 → 0.3.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 (719) hide show
  1. package/.oxlintrc.json +3 -0
  2. package/CHANGELOG.md +25 -0
  3. package/README.md +27 -26
  4. package/dist/Component-d19HOoEw.d.ts +11 -0
  5. package/dist/Component-d19HOoEw.d.ts.map +1 -0
  6. package/dist/ServerSlotRender-BiG4xB8e.d.ts +41 -0
  7. package/dist/ServerSlotRender-BiG4xB8e.d.ts.map +1 -0
  8. package/dist/compile.d.ts +202 -148
  9. package/dist/compile.d.ts.map +1 -0
  10. package/dist/compile.js +3378 -3754
  11. package/dist/compile.js.map +1 -1
  12. package/dist/formatText-B0FXBdFT.js +410 -0
  13. package/dist/formatText-B0FXBdFT.js.map +1 -0
  14. package/dist/index.d.ts +371 -171
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +819 -765
  17. package/dist/index.js.map +1 -1
  18. package/dist/ssr.d.ts +13 -8
  19. package/dist/ssr.d.ts.map +1 -0
  20. package/dist/ssr.js +18 -27
  21. package/dist/ssr.js.map +1 -1
  22. package/package.json +17 -21
  23. package/scripts/buildTestOutput.ts +1 -1
  24. package/scripts/copyToRepl.ts +9 -7
  25. package/src/ambient.d.ts +1 -0
  26. package/src/compile/build/client/BuildStatus.ts +6 -4
  27. package/src/compile/build/client/addMappedText.ts +25 -0
  28. package/src/compile/build/client/buildAddFragment.ts +26 -4
  29. package/src/compile/build/client/buildAwaitNode.ts +86 -54
  30. package/src/compile/build/client/buildCode.ts +91 -57
  31. package/src/compile/build/client/buildComponentNode.ts +20 -42
  32. package/src/compile/build/client/buildControlNode.ts +5 -4
  33. package/src/compile/build/client/buildElementNode.ts +66 -71
  34. package/src/compile/build/client/buildForNode.ts +24 -12
  35. package/src/compile/build/client/buildFragment.ts +29 -43
  36. package/src/compile/build/client/buildFragmentText.ts +27 -20
  37. package/src/compile/build/client/buildHtmlNode.ts +5 -3
  38. package/src/compile/build/client/buildIfNode.ts +44 -29
  39. package/src/compile/build/client/buildMount.ts +1 -1
  40. package/src/compile/build/client/buildNode.ts +8 -7
  41. package/src/compile/build/client/buildReplaceNode.ts +5 -3
  42. package/src/compile/build/client/buildRootNode.ts +2 -2
  43. package/src/compile/build/client/buildRun.ts +1 -1
  44. package/src/compile/build/client/buildScriptNode.ts +5 -3
  45. package/src/compile/build/client/buildSlotNode.ts +7 -23
  46. package/src/compile/build/client/buildSpecialNode.ts +10 -14
  47. package/src/compile/build/client/buildStyles.ts +53 -18
  48. package/src/compile/build/client/buildSwitchNode.ts +53 -32
  49. package/src/compile/build/client/buildTextNode.ts +31 -28
  50. package/src/compile/build/client/replaceForVarNames.ts +1 -1
  51. package/src/compile/build/client/stashRun.ts +22 -0
  52. package/src/compile/build/client/stashRunWithOffsets.ts +32 -0
  53. package/src/compile/build/server/BuildServerStatus.ts +3 -3
  54. package/src/compile/build/server/buildServerAwaitNode.ts +3 -3
  55. package/src/compile/build/server/buildServerCode.ts +57 -45
  56. package/src/compile/build/server/buildServerComponentNode.ts +10 -35
  57. package/src/compile/build/server/buildServerControlNode.ts +5 -2
  58. package/src/compile/build/server/buildServerElementNode.ts +15 -29
  59. package/src/compile/build/server/buildServerForNode.ts +3 -3
  60. package/src/compile/build/server/buildServerHtmlNode.ts +3 -3
  61. package/src/compile/build/server/buildServerIfNode.ts +3 -3
  62. package/src/compile/build/server/buildServerNode.ts +7 -6
  63. package/src/compile/build/server/buildServerReplaceNode.ts +3 -3
  64. package/src/compile/build/server/buildServerRootNode.ts +2 -2
  65. package/src/compile/build/server/buildServerScriptNode.ts +1 -1
  66. package/src/compile/build/server/buildServerSlotNode.ts +5 -21
  67. package/src/compile/build/server/buildServerSpecialNode.ts +10 -13
  68. package/src/compile/build/server/buildServerSwitchNode.ts +3 -3
  69. package/src/compile/build/server/buildServerTextNode.ts +9 -23
  70. package/src/compile/build/utils/nextVarName.ts +2 -2
  71. package/src/compile/build.ts +9 -4
  72. package/src/compile/buildType.ts +2 -2
  73. package/src/compile/parse/ParseComponentStatus.ts +24 -0
  74. package/src/compile/parse/ParseStatus.ts +6 -26
  75. package/src/compile/parse/addSpaceElement.ts +6 -5
  76. package/src/compile/parse/parseCode.ts +116 -60
  77. package/src/compile/parse/parseControl.ts +34 -32
  78. package/src/compile/parse/parseElement.ts +56 -121
  79. package/src/compile/parse/parseImports.ts +1 -1
  80. package/src/compile/parse/parseInlineScript.ts +12 -26
  81. package/src/compile/parse/parseMarkup.ts +9 -3
  82. package/src/compile/parse/parseStyles.ts +4 -4
  83. package/src/compile/parse/parseTag.ts +50 -8
  84. package/src/compile/parse/parseText.ts +96 -0
  85. package/src/compile/parse/scopeStyles.ts +9 -9
  86. package/src/compile/parse/slottifyChildNodes.ts +8 -7
  87. package/src/compile/parse/utils/accept.ts +1 -1
  88. package/src/compile/parse/utils/addError.ts +24 -6
  89. package/src/compile/parse/utils/consumeAlphaNumeric.ts +1 -1
  90. package/src/compile/parse/utils/consumeNonSpace.ts +1 -1
  91. package/src/compile/parse/utils/consumeSpace.ts +1 -1
  92. package/src/compile/parse/utils/consumeUntil.ts +1 -1
  93. package/src/compile/parse/utils/expect.ts +1 -1
  94. package/src/compile/parse.ts +1 -1
  95. package/src/compile/types/BuildResult.ts +5 -2
  96. package/src/compile/types/CompileError.ts +8 -5
  97. package/src/compile/types/Import.ts +2 -2
  98. package/src/compile/types/ParseResult.ts +4 -4
  99. package/src/compile/types/ScriptChunk.ts +6 -0
  100. package/src/compile/types/SourceMapping.ts +7 -0
  101. package/src/compile/types/SourceRange.ts +4 -0
  102. package/src/compile/types/nodes/Attribute.ts +7 -2
  103. package/src/compile/types/nodes/ControlNode.ts +8 -6
  104. package/src/compile/types/nodes/ElementNode.ts +11 -6
  105. package/src/compile/types/nodes/Fragment.ts +10 -2
  106. package/src/compile/types/nodes/NodeType.ts +3 -1
  107. package/src/compile/types/nodes/OperationType.ts +3 -1
  108. package/src/compile/types/nodes/ParentNode.ts +4 -4
  109. package/src/compile/types/nodes/RootNode.ts +5 -5
  110. package/src/compile/types/nodes/TemplateNode.ts +3 -3
  111. package/src/compile/types/nodes/TextNode.ts +5 -3
  112. package/src/compile/types/styles/Attribute.ts +2 -2
  113. package/src/compile/types/styles/Style.ts +3 -3
  114. package/src/compile/types/styles/StyleBlock.ts +3 -3
  115. package/src/compile/utils/Builder.ts +25 -11
  116. package/src/compile/utils/endOfString.ts +8 -0
  117. package/src/compile/utils/endOfTemplateString.ts +14 -0
  118. package/src/compile/{types/nodes → utils}/isComponentNode.ts +2 -2
  119. package/src/compile/utils/isControlNode.ts +6 -0
  120. package/src/compile/utils/isElementNode.ts +6 -0
  121. package/src/compile/utils/isParentNode.ts +6 -0
  122. package/src/compile/{types/nodes → utils}/isSpaceNode.ts +3 -3
  123. package/src/compile/utils/isSpecialNode.ts +6 -0
  124. package/src/compile/utils/isTextNode.ts +6 -0
  125. package/src/compile.ts +2 -2
  126. package/src/debug/printNode.ts +4 -0
  127. package/src/debug/printRanges.ts +74 -0
  128. package/src/debug/printSignalDiagram.ts +139 -0
  129. package/src/debug/printSimpleDiagram.ts +88 -0
  130. package/src/index.ts +13 -6
  131. package/src/render/$batch.ts +22 -0
  132. package/src/render/$cache.ts +34 -0
  133. package/src/render/$mount.ts +1 -1
  134. package/src/render/$peek.ts +14 -0
  135. package/src/render/$run.ts +16 -13
  136. package/src/render/$serverBatch.ts +3 -0
  137. package/src/render/$serverCache.ts +3 -0
  138. package/src/render/$serverMount.ts +1 -1
  139. package/src/render/$serverPeek.ts +3 -0
  140. package/src/render/$serverRun.ts +1 -1
  141. package/src/render/$unwrap.ts +3 -1
  142. package/src/render/$watch.ts +12 -13
  143. package/src/render/addAnimation.ts +1 -1
  144. package/src/render/addFragment.ts +15 -24
  145. package/src/render/applyProps.ts +1 -1
  146. package/src/render/buildClasses.ts +2 -2
  147. package/src/render/clearLayoutSlot.ts +1 -1
  148. package/src/render/clearRange.ts +43 -50
  149. package/src/render/context.ts +19 -48
  150. package/src/render/fillLayoutSlot.ts +3 -3
  151. package/src/render/getFragment.ts +1 -1
  152. package/src/render/hydrate.ts +9 -2
  153. package/src/render/hydrateRoot.ts +2 -2
  154. package/src/render/isCommentNode.ts +2 -2
  155. package/src/render/isFragmentNode.ts +2 -2
  156. package/src/render/isTextNode.ts +2 -2
  157. package/src/render/mount.ts +12 -4
  158. package/src/render/moveRange.ts +4 -11
  159. package/src/render/newListItem.ts +4 -4
  160. package/src/render/newRange.ts +6 -5
  161. package/src/render/nodeAnchor.ts +3 -3
  162. package/src/render/nodeCheckHydrationBreak.ts +2 -2
  163. package/src/render/nodeChild.ts +2 -2
  164. package/src/render/nodeNext.ts +1 -1
  165. package/src/render/nodeRoot.ts +8 -3
  166. package/src/render/popRange.ts +2 -2
  167. package/src/render/pushRange.ts +12 -4
  168. package/src/render/runControl.ts +1 -5
  169. package/src/render/runControlBranch.ts +10 -24
  170. package/src/render/runList.ts +6 -5
  171. package/src/render/runListItems.ts +39 -39
  172. package/src/render/setAttribute.ts +1 -1
  173. package/src/render/setDynamicElement.ts +2 -2
  174. package/src/ssr.ts +5 -2
  175. package/src/types/Animation.ts +1 -1
  176. package/src/types/BuildOptions.ts +6 -2
  177. package/src/types/Cleanup.ts +3 -1
  178. package/src/types/Component.ts +4 -2
  179. package/src/types/Computed.ts +62 -0
  180. package/src/types/Context.ts +99 -0
  181. package/src/types/Effect.ts +45 -9
  182. package/src/types/ListItem.ts +3 -3
  183. package/src/types/ProxyData.ts +6 -4
  184. package/src/types/ProxySignal.ts +28 -0
  185. package/src/types/Range.ts +10 -16
  186. package/src/types/ServerComponent.ts +4 -2
  187. package/src/types/ServerSlotRender.ts +3 -1
  188. package/src/types/SlotRender.ts +4 -2
  189. package/src/types/Subscription.ts +57 -0
  190. package/src/types/Template.ts +6 -5
  191. package/src/types/TemplateComponent.ts +7 -5
  192. package/src/types/WatchOptions.ts +8 -2
  193. package/src/types/constants.ts +14 -0
  194. package/src/watch/batchEnd.ts +17 -0
  195. package/src/watch/batchStart.ts +5 -0
  196. package/src/watch/checkComputed.ts +46 -0
  197. package/src/watch/checkEffect.ts +30 -0
  198. package/src/watch/checkSources.ts +63 -0
  199. package/src/watch/clearSources.ts +39 -0
  200. package/src/watch/clearTargets.ts +28 -0
  201. package/src/watch/deactivateSources.ts +19 -0
  202. package/src/watch/proxyGet.ts +106 -51
  203. package/src/watch/proxySet.ts +17 -13
  204. package/src/watch/runCleanups.ts +40 -0
  205. package/src/watch/runComputed.ts +36 -0
  206. package/src/watch/runEffect.ts +38 -13
  207. package/src/watch/symbols.ts +3 -1
  208. package/src/watch/trackEffect.ts +63 -15
  209. package/src/watch/trackProxyEffect.ts +21 -0
  210. package/src/watch/transferEffects.ts +66 -62
  211. package/src/watch/triggerEffects.ts +55 -18
  212. package/src/watch/updateSignal.ts +102 -0
  213. package/src/wrappers/ReactiveDate.ts +68 -0
  214. package/test/attributes/attributes.test.ts +2 -2
  215. package/test/attributes/components/output/Attributes-client.ts +8 -20
  216. package/test/attributes/components/output/Attributes-server.ts +8 -11
  217. package/test/attributes/components/temp/{Attributes-client-4620a40099e57a7fdaab895b204d85881f6dbfb7.ts → Attributes-client-9b2935d7824ba501776fdc6c48861422c15b6a12.ts} +8 -20
  218. package/test/attributes/components/temp/{Attributes-server-f4c59f5e4757ce0113907389902499efc36cfe38.ts → Attributes-server-716db6e335e5a372a34dd931e5f358ee6d1869e5.ts} +8 -11
  219. package/test/attributes/disappearing.test.ts +2 -2
  220. package/test/attributes/parse.test.ts +161 -248
  221. package/test/await/await.test.ts +2 -2
  222. package/test/await/components/Await.torp +2 -2
  223. package/test/await/components/output/Await-client.ts +25 -39
  224. package/test/await/components/output/Await-server.ts +9 -11
  225. package/test/await/components/temp/{Await-client-17b0e7c682fbff8518a440831620c1024b8be23a.ts → Await-client-e969f4bd0712acf259ddfaa5a3b3448307201fd2.ts} +25 -39
  226. package/test/await/components/temp/{Await-server-eb8d79f8abc791dd8e87f9713534cebf0eb2c854.ts → Await-server-614014fab69e234b8271088b10397cf0452d9a76.ts} +9 -11
  227. package/test/bench/components/Bench.torp +3 -3
  228. package/test/bench/components/output/Bench-client.ts +43 -252
  229. package/test/bench/components/output/Bench-server.ts +13 -26
  230. package/test/bench/components/temp/Bench-client-7f31596dafc8077370d8d90b1bb9b6e0208154e7.ts +205 -0
  231. package/test/bench/components/temp/Bench-server-341b20073668f4f2160cd2ba37847c7db15e1e0f.ts +129 -0
  232. package/test/bind/bind.test.ts +2 -2
  233. package/test/bind/component.test.ts +2 -2
  234. package/test/bind/components/output/BindComponent-client.ts +9 -19
  235. package/test/bind/components/output/BindComponent-server.ts +13 -18
  236. package/test/bind/components/output/BindText-client.ts +6 -13
  237. package/test/bind/components/output/BindText-server.ts +8 -10
  238. package/test/bind/components/temp/{BindComponent-client-a59ee6a598341c64c79be633ae7b22cb594dd0bc.ts → BindComponent-client-22eccb5354a2b0267841e015f3a2a0baf534bf89.ts} +9 -19
  239. package/test/bind/components/temp/{BindComponent-server-96120f1e75c77e02ba11ab719c225005e168d25f.ts → BindComponent-server-0da6ba90a409468fd1f7358f8198e96b7595ff80.ts} +13 -18
  240. package/test/bind/components/temp/{BindText-client-dac614203e672e51675b22a246983168a7c173ea.ts → BindText-client-7692ae1570533cc17e2186e9c7d4768529e4a2fe.ts} +6 -13
  241. package/test/bind/components/temp/{BindText-server-c713033ef787587f752fc8e6282e3a8faeee9a08.ts → BindText-server-6801c5f8e66a65405b45061bc037a011620c0591.ts} +8 -10
  242. package/test/build-server/build-server.test.ts +1 -0
  243. package/test/{if/components/temp/IfNested-client-f3045daba052e459add6e7f84e8d21ba7b0d81e4.ts → build-server/components/output/IfNested-client.ts} +23 -27
  244. package/test/{if/components/temp/IfNested-server-061ea3d56576a352be8a9db8424fae0f1d74cd36.ts → build-server/components/output/IfNested-server.ts} +6 -9
  245. package/test/build-server/components/temp/IfNested-client-eefdd449fa700b2e7326bc72df8b32ddcadf9d21.ts +88 -0
  246. package/test/build-server/components/temp/IfNested-server-7a53e4969b5dfe5073f05edbcb1b986f718bb939.ts +29 -0
  247. package/test/buildHtml.ts +2 -1
  248. package/test/buildOutputFiles.ts +3 -3
  249. package/test/child-component/child-component.test.ts +2 -2
  250. package/test/child-component/components/output/ParentChild-client.ts +9 -19
  251. package/test/child-component/components/output/ParentChild-server.ts +12 -18
  252. package/test/child-component/components/temp/{ParentChild-client-198e4ebc2ef5277ad7147f69d5879946fbe2d6ec.ts → ParentChild-client-2dfd600f7d409630d429a1d2d18c038bd08b08da.ts} +9 -19
  253. package/test/child-component/components/temp/{ParentChild-server-55e809830788ae740608136cf66664fc5434a9cd.ts → ParentChild-server-448d57c3229189c1d297d01dfb0f33646d280e90.ts} +12 -18
  254. package/test/class/class.test.ts +2 -2
  255. package/test/class/components/output/Class-client.ts +11 -29
  256. package/test/class/components/output/Class-server.ts +16 -19
  257. package/test/class/components/temp/{Class-client-7defac0b98d9c9f303670c0372e329e31823f163.ts → Class-client-5af6a50cd454ae019b2aa79457ba7ead83b8c056.ts} +11 -29
  258. package/test/class/components/temp/{Class-server-46563e9c3bf56b642ac496b60179decfd0b4e952.ts → Class-server-eb70ff01fbc7d6d53e16c3593ba021a6bf0317f9.ts} +16 -19
  259. package/test/comments/html-comments.test.ts +16 -24
  260. package/test/comments/js-block-comments.test.ts +16 -25
  261. package/test/comments/js-line-comments.test.ts +16 -25
  262. package/test/component/component.test.ts +2 -2
  263. package/test/component/components/Component.torp +1 -1
  264. package/test/component/components/output/Component-client.ts +5 -10
  265. package/test/component/components/output/Component-server.ts +7 -10
  266. package/test/component/components/output/Header-client.ts +6 -12
  267. package/test/component/components/output/Header-server.ts +7 -10
  268. package/test/component/components/temp/{Component-client-350d20784712c710929cc3ab34c6828b0ea338d8.ts → Component-client-fdc327499be0a01f987d0f2897baf022a247c77c.ts} +5 -10
  269. package/test/component/components/temp/{Component-server-2d4aa317e6c385036e07f4c3946fc18ba848c00d.ts → Component-server-f53221ac7b1c922ef10de2d1fe8fb534d0169fe7.ts} +7 -10
  270. package/test/component/components/temp/{Header-client-903877003b220272b0cb5bfd62d7d748ad46c477.ts → Header-client-6beb5770e68e6b19595e53e20bc906765fc6c260.ts} +6 -12
  271. package/test/component/components/temp/Header-server-940b0984f9b6c11f310db9200c9075ded385eda5.ts +16 -0
  272. package/test/console/components/output/Console-client.ts +5 -10
  273. package/test/console/components/output/Console-server.ts +7 -10
  274. package/test/console/components/temp/{Console-client-4fa3b3679cee88bf6151185438e36d14010944b7.ts → Console-client-2b58290ac407ebbe89a0613d64eb9cd141b99887.ts} +5 -10
  275. package/test/console/components/temp/Console-server-bde0121ce434f767435b1841fc4c24402becdba2.ts +15 -0
  276. package/test/console/console.test.ts +2 -2
  277. package/test/const/components/output/Const-client.ts +6 -11
  278. package/test/const/components/output/Const-server.ts +7 -10
  279. package/test/const/components/temp/{Const-client-b0293a037d9ed7b6ad4591c153723a3c26d46029.ts → Const-client-d1037557e7ef75a8fe06f56816e65883047e9421.ts} +6 -11
  280. package/test/const/components/temp/{Const-server-5fd2444a9ae7a676b7c4480e01e28f7f89624fdc.ts → Const-server-32ddc3617afe2324f17a4cff6c0f086df6694778.ts} +7 -10
  281. package/test/const/const.test.ts +2 -2
  282. package/test/context/components/ChildA.torp +10 -0
  283. package/test/context/components/ChildB.torp +8 -0
  284. package/test/context/components/Parent.torp +11 -0
  285. package/test/context/components/output/ChildA-client.ts +38 -0
  286. package/test/context/components/output/ChildA-server.ts +19 -0
  287. package/test/context/components/output/ChildB-client.ts +27 -0
  288. package/test/context/components/output/ChildB-server.ts +18 -0
  289. package/test/context/components/output/Parent-server.ts +31 -0
  290. package/test/context/components/temp/ChildA-client-9dea3e29ffcb82ca1779f6ff671e19b1c106fc4a.ts +38 -0
  291. package/test/context/components/temp/ChildA-server-54024d23c8241c3f475068f4fe3a3a14fd1c5870.ts +19 -0
  292. package/test/context/components/temp/ChildB-client-4b801099936c8aa013a1220f291375f67eba1acb.ts +27 -0
  293. package/test/context/components/temp/ChildB-server-f9b71341863bf869248bd406dbe8c7726a30ff90.ts +18 -0
  294. package/test/context/components/temp/Parent-client-9898b2e521527c86d69905053b6727ea8fd28166.ts +41 -0
  295. package/test/context/components/temp/Parent-server-b592ff0f516f4592e56d3a0bcb1f271ed28e812c.ts +31 -0
  296. package/test/context/context.test.ts +37 -0
  297. package/test/effects/components/output/For-client.ts +18 -19
  298. package/test/effects/components/output/For-server.ts +6 -9
  299. package/test/effects/components/output/If-client.ts +14 -18
  300. package/test/effects/components/output/If-server.ts +6 -9
  301. package/test/effects/components/output/NestedIf-client.ts +22 -25
  302. package/test/effects/components/output/NestedIf-server.ts +6 -9
  303. package/test/effects/components/temp/{For-client-268e69779d5b744377af9b30df256a453adaf183.ts → For-client-7c7d7c0dba2547f816b9bd9c6a95d6873ec00ffd.ts} +18 -19
  304. package/test/effects/components/temp/{For-server-b15b01b4daaf50fd95de790102089eb930e84e9b.ts → For-server-9e2de4efaff38ecf6c8a169c629d83c385489ca1.ts} +6 -9
  305. package/test/effects/components/temp/{If-client-4df0e6fc27a6f7d60ce056fd65df687213f3a2f9.ts → If-client-f0480a98f80b32612d12765c6838ff6db5982e82.ts} +14 -18
  306. package/test/effects/components/temp/{If-server-0a213ea232e0225d5a8ecb012ad418136b86fbe7.ts → If-server-ab409671b5d4c918047394a37b6e96b0e17063ca.ts} +6 -9
  307. package/test/effects/components/temp/{NestedIf-client-bfd381672c51febbe2f101f19afd5f6ff570ce7e.ts → NestedIf-client-702deffd158f219c5da4199b563a62cd54385a7f.ts} +22 -25
  308. package/test/effects/components/temp/{NestedIf-server-6089abc72d6208e64d1818ddb624ad5c3f236afa.ts → NestedIf-server-40f6bfd99a7e75fb4f9f874adab77e5eed97c629.ts} +6 -9
  309. package/test/effects/for-effect.test.ts +15 -15
  310. package/test/effects/if-effect.test.ts +7 -7
  311. package/test/effects/nested-if-effect.test.ts +11 -11
  312. package/test/events/components/Increment.torp +1 -1
  313. package/test/events/components/output/Increment-client.ts +7 -12
  314. package/test/events/components/output/Increment-server.ts +9 -11
  315. package/test/events/components/temp/{Increment-client-db2fd3376f12b186a4276eac470bf10b7bf2da19.ts → Increment-client-84c09711baf098c82ee226598ba7a36913616b75.ts} +7 -12
  316. package/test/events/components/temp/{Increment-server-062b9757192b84e5a6e247aa44e1e7887129293d.ts → Increment-server-e77c6b207023ac60e033ca542ee82473ef017f74.ts} +9 -11
  317. package/test/events/events.test.ts +9 -15
  318. package/test/for/components/output/For-client.ts +19 -19
  319. package/test/for/components/output/For-server.ts +7 -10
  320. package/test/for/components/output/ForEscape-client.ts +23 -37
  321. package/test/for/components/output/ForEscape-server.ts +8 -10
  322. package/test/for/components/output/ForIn-client.ts +19 -20
  323. package/test/for/components/output/ForIn-server.ts +7 -10
  324. package/test/for/components/output/ForOf-client.ts +19 -20
  325. package/test/for/components/output/ForOf-server.ts +7 -10
  326. package/test/for/components/temp/{For-client-8ecb11a2f34c81f837bffdb88598da06d8c19158.ts → For-client-2f6b4b81670b0ba31b01176b4f61ebf321e945bb.ts} +19 -19
  327. package/test/for/components/temp/{For-server-082c156a9f047995bc55f9477295d8e3262614f5.ts → For-server-5144615e53d23da5062b7169e847e0777d068738.ts} +7 -10
  328. package/test/for/components/temp/{ForEscape-client-14e7648415d967cdc57bf03d176eb6b6dddf0fb2.ts → ForEscape-client-8d0fcc940851e687173b6a9129c3d83e0fc771ef.ts} +23 -37
  329. package/test/for/components/temp/{ForEscape-server-2db43ff8397ddbb114b5bff3d88a63728184a811.ts → ForEscape-server-b359d8d3e12bac290855a1b27387ddd963562c08.ts} +8 -10
  330. package/test/for/components/temp/{ForIn-client-25cd67f246a50fc6d926a8c66aa5e106f19578a8.ts → ForIn-client-fa0614a1c7b8aa6e8819ed91a518479fd80453ae.ts} +19 -20
  331. package/test/for/components/temp/{ForIn-server-fda7a21cbb8a7ad69c48d2a8533cc13fa98d54b6.ts → ForIn-server-5fd472a7a5a5c00b384791780025a0c3bdc9c41b.ts} +7 -10
  332. package/test/for/components/temp/{ForOf-client-8f6598ccd9dc7b79aff6167b90ccea94f3029c84.ts → ForOf-client-11006c4239d9018363e582dc5b54b50477d652e7.ts} +19 -20
  333. package/test/for/components/temp/{ForOf-server-cd2b01507304e25c34030755b915f56785375de8.ts → ForOf-server-197b29abcb60412c6c8670b2d4a2e644b650faa3.ts} +7 -10
  334. package/test/for/for-escape.test.ts +2 -2
  335. package/test/for/for-in.test.ts +4 -4
  336. package/test/for/for-of.test.ts +4 -4
  337. package/test/for/for-with-key.test.ts +28 -36
  338. package/test/for/for.test.ts +2 -2
  339. package/test/function/components/Function.torp +0 -1
  340. package/test/function/components/output/Function-client.ts +6 -12
  341. package/test/function/components/output/Function-server.ts +8 -11
  342. package/test/function/components/temp/{Function-client-2068eb8ae35b3157b8eda79addde6afd9f4d7006.ts → Function-client-ec5fe7d599d6099bdfab78c2a0c8edf77a23cd9b.ts} +6 -12
  343. package/test/function/components/temp/{Function-server-4b66a728f6f1b170d678313238bdc9158356511e.ts → Function-server-fee2402b0ef4ad4c3d2779afb190ce46dbedf737.ts} +8 -11
  344. package/test/function/function.test.ts +7 -13
  345. package/test/helpers.ts +44 -9
  346. package/test/html/components/output/Html-client.ts +6 -12
  347. package/test/html/components/output/Html-server.ts +7 -10
  348. package/test/html/components/temp/{Html-client-93b0d666142c64cd651dc37f14f12884b2f30612.ts → Html-client-82ff34dcdcbdf4be1112bcb1baac8027cdc32de7.ts} +6 -12
  349. package/test/html/components/temp/Html-server-14fa484fc2a617bc0f24432a2e37e7a756f87a0f.ts +15 -0
  350. package/test/html/html.test.ts +2 -2
  351. package/test/hydrateComponent.ts +2 -2
  352. package/test/if/components/output/IfAfterIf-client.ts +21 -23
  353. package/test/if/components/output/IfAfterIf-server.ts +6 -9
  354. package/test/if/components/output/IfElse-client.ts +14 -18
  355. package/test/if/components/output/IfElse-server.ts +6 -9
  356. package/test/if/components/output/IfElseIf-client.ts +16 -22
  357. package/test/if/components/output/IfElseIf-server.ts +6 -9
  358. package/test/if/components/output/IfFalse-client.ts +13 -16
  359. package/test/if/components/output/IfFalse-server.ts +6 -9
  360. package/test/if/components/output/IfNested-client.ts +23 -27
  361. package/test/if/components/output/IfNested-server.ts +6 -9
  362. package/test/if/components/temp/{IfAfterIf-client-6b4833209a01cdad18d453839e9c8b5dad2a8510.ts → IfAfterIf-client-c1cfd21a6ace4945703ba8f46aada923a60265d9.ts} +21 -23
  363. package/test/if/components/temp/{IfAfterIf-server-3e6a3beab27821c3e53290ee72eca811814aad38.ts → IfAfterIf-server-26c9a638e3933a53208bfe66f8f37067511a28aa.ts} +6 -9
  364. package/test/if/components/temp/{IfElse-client-f7eb8e5fe5e62975a2442c4b0ff3344fa44cef69.ts → IfElse-client-06dfcacd3a5225dcb0947587bcd4fae9ec3d3c1e.ts} +14 -18
  365. package/test/if/components/temp/{IfElse-server-1b5006dfad695f257c7453a79bde3944898fbf6d.ts → IfElse-server-146b3779f85ea02a281c6042dddefa5372945fb0.ts} +6 -9
  366. package/test/if/components/temp/{IfElseIf-client-734f1b2d9133294573770c1ffc2b589273498532.ts → IfElseIf-client-26df9a728c9cb712d5ac0235b4c99885f25545b8.ts} +16 -22
  367. package/test/if/components/temp/{IfElseIf-server-11c65065e9e5640ad65cd0c37af07f1e57c4f49c.ts → IfElseIf-server-f094cdb45bc0fcd3144ca493346994b2445d2ff0.ts} +6 -9
  368. package/test/if/components/temp/{IfFalse-client-8a388cb48b4a5879d491f57d1f2551834de1e72e.ts → IfFalse-client-de6fc8e9eb222153608490e6d172e9aae9000aa1.ts} +13 -16
  369. package/test/if/components/temp/{IfFalse-server-40d07bc07e5edffd7386fb6016cd025b98175219.ts → IfFalse-server-b6d3446fd7d4219d5cb3c1009dec76870e73fa30.ts} +6 -9
  370. package/test/if/components/temp/IfNested-client-eefdd449fa700b2e7326bc72df8b32ddcadf9d21.ts +88 -0
  371. package/test/if/components/temp/IfNested-server-7a53e4969b5dfe5073f05edbcb1b986f718bb939.ts +29 -0
  372. package/test/if/else-if-true.test.ts +4 -4
  373. package/test/if/else-true.test.ts +4 -4
  374. package/test/if/if-after-if.test.ts +4 -4
  375. package/test/if/if-else-false.test.ts +4 -4
  376. package/test/if/if-else-true.test.ts +4 -4
  377. package/test/if/if-false.test.ts +4 -4
  378. package/test/if/if-nested.test.ts +4 -4
  379. package/test/imports/commented-imports.ts +1 -1
  380. package/test/imports/imports.ts +1 -1
  381. package/test/imports/multiple-imports.ts +1 -1
  382. package/test/mount/components/Mount.torp +1 -1
  383. package/test/mount/components/output/Mount-client.ts +6 -11
  384. package/test/mount/components/output/Mount-server.ts +10 -13
  385. package/test/mount/components/temp/{Mount-client-efa5c34fbfc7646e114a1a58f0814b6dff33e566.ts → Mount-client-29896228d7d0ef3692a9d13065c1bbfbe3198cdc.ts} +6 -11
  386. package/test/mount/components/temp/Mount-server-1c5aef88b8cc25b8e02851c0aa7fedffea987224.ts +22 -0
  387. package/test/mount/mount.test.ts +4 -4
  388. package/test/mountComponent.ts +1 -1
  389. package/test/on-mount/components/OnMount.torp +1 -1
  390. package/test/on-mount/components/output/OnMount-client.ts +5 -10
  391. package/test/on-mount/components/output/OnMount-server.ts +7 -10
  392. package/test/on-mount/components/temp/{OnMount-client-4bb62e8bf1fcd67798598fe03bf5455a57f0a6be.ts → OnMount-client-038f8c6bbcf0278406909d6ba5394f311924fda9.ts} +5 -10
  393. package/test/on-mount/components/temp/OnMount-server-ff4afcd976fd907c539e763d7887b38c61737be7.ts +15 -0
  394. package/test/on-mount/on-mount.test.ts +6 -6
  395. package/test/party/1-declare-state.test.ts +2 -2
  396. package/test/party/10-on-mount.test.ts +2 -2
  397. package/test/party/12-props.test.ts +2 -2
  398. package/test/party/13-emit-to-parent.test.ts +2 -2
  399. package/test/party/14-slot.test.ts +2 -2
  400. package/test/party/15-slot-fallback.test.ts +2 -2
  401. package/test/party/16-context.test.ts +2 -2
  402. package/test/party/17-input-text.test.ts +2 -2
  403. package/test/party/18-input-checkbox.test.ts +2 -2
  404. package/test/party/19-input-radio.test.ts +2 -2
  405. package/test/party/2-update-state.test.ts +2 -2
  406. package/test/party/20-input-select.test.ts +2 -2
  407. package/test/party/3-computed-state.test.ts +2 -2
  408. package/test/party/4-minimal-template.test.ts +2 -2
  409. package/test/party/5-styling.test.ts +2 -2
  410. package/test/party/6-loop.test.ts +2 -2
  411. package/test/party/7-event-click.test.ts +2 -2
  412. package/test/party/8-dom-ref.test.ts +4 -4
  413. package/test/party/9-conditional.test.ts +2 -2
  414. package/test/party/components/FunnyButton.torp +2 -2
  415. package/test/party/components/InputFocused.torp +1 -1
  416. package/test/party/components/UserProfile.torp +1 -1
  417. package/test/party/components/UserProfileApp.torp +1 -1
  418. package/test/party/components/UserProfileContextApp.torp +1 -1
  419. package/test/party/components/output/AnswerButton-client.ts +4 -10
  420. package/test/party/components/output/AnswerButton-server.ts +6 -9
  421. package/test/party/components/output/AnswerButtonApp-client.ts +6 -11
  422. package/test/party/components/output/AnswerButtonApp-server.ts +8 -10
  423. package/test/party/components/output/ColorSelect-client.ts +22 -26
  424. package/test/party/components/output/ColorSelect-server.ts +8 -10
  425. package/test/party/components/output/Colors-client.ts +19 -20
  426. package/test/party/components/output/Colors-server.ts +8 -10
  427. package/test/party/components/output/Counter-client.ts +7 -12
  428. package/test/party/components/output/Counter-server.ts +8 -10
  429. package/test/party/components/output/CssStyle-client.ts +5 -10
  430. package/test/party/components/output/CssStyle-server.ts +10 -10
  431. package/test/party/components/output/DoubleCount-client.ts +6 -11
  432. package/test/party/components/output/DoubleCount-server.ts +8 -10
  433. package/test/party/components/output/FunnyButton-client.ts +4 -10
  434. package/test/party/components/output/FunnyButton-server.ts +6 -8
  435. package/test/party/components/output/FunnyButtonApp-client.ts +7 -14
  436. package/test/party/components/output/FunnyButtonApp-server.ts +8 -12
  437. package/test/party/components/output/HelloWorld-client.ts +5 -10
  438. package/test/party/components/output/HelloWorld-server.ts +7 -10
  439. package/test/party/components/output/InputFocused-client.ts +6 -11
  440. package/test/party/components/output/InputFocused-server.ts +10 -13
  441. package/test/party/components/output/InputHello-client.ts +8 -13
  442. package/test/party/components/output/InputHello-server.ts +8 -10
  443. package/test/party/components/output/IsAvailable-client.ts +8 -13
  444. package/test/party/components/output/IsAvailable-server.ts +8 -10
  445. package/test/party/components/output/Name-client.ts +6 -11
  446. package/test/party/components/output/Name-server.ts +8 -10
  447. package/test/party/components/output/NameUpdate-client.ts +6 -11
  448. package/test/party/components/output/NameUpdate-server.ts +8 -10
  449. package/test/party/components/output/PageTitle-client.ts +6 -11
  450. package/test/party/components/output/PageTitle-server.ts +8 -10
  451. package/test/party/components/output/PickPill-client.ts +8 -13
  452. package/test/party/components/output/PickPill-server.ts +8 -10
  453. package/test/party/components/output/Time-client.ts +6 -11
  454. package/test/party/components/output/Time-server.ts +8 -10
  455. package/test/party/components/output/TrafficLight-client.ts +18 -26
  456. package/test/party/components/output/TrafficLight-server.ts +8 -10
  457. package/test/party/components/output/UserProfile-client.ts +6 -18
  458. package/test/party/components/output/UserProfile-server.ts +7 -10
  459. package/test/party/components/output/UserProfileApp-client.ts +6 -11
  460. package/test/party/components/output/UserProfileApp-server.ts +8 -11
  461. package/test/party/components/output/UserProfileContext-client.ts +7 -13
  462. package/test/party/components/output/UserProfileContext-server.ts +8 -9
  463. package/test/party/components/output/UserProfileContextApp-client.ts +7 -12
  464. package/test/party/components/output/UserProfileContextApp-server.ts +9 -11
  465. package/test/party/components/temp/{AnswerButton-client-890e28879c132eea21260eb82af832afc6a48507.ts → AnswerButton-client-df895c3e7a88fd7ede9f951fc9de2ed75c27a5cb.ts} +4 -10
  466. package/test/party/components/temp/{AnswerButton-server-01ffab9f6f92073640df2cf2cb5473407d82b24f.ts → AnswerButton-server-fa0e78b504a78d0e2dcd33a9a589f62e5b99c675.ts} +6 -9
  467. package/test/party/components/temp/{AnswerButtonApp-client-295a835cadf7e7ccec608f84ed01865dd8c73954.ts → AnswerButtonApp-client-4c05ef36b1c0e93370fb463643419928717fa701.ts} +6 -11
  468. package/test/party/components/temp/{AnswerButtonApp-server-b458692868307e6e08ad3deed9c2db542c28dee0.ts → AnswerButtonApp-server-062042691dabfa1a20d4088030c0b5bee1cd0be2.ts} +8 -10
  469. package/test/party/components/temp/{ColorSelect-client-5f74d3b38193a0c9b22317598cdbf2f56754ca2b.ts → ColorSelect-client-5db8d1b0924361fdb5efb867c14491402ec9668c.ts} +22 -26
  470. package/test/party/components/temp/{ColorSelect-server-cf0b1b533948a558e1705d9a7cca3c0b6ae8d315.ts → ColorSelect-server-8722b440cb7266a18a71b35c166be6dd6566fcec.ts} +8 -10
  471. package/test/party/components/temp/{Colors-client-806316cc5e01e8235c0b025cad34b1068addf5a5.ts → Colors-client-6d3ac693e85bdda50b8742282915997063a32769.ts} +19 -20
  472. package/test/party/components/temp/{Colors-server-b050714bfe752b88a99f6498f1b5c13abe6b56a5.ts → Colors-server-16572e26a55214c26683ce560b058b55d8c92685.ts} +8 -10
  473. package/test/party/components/temp/{Counter-client-006caeda8766cb17a161da0c6f58f006f8f16e8b.ts → Counter-client-0c604a107c5b84cdbf725f307dfe29d34f8a2cc8.ts} +7 -12
  474. package/test/party/components/temp/{Counter-server-931d36d8e4bcd114047bbfec8aa5f2fac0c2ce1e.ts → Counter-server-db18f030a6e02ab17708d6a17eb3e590965090e5.ts} +8 -10
  475. package/test/party/components/temp/{CssStyle-client-6ec06cbc4b34344234d289f6c4a9e427efff85a7.ts → CssStyle-client-2a642d115ad52539f97c051c34687b8d6d12b324.ts} +5 -10
  476. package/test/party/components/temp/CssStyle-server-0477c5497707dd9071105e5ec9045a3a7d1dd62d.ts +18 -0
  477. package/test/party/components/temp/{DoubleCount-client-6d4cf1e54368e3c6082e37c1e04f9ecde90624f2.ts → DoubleCount-client-8c85c3af12c471ea23bb702bbf5a3e240420f3ec.ts} +6 -11
  478. package/test/party/components/temp/{DoubleCount-server-8c013a97a08562deb6ad0f35e6e337203b0ddde9.ts → DoubleCount-server-5b04bb31269f9c8de6c25be427f57ab6e3d4dc19.ts} +8 -10
  479. package/test/party/components/temp/{FunnyButton-client-6d5662018a5a5529fd52ee82f7c88975b5c3355a.ts → FunnyButton-client-850dd3da0fa803c1bce5c53e88fcd2d48d279eb8.ts} +4 -10
  480. package/test/party/components/temp/{FunnyButton-server-3fd55a1e1dc71c183a6cea68e4c4693c988b7533.ts → FunnyButton-server-3df0067ec21476e7525d1c3de7099431c976f73b.ts} +6 -8
  481. package/test/party/components/temp/{FunnyButtonApp-client-1f2258b8488469d4704366bc49f5c171d8a854ae.ts → FunnyButtonApp-client-00300846d11a3d0a5a620c2ade87b935b7f0ebf8.ts} +7 -14
  482. package/test/party/components/temp/{FunnyButtonApp-server-6463d1c57adf61450d1415f0d76da4561ca3e798.ts → FunnyButtonApp-server-4cd83d2c71615fe4c905920e5ea836df4ed66c5e.ts} +8 -12
  483. package/test/party/components/temp/{HelloWorld-client-7344e400b4adb975fa8263d3081a06de0a793e57.ts → HelloWorld-client-890b311ad9a3919379acdc1d52807ea36cc9f489.ts} +5 -10
  484. package/test/party/components/temp/HelloWorld-server-e2c800d7f5cd3e772a9e5bbd7af58b00611b79d5.ts +15 -0
  485. package/test/party/components/temp/{InputFocused-client-20d755aea7dfaf1fd5e42dcade8fb7867f59ef28.ts → InputFocused-client-03527f9ceb52f66ac53887dbc884a0aa83bb7a23.ts} +6 -11
  486. package/test/party/components/temp/InputFocused-server-544a76ea64852474a3c7bf450b6fac36cbaf21c6.ts +23 -0
  487. package/test/party/components/temp/{InputHello-client-496d26bdeb6a168c4242e45f35d22e6ecbd211b9.ts → InputHello-client-f65a477624975b68b7aaa3614fbf198d4476480f.ts} +8 -13
  488. package/test/party/components/temp/{InputHello-server-a5fb3e0d8766c19d177a1f4d43d421c7da1b92ab.ts → InputHello-server-102d293d6c0fff7feda50d64bbd607df7d09393a.ts} +8 -10
  489. package/test/party/components/temp/{IsAvailable-client-491b92b5e21ebe1bbab47b2e422c35fb996b55e1.ts → IsAvailable-client-8767437fd92cf79713de5b00828e1502e38d79e3.ts} +8 -13
  490. package/test/party/components/temp/{IsAvailable-server-c0da3c019ef13617d2ab51353eb3360ddaae4189.ts → IsAvailable-server-2cf1e0d72df4bc194b5e00a1b415ba99f488525f.ts} +8 -10
  491. package/test/party/components/temp/{Name-client-62f0dab96aff130e81882099d7c0a111ba99cebd.ts → Name-client-08903a8df8bdff5288170d3c89658192956587a9.ts} +6 -11
  492. package/test/party/components/temp/{Name-server-0306b0c622d71323eb79a6b466d900380a0944f3.ts → Name-server-7d95226078ef4cd13b0ac6c5365ccbe4b8b9c0a2.ts} +8 -10
  493. package/test/party/components/temp/{NameUpdate-client-6ceb440637c99142bafcf8512eabf831c113b8c7.ts → NameUpdate-client-d65b2476c3721d2efddf9385a61433e2a2dd0d72.ts} +6 -11
  494. package/test/party/components/temp/{NameUpdate-server-a54ea11dc6b8f0b55d29ad29163cf27b9aa6ec40.ts → NameUpdate-server-9c901f861eddfde14440c2591dfafb2b1fb1993d.ts} +8 -10
  495. package/test/party/components/temp/{PageTitle-client-75fea3a37fb1213bc13f56160bb6779486b2e6e9.ts → PageTitle-client-c006df9a3e662488a1db089de53fd485c6b923e4.ts} +6 -11
  496. package/test/party/components/temp/{PageTitle-server-8b34f9af760ab39e20a60e10ee3185e70d92e42b.ts → PageTitle-server-f4676ec6feccaa03b89d52835c6635536eb885ef.ts} +8 -10
  497. package/test/party/components/temp/{PickPill-client-a1f48b5c28db87eb57f0ac1f6b4370e4b2952de7.ts → PickPill-client-af8357daf3f6633c7f451d0bddd72fefe786d5c3.ts} +8 -13
  498. package/test/party/components/temp/{PickPill-server-9596fdb8ff254cb4e1b99b714f3c5e8ea8aaa308.ts → PickPill-server-d8fb383bc25f7d26bb0153088a2ee19c765fc66b.ts} +8 -10
  499. package/test/party/components/temp/{Time-client-2013f274e90b45be3138727f2298305e1951131f.ts → Time-client-94380d45de7275a5cec98e5f58c15b74b13e9c3e.ts} +6 -11
  500. package/test/party/components/temp/{Time-server-da1cafe72c0f9a6dbf15a04dfa7282ae5187c101.ts → Time-server-3f71a83b6fd357b57e85344281454ee793024e7b.ts} +8 -10
  501. package/test/party/components/temp/{TrafficLight-client-d04c95686ec0ad8a9c54710773945e9904224d5e.ts → TrafficLight-client-12b20962b4146ef08fe0c37597441533c7699408.ts} +18 -26
  502. package/test/party/components/temp/{TrafficLight-server-6c0f66cdabfc7239b99665c3f7087462ee302e8a.ts → TrafficLight-server-625a774075633be88822f4d345e1421a77aba98a.ts} +8 -10
  503. package/test/party/components/temp/{UserProfile-client-a59466813b208664f35e6e394858c3d61e040644.ts → UserProfile-client-e5330b2c96bd8b225cb6291bc8b1d9f35c93307e.ts} +6 -18
  504. package/test/party/components/temp/{UserProfile-server-b10ec192e03dc818fe66dbd4aad14200e817e596.ts → UserProfile-server-6e89fd7f8ade8e8d64630e5da8361d7a1fa2ff5a.ts} +7 -10
  505. package/test/party/components/temp/{UserProfileApp-client-e0bfaa4ffed336c8be4b23dd81800501980c9938.ts → UserProfileApp-client-4c86e4f9a0d042f4f4811868f0146e872b17353c.ts} +6 -11
  506. package/test/party/components/temp/{UserProfileApp-server-4b308db466a80bcacd190aa71f86cf4d2b6f2873.ts → UserProfileApp-server-754d269451abf8fd04e519b8edde33d25c73ce28.ts} +8 -11
  507. package/test/party/components/temp/{UserProfileContext-client-7ef27199bd35b55b3dadd876174a2ef4b602b63f.ts → UserProfileContext-client-424131db3cc89ae4babe127b9108ffc5696c9e1d.ts} +7 -13
  508. package/test/party/components/temp/{UserProfileContext-server-df958e4fc2de2242c556ffa61ddb58aa395de50c.ts → UserProfileContext-server-e72e8ccee2703cce216f2368a1555d64acc2654c.ts} +8 -9
  509. package/test/party/components/temp/{UserProfileContextApp-client-b3ef357f481dfb940e1c726690d57567fde2dc23.ts → UserProfileContextApp-client-5f94a7ccf3e4542ea40d8046ad75eeb21005c55f.ts} +7 -12
  510. package/test/party/components/temp/{UserProfileContextApp-server-f8fe2b88db3d0dfa4dafd300006b25123cb8e3fb.ts → UserProfileContextApp-server-267ac147e0e59e53aeb6741a8cd0f3ef1216051f.ts} +9 -11
  511. package/test/preact.test.ts +2560 -0
  512. package/test/props/components/output/Reactive-client.ts +8 -17
  513. package/test/props/components/output/Reactive-server.ts +12 -16
  514. package/test/props/components/temp/{Reactive-client-21a24e3b0a76140567db8a01975317c9c0e0ad5a.ts → Reactive-client-9bc3643675fc563f96efb00bc3c4b843ba4b7f2e.ts} +8 -17
  515. package/test/props/components/temp/{Reactive-server-b6e37b5d3488ea74a260ca972906bfab30dde486.ts → Reactive-server-8a84d0fc1f375d91438d840ca9753e32d86366ac.ts} +12 -16
  516. package/test/props/reactive.test.ts +2 -2
  517. package/test/replace/components/output/Replace-client.ts +6 -14
  518. package/test/replace/components/output/Replace-server.ts +7 -9
  519. package/test/replace/components/temp/{Replace-client-aee34e2e40c6f4380b61e9c7c8df9af1897f06cc.ts → Replace-client-6f21ff3eb303bd5488d211087dc35fcf998d4e2a.ts} +6 -14
  520. package/test/replace/components/temp/{Replace-server-3521251fa687ce42af3128d22b129fe1ec6ed411.ts → Replace-server-b536cf6d792ae73aaa7f5ea04cda6858a07479f9.ts} +7 -9
  521. package/test/replace/replace.test.ts +2 -2
  522. package/test/script/script-with-comments.test.ts +14 -19
  523. package/test/script/script-with-strings.test.ts +14 -19
  524. package/test/script/script.test.ts +14 -19
  525. package/test/slots/basic-slot.test.ts +2 -2
  526. package/test/slots/components/Article.torp +3 -3
  527. package/test/slots/components/Basic.torp +1 -1
  528. package/test/slots/components/Header.torp +2 -2
  529. package/test/slots/components/Let.torp +3 -3
  530. package/test/slots/components/List.torp +1 -1
  531. package/test/slots/components/Named.torp +3 -3
  532. package/test/slots/components/Unused.torp +1 -1
  533. package/test/slots/components/output/Article-client.ts +4 -8
  534. package/test/slots/components/output/Article-server.ts +6 -8
  535. package/test/slots/components/output/Basic-client.ts +7 -14
  536. package/test/slots/components/output/Basic-server.ts +8 -12
  537. package/test/slots/components/output/Header-client.ts +4 -9
  538. package/test/slots/components/output/Header-server.ts +6 -8
  539. package/test/slots/components/output/Let-client.ts +7 -14
  540. package/test/slots/components/output/Let-server.ts +7 -11
  541. package/test/slots/components/output/List-client.ts +17 -16
  542. package/test/slots/components/output/List-server.ts +6 -8
  543. package/test/slots/components/output/Named-client.ts +9 -19
  544. package/test/slots/components/output/Named-server.ts +9 -14
  545. package/test/slots/components/output/Unused-client.ts +5 -10
  546. package/test/slots/components/output/Unused-server.ts +7 -10
  547. package/test/slots/components/temp/{Article-client-3f2da4b399f94ae8c329489e1ba0ba98196df9c5.ts → Article-client-0b674ee98ae7f85021bfb8b912f28e3c4b35e877.ts} +4 -8
  548. package/test/slots/components/temp/{Article-server-50fa458663f115c0e80a3a2846de4607d8748ecb.ts → Article-server-3db1718b70b86b456514b54ae17a597d07cc0ca9.ts} +6 -8
  549. package/test/slots/components/temp/{Basic-client-a2c4bf685d4b75d0395da427b7754c2a58374dd7.ts → Basic-client-196f7f0244dca0baeffb547eec55c089a108283d.ts} +7 -14
  550. package/test/slots/components/temp/{Basic-server-593e0ecbc8abbc90e8b06198698d244d110d97e2.ts → Basic-server-a22e6ec236b84e09d4d59c7abc4f0b22bf60f22c.ts} +8 -12
  551. package/test/slots/components/temp/{Header-client-d7418b71df5db36d58a73e909233863a6c03678b.ts → Header-client-e5c784d60469523803898ee4d8b85fb82a7b7c0b.ts} +4 -9
  552. package/test/slots/components/temp/{Header-server-d0f27afc4db322e605491e8f508e83f625e8dc38.ts → Header-server-3182d735443d9cf6a0cc7891919cc2c08df2aa8f.ts} +6 -8
  553. package/test/slots/components/temp/{Let-client-913f9dede92b68a3f4a13d1f56f99b3e08e01efe.ts → Let-client-645271fcd63cd500001c75740b22b1b387330657.ts} +7 -14
  554. package/test/slots/components/temp/{Let-server-f3c026e37c11628914c495083752d8cf285b2e85.ts → Let-server-b6d6e2012155c7533a0eb4ee0aaf00157a7d4493.ts} +7 -11
  555. package/test/slots/components/temp/{List-client-6bc2d267a8b2028a14b12b2c70feb7c6a47d6d64.ts → List-client-ee6047ac396dc0b6fce5e38af51c38093fae83a2.ts} +17 -16
  556. package/test/slots/components/temp/{List-server-8d9c174fc4b3b232f3a9fd2f59843481f023d913.ts → List-server-1ee246e864cdb31bb8f52cf4424b6ef0e9b41cf1.ts} +6 -8
  557. package/test/slots/components/temp/{Named-client-f6e7a984759ce8f50bc52dcf56f6f06cab925a80.ts → Named-client-559988562c5de1ae6017d2ad6de063f4363064b6.ts} +9 -19
  558. package/test/slots/components/temp/{Named-server-ac8d47db82d9a387c8baeee59b975bb810bad168.ts → Named-server-f2ce3d301e916ea38901a92185c25512b11d42d4.ts} +9 -14
  559. package/test/slots/components/temp/{Unused-client-ea0a096aa7a1c958f3bf807f35340b96f8a025ee.ts → Unused-client-52d1828bd28ebf7046a2e948a369563c0ea83b98.ts} +5 -10
  560. package/test/slots/components/temp/{Unused-server-1da99efc50ef70be0d9a0e5499353a17dc666936.ts → Unused-server-f5248f5cd4616c65eaf27c67385f13ed671accad.ts} +7 -10
  561. package/test/slots/let-slot.test.ts +4 -4
  562. package/test/slots/named-slot.test.ts +2 -2
  563. package/test/slots/unused-slot.test.ts +2 -2
  564. package/test/source-maps/components/Source.torp +19 -0
  565. package/test/source-maps/components/output/Source-client.ts +63 -0
  566. package/test/source-maps/components/output/Source-server.ts +26 -0
  567. package/test/source-maps/components/temp/Source-client-ae8c4811ff658c13ee8c9b9e0e53fff1b83b178b.ts +63 -0
  568. package/test/source-maps/components/temp/Source-server-70b20214c52b8820f450324943e8a1ffb0a72d5e.ts +26 -0
  569. package/test/source-maps/parse.test.ts +62 -0
  570. package/test/special-component/components/BigTitle.torp +1 -1
  571. package/test/special-component/components/Component.torp +2 -2
  572. package/test/special-component/components/SmallTitle.torp +1 -1
  573. package/test/special-component/components/output/BigTitle-client.ts +4 -8
  574. package/test/special-component/components/output/BigTitle-server.ts +6 -8
  575. package/test/special-component/components/output/Component-client.ts +7 -15
  576. package/test/special-component/components/output/Component-server.ts +8 -11
  577. package/test/special-component/components/output/SmallTitle-client.ts +4 -8
  578. package/test/special-component/components/output/SmallTitle-server.ts +6 -8
  579. package/test/special-component/components/temp/{BigTitle-client-c4bd66406d55ce83ab4491c4114d563055e1c275.ts → BigTitle-client-cb3055f809aaf17bd1fa82748d039ac3730a8d44.ts} +4 -8
  580. package/test/special-component/components/temp/{BigTitle-server-34af54c15cf575163c1ff8e63978cf5257f2347c.ts → BigTitle-server-fef9d1e1deacfde2be4469c2e63a801b2e518dff.ts} +6 -8
  581. package/test/special-component/components/temp/{Component-client-c39c66cf5274445bb863fd759e0ef223613a9f3a.ts → Component-client-0eb9553b52acce2dfa564242295a4c57a38bd540.ts} +7 -15
  582. package/test/special-component/components/temp/{Component-server-ca4a2192477db4a32ad12f1a6a14d673717b0f7b.ts → Component-server-9d0fddeff790bfb2b6cfbcd2edf677837f5b8120.ts} +8 -11
  583. package/test/special-component/components/temp/{SmallTitle-client-e4b3e51243ca4f1efca21ac0f957b81e8bc93167.ts → SmallTitle-client-5a65b233be29395e9650f57d9708a33de1279af3.ts} +4 -8
  584. package/test/special-component/components/temp/{SmallTitle-server-6c9aabb9139356397e04612b4dd9d849f871a280.ts → SmallTitle-server-11f8b6b3c613716d6a5371883a9b55434bb43ad5.ts} +6 -8
  585. package/test/special-component/special-component.test.ts +2 -2
  586. package/test/special-element/components/Element.torp +2 -2
  587. package/test/special-element/components/output/Element-client.ts +5 -11
  588. package/test/special-element/components/output/Element-server.ts +7 -10
  589. package/test/special-element/components/temp/{Element-client-c5701ed44faa4ec8ae558505063684a84cada3f2.ts → Element-client-745e610fbd5c652d327c8ac349d49d5ee4c8d9ea.ts} +5 -11
  590. package/test/special-element/components/temp/Element-server-7aef6d0ed7369aa2418183519c8320e0409a5641.ts +15 -0
  591. package/test/special-element/special-element.test.ts +2 -2
  592. package/test/special-head/components/Head.torp +2 -4
  593. package/test/special-head/components/output/Head-client.ts +8 -23
  594. package/test/special-head/components/output/Head-server.ts +5 -11
  595. package/test/special-head/components/temp/Head-client-bbbb5e712247ee41ca65a7ffd457987de5e99b3e.ts +19 -0
  596. package/test/special-head/components/temp/Head-server-c3de2e6b56aabc095380370d8bf93ae3bc7c10d9.ts +12 -0
  597. package/test/special-head/special-head.test.ts +2 -2
  598. package/test/special-self/components/output/Self-client.ts +13 -17
  599. package/test/special-self/components/output/Self-server.ts +6 -9
  600. package/test/special-self/components/temp/{Self-client-883ca81e0e44df56f2290698e8d6b9955434a2ad.ts → Self-client-dfe57df69e3677e94f7b5f3657c82602054ef19e.ts} +13 -17
  601. package/test/special-self/components/temp/{Self-server-69dac409fc984db7db97df8a30c5de6794f25655.ts → Self-server-5d135dab2b6fd4ba7fe3f56768f0725607d36bd9.ts} +6 -9
  602. package/test/special-self/special-self.test.ts +2 -2
  603. package/test/style/components/Style.torp +1 -1
  604. package/test/style/components/output/Style-client.ts +6 -12
  605. package/test/style/components/output/Style-server.ts +7 -10
  606. package/test/style/components/temp/{Style-client-ea018338497095f270308b2e73cfe6344721c6eb.ts → Style-client-9491a5aff97f118df542f976d7f7a21e7cc88c62.ts} +6 -12
  607. package/test/style/components/temp/{Style-server-99ff9867ee067760a463a8282773b2eb09aa14f7.ts → Style-server-8b8cbe1868cab30d9e34dda52921652768ada1db.ts} +7 -10
  608. package/test/style/parse.test.ts +507 -193
  609. package/test/style/style.test.ts +2 -2
  610. package/test/svg/components/Shape.torp +1 -1
  611. package/test/svg/components/output/Shape-client.ts +23 -23
  612. package/test/svg/components/output/Shape-server.ts +8 -10
  613. package/test/svg/components/temp/{Shape-client-052ea7838de07222602834de58968a3f89e6ea56.ts → Shape-client-4cc148d8b70d3750d2982360aad76b74d194b60e.ts} +23 -23
  614. package/test/svg/components/temp/Shape-server-76aaef570e067031ff39635ffe37626364c2200a.ts +23 -0
  615. package/test/svg/svg.test.ts +4 -4
  616. package/test/switch/components/output/Switch-client.ts +16 -22
  617. package/test/switch/components/output/Switch-server.ts +6 -9
  618. package/test/switch/components/temp/{Switch-client-1482e2da8fe144d3e867dfad4618e0f364b91b49.ts → Switch-client-5fc00f4d41300dc7587b113d8e53a102beca7558.ts} +16 -22
  619. package/test/switch/components/temp/{Switch-server-d709eb7a418752dd4203a8f824b78c5f308c8f47.ts → Switch-server-440f7e852145b79656c0023ddc776e4d1d077d2a.ts} +6 -9
  620. package/test/switch/switch-values.test.ts +4 -4
  621. package/test/template/basic-file.test.ts +61 -88
  622. package/test/template/empty-file.test.ts +7 -12
  623. package/test/template/errors.test.ts +64 -34
  624. package/test/text/components/output/Text-client.ts +5 -13
  625. package/test/text/components/output/Text-server.ts +6 -9
  626. package/test/text/components/temp/{Text-client-ca2d5402358fba0df1db2353eed304b0dedb7971.ts → Text-client-6c3be8a1a31a13eff86ce8b5330829cd15b07fab.ts} +5 -13
  627. package/test/text/components/temp/{Text-server-9df4606b85f044ea2b38660e799988461edacb27.ts → Text-server-ac34d47e755aa39b2d89cb44f854450c3db1ddff.ts} +6 -9
  628. package/test/text/text.test.ts +4 -4
  629. package/test/watch-array/ArrayState.ts +2 -2
  630. package/test/watch-array/array-all-functions-unkeyed.test.ts +16 -14
  631. package/test/watch-array/array-all-functions.test.ts +16 -14
  632. package/test/watch-array/array-empty.test.ts +8 -6
  633. package/test/watch-array/array-entries.test.ts +11 -9
  634. package/test/watch-array/array-indexes.test.ts +11 -9
  635. package/test/watch-array/array-pop.test.ts +10 -8
  636. package/test/watch-array/array-push.test.ts +10 -8
  637. package/test/watch-array/array-reassign.test.ts +11 -9
  638. package/test/watch-array/array-reverse.test.ts +10 -8
  639. package/test/watch-array/array-set-object.test.ts +10 -8
  640. package/test/watch-array/array-set-property.test.ts +10 -8
  641. package/test/watch-array/array-shift.test.ts +10 -8
  642. package/test/watch-array/array-sort.test.ts +11 -9
  643. package/test/watch-array/array-splice-add.test.ts +10 -8
  644. package/test/watch-array/array-splice-delete-all.test.ts +10 -8
  645. package/test/watch-array/array-splice-delete-and-add.test.ts +10 -8
  646. package/test/watch-array/array-splice-delete-end.test.ts +10 -8
  647. package/test/watch-array/array-splice-delete.test.ts +10 -8
  648. package/test/watch-array/array-swap.test.ts +10 -8
  649. package/test/watch-array/array-unshift.test.ts +10 -8
  650. package/test/watch-array/array-update-assignment.test.ts +10 -8
  651. package/test/watch-array/components/output/Array-client.ts +19 -21
  652. package/test/watch-array/components/output/Array-server.ts +7 -10
  653. package/test/watch-array/components/output/ArrayEntries-client.ts +21 -23
  654. package/test/watch-array/components/output/ArrayEntries-server.ts +7 -10
  655. package/test/watch-array/components/output/ArrayIndexes-client.ts +19 -21
  656. package/test/watch-array/components/output/ArrayIndexes-server.ts +7 -10
  657. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +19 -20
  658. package/test/watch-array/components/output/ArrayUnkeyed-server.ts +7 -10
  659. package/test/watch-array/components/temp/{Array-client-d048f5c224a3f2e2729878dbb069ce15ca913e12.ts → Array-client-552f81452d33fe6dc715c9f6bb7986f06475d761.ts} +19 -21
  660. package/test/watch-array/components/temp/{Array-server-48864ed3b67cae2bcedb216865776e44cc3a1dc2.ts → Array-server-16921ef3289ecba5881fcd59e3353fbfad60d4d3.ts} +7 -10
  661. package/test/watch-array/components/temp/{ArrayEntries-client-741607b276718f5deb520e3b657dbf6abbb8081c.ts → ArrayEntries-client-736755fba2492e74812ff9c905202810de54e15a.ts} +21 -23
  662. package/test/watch-array/components/temp/{ArrayEntries-server-401a989fd5f3a093d5d1a8ef1d4fd9d5107a6be3.ts → ArrayEntries-server-ac150fc9fd18c1d9dab9b329f7703e190f5c2725.ts} +7 -10
  663. package/test/watch-array/components/temp/{ArrayIndexes-client-8ab14b254ef67dafad5228c9ec1906eb3b3babef.ts → ArrayIndexes-client-a496328fa92ffca676ab8893013a0cfec1734ad1.ts} +19 -21
  664. package/test/watch-array/components/temp/{ArrayIndexes-server-35c31a8a4597da68d39cf20bd6b90137695514de.ts → ArrayIndexes-server-e8fc511c0d27796dc1733f8cc63377f7a4511f76.ts} +7 -10
  665. package/test/watch-array/components/temp/{ArrayUnkeyed-client-9684aba82757748815b94c04bf3f8d1f98332535.ts → ArrayUnkeyed-client-5a2c5cb1fecba52653f7f35cfd07627682930c15.ts} +19 -20
  666. package/test/watch-array/components/temp/{ArrayUnkeyed-server-19f195f0cf00760c520ac4c55aef474c8eae4c41.ts → ArrayUnkeyed-server-916a5cdb7c36d95946cafdc69dca782291af24e4.ts} +7 -10
  667. package/test/watch-object/components/output/Watched-client.ts +5 -11
  668. package/test/watch-object/components/output/Watched-server.ts +6 -9
  669. package/test/watch-object/components/temp/{Watched-client-ddba353c5a94f5a874e19d6d4cc6271a04e915c0.ts → Watched-client-1f0409aa6e2c425d0319a23caec7d10ad313d579.ts} +5 -11
  670. package/test/watch-object/components/temp/{Watched-server-e8e8c15b9fb5dda4051a289e9cd75d71078b9e95.ts → Watched-server-156afd257b562162d86417f2bbf5afe1bf57de06.ts} +6 -9
  671. package/test/watch-object/watch-object.test.ts +11 -9
  672. package/{tsup.config.ts → tsdown.config.ts} +2 -4
  673. package/dist/Component-CysAnHpO.d.cts +0 -8
  674. package/dist/Component-CysAnHpO.d.ts +0 -8
  675. package/dist/ServerSlotRender-BMGG0yq3.d.cts +0 -15
  676. package/dist/ServerSlotRender-BMGG0yq3.d.ts +0 -15
  677. package/dist/chunk-EGRHWZRV.js +0 -1
  678. package/dist/chunk-EGRHWZRV.js.map +0 -1
  679. package/dist/chunk-XNO4YEJ3.js +0 -64
  680. package/dist/chunk-XNO4YEJ3.js.map +0 -1
  681. package/dist/compile.cjs +0 -4083
  682. package/dist/compile.cjs.map +0 -1
  683. package/dist/compile.d.cts +0 -156
  684. package/dist/index.cjs +0 -926
  685. package/dist/index.cjs.map +0 -1
  686. package/dist/index.d.cts +0 -211
  687. package/dist/metafile-cjs.json +0 -1
  688. package/dist/metafile-esm.json +0 -1
  689. package/dist/ssr.cjs +0 -125
  690. package/dist/ssr.cjs.map +0 -1
  691. package/dist/ssr.d.cts +0 -14
  692. package/src/compile/build/client/buildHeadNode.ts +0 -17
  693. package/src/compile/build/utils/isReactiveAttribute.ts +0 -16
  694. package/src/compile/types/nodes/isControlNode.ts +0 -6
  695. package/src/compile/types/nodes/isElementNode.ts +0 -6
  696. package/src/compile/types/nodes/isParentNode.ts +0 -6
  697. package/src/compile/types/nodes/isSpecialNode.ts +0 -6
  698. package/src/compile/types/nodes/isTextNode.ts +0 -6
  699. package/src/debug/printHtml.ts +0 -25
  700. package/src/types/ProxyPropData.ts +0 -11
  701. package/src/watch/removeEffect.ts +0 -34
  702. package/test/bench/components/temp/Bench-client-4e18421473e97bac7c24b17ba14751ce14dd187e.ts +0 -414
  703. package/test/bench/components/temp/Bench-server-4648921af9bc146718d55a7e9fc288b47a57dfda.ts +0 -142
  704. package/test/component/components/temp/Header-server-91088d2a5a543287bfdf1a24d92b66db6ccd294d.ts +0 -19
  705. package/test/console/components/temp/Console-server-7bc7f568e9c3626dca1bdafcb23186c2dbc59199.ts +0 -18
  706. package/test/dummy/components/temp/ProfilePreview-client-e57ca1ac502e0ddcb3ef376dd5ef27add70090d1.ts +0 -327
  707. package/test/dummy/components/temp/ProfilePreview-server-9d3d0f8b4f80f634db6ba97d037ab07de004b4d3.ts +0 -56
  708. package/test/html/components/temp/Html-server-4f73a2b0c5cd9b82666a99ec6a217c758d435008.ts +0 -18
  709. package/test/mount/components/temp/Mount-server-8564e4e0886ea754dfedf9a4a5fd82f0484c1d83.ts +0 -25
  710. package/test/on-mount/components/temp/OnMount-server-2ff035e067926fadc284030075aa5da69a05cf31.ts +0 -18
  711. package/test/party/components/temp/CssStyle-server-fa4bad3c82930632730e3b6b9f0e9193cab6f777.ts +0 -18
  712. package/test/party/components/temp/HelloWorld-server-50dd4393d55ecd33d5b7684c4f9ed41dfa0ceb5d.ts +0 -18
  713. package/test/party/components/temp/InputFocused-server-7b062b0dd7686ccc389c3c1a17f37e9a9bb19da9.ts +0 -26
  714. package/test/special-element/components/temp/Element-server-011a942cc147900d8e074c084297d8e81f05aa27.ts +0 -18
  715. package/test/special-head/components/temp/Head-client-967d6ea24d46308af586c7553f4658412d94716c.ts +0 -34
  716. package/test/special-head/components/temp/Head-server-7cf8212c95197ed6320b47483524d8b1b3e5ae68.ts +0 -18
  717. package/test/svg/components/temp/Shape-server-4ef7e80f09d3d4c930055d0a25184c48507e51de.ts +0 -25
  718. /package/src/compile/{build/utils → utils}/isFullyReactive.ts +0 -0
  719. /package/src/compile/{build/utils → utils}/isReactive.ts +0 -0
package/.oxlintrc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "ignorePatterns": ["test/**/output"]
3
+ }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @torpor/view
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 51dbba7: Chore: drop CJS build and go ESM only
8
+ - 9fcc613: Feat: add proper signals reactivity
9
+ - c4f9d18: !Feat: replaced <:head> with @head
10
+ - 5598bc9: !Feat: remove `:` from special tags and attributes
11
+ - c2b5c02: Feat: source maps
12
+
13
+ ### Patch Changes
14
+
15
+ - be98b35: Fix: keep options when setting a new proxied value
16
+ - 2298a87: Fix: SVG classes
17
+ - 3a8431a: Fix: run @ifs, @switches and @awaits with a closure signal
18
+ - eb58d37: Feat: ReactiveDate wrapper for use in reactive state
19
+ - e0637be: Fix: moving a range that was in a fragment
20
+ - f5f84e6: Fix: slightly better global style parsing
21
+ - 6cc57ff: Fix: don't double render slots
22
+ - 18f1ccf: Perf: combine fragment effects
23
+ - 91d1536: Fix: re-check whether the parent is a fragment
24
+ - 4dc16df: Fix: slightly better selector style parsing
25
+ - 543b229: Fix: run @ifs and @switches with an index signal
26
+ - 3cf3ae6: Fix: skip hydration start when getting the root
27
+
3
28
  ## 0.2.0
4
29
 
5
30
  ### Minor Changes
package/README.md CHANGED
@@ -18,38 +18,39 @@ npm install torpor
18
18
  - Components are functions
19
19
  - In a file with the `.torp` extension
20
20
  - HTML markup in a `@render` section
21
+ - `<head>` content in a `@head` section
21
22
  - CSS in a `@style` section
22
23
  - Child components in child component functions
23
24
  - In-markup JavaScript logic
24
- - @if statement
25
- - @for loop
26
- - @switch statement
27
- - @await statement for loading data from an async function
25
+ - `@if` statement
26
+ - `@for` loop
27
+ - `@switch` statement
28
+ - `@await` statement for loading data from an async function
28
29
  - And
29
- - @replace to re-run a section when a property changes
30
- - @const to declare a const variable in markup
31
- - @console for logging
32
- - @debugger for debugging
33
- - @function to declare a function in markup
34
- - @html to render HTML e.g. from $props
30
+ - `@replace` to re-run a section when a property changes
31
+ - `@const` to declare a const variable in markup
32
+ - `@console` for logging
33
+ - `@debugger` for debugging
34
+ - `@function` or `@async function` to declare a function in markup
35
+ - `@html` to render HTML e.g. from $props
35
36
  - Runtime reactivity
36
- - $watch to create a proxy that updates UI on property changes
37
- - $run to create an effect that is re-run when its dependencies change
38
- - $mount to create an effect that runs after a component has been mounted
39
- - $unwrap to get the target object from the proxy
37
+ - `$watch` to create a proxy that updates UI on property changes
38
+ - `$cache` to cache proxy getter values that are expensive to update
39
+ - `$run` to create an effect that is re-run when its dependencies change
40
+ - `$mount` to create an effect that runs after a component has been mounted
41
+ - And
42
+ - `$unwrap` to get the target object from the proxy
43
+ - `$peek` to get the value of a target object without re-running effects on change
44
+ - `$batch` to delay effects and then run them all at once
40
45
  - Automatic scoping of styles to component
41
- - Two-way binding with &value, &checked, etc
42
- - Element binding to a script variable with &ref={...}
46
+ - Two-way binding with `&value`, `&checked`, etc
47
+ - Element binding to a script variable with `&ref={...}`
43
48
  - Element in and out transitions using the Web Animations API
44
- - Run an effect when an element is added to the DOM with :onmount={(el) => ...}
45
- - Special tags (mostly not yet implemented...)
46
- - <:component self={...}> inserts a dynamic component
47
- - <:element self={...}> inserts a dynamic element
48
- - <:trim> trims whitespace around the tag
49
- - <:head> for adding content to the <head> tag
50
- - <:window> for adding events to the `window` object
51
- - <:document> for adding events to the `document` object
52
- - <:body> for adding events to the `body` object
49
+ - Run an effect when an element is added to the DOM with `onmount={(el) => ...}`
50
+ - Special tags
51
+ - `<@component self={...}>` inserts a dynamic component
52
+ - `<@element self={...}>` inserts a dynamic element
53
+ - `<@trim>` trims whitespace around the tag (TODO)
53
54
 
54
55
  ### Not yet
55
56
 
@@ -63,7 +64,7 @@ npm install torpor
63
64
  */
64
65
  export default function Component($props: { name: string }) {
65
66
  // Use the $watch function to declare reactive state
66
- const $state = $watch({
67
+ let $state = $watch({
67
68
  count: 0,
68
69
  get isEven() {
69
70
  return this.count % 2 === 0
@@ -0,0 +1,11 @@
1
+ //#region src/types/SlotRender.d.ts
2
+ type SlotRender = (parent: ParentNode, anchor: Node | null, $sprops?: Record<PropertyKey, any>, $context?: Record<PropertyKey, any>) => void;
3
+ //#endregion
4
+ //#region src/types/Component.d.ts
5
+ /**
6
+ * A component that can be mounted or hydrated
7
+ */
8
+ type Component = ($parent: ParentNode, $anchor: Node | null, $props?: Record<PropertyKey, any>, $context?: Record<PropertyKey, any>, $slots?: Record<string, SlotRender>) => void;
9
+ //#endregion
10
+ export { Component, SlotRender };
11
+ //# sourceMappingURL=Component-d19HOoEw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component-d19HOoEw.d.ts","names":[],"sources":["../src/types/SlotRender.ts","../src/types/Component.ts"],"sourcesContent":[],"mappings":";KAAK,UAAA,YACI,oBACA,uBACE,OAAO,8BACN,OAAO;;;;;;KCCd,SAAA,GDHI,CAAA,OAAA,ECIC,UDJD,EAAA,OAAA,ECKC,IDLD,GAAA,IAAA,EAAA,MAAA,CAAA,ECMC,MDND,CCMQ,WDNR,EAAA,GAAA,CAAA,EAAA,QAAA,CAAA,ECOG,MDPH,CCOU,WDPV,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,ECQC,MDRD,CAAA,MAAA,ECQgB,UDRhB,CAAA,EAAA,GAAA,IAAA"}
@@ -0,0 +1,41 @@
1
+ //#region src/render/$batch.d.ts
2
+ /**
3
+ * Runs updates to proxy values in a batch, where the updates are stored in
4
+ * context, and dependent effects are run all at once at the end.
5
+ *
6
+ * @param fn The function containing the batched updates to run.
7
+ */
8
+ declare function $batch<T>(fn: () => T): T;
9
+ //#endregion
10
+ //#region src/render/$cache.d.ts
11
+ /**
12
+ * Caches a computed value from signals accessed in a property getter.
13
+ *
14
+ * @param fn The function containing the signals to compute and cache.
15
+ */
16
+ declare function $cache<T>(fn: () => T): T;
17
+ //#endregion
18
+ //#region src/types/Cleanup.d.ts
19
+ /**
20
+ * A function that may be returned from an effect, and is run before the effect
21
+ * is run or destroyed
22
+ */
23
+ type Cleanup = () => void;
24
+ //#endregion
25
+ //#region src/render/$peek.d.ts
26
+ declare function $peek<T>(fn: () => T): T;
27
+ //#endregion
28
+ //#region src/render/buildClasses.d.ts
29
+ declare function buildClasses(value: unknown, styleHash?: string): string;
30
+ //#endregion
31
+ //#region src/render/buildStyles.d.ts
32
+ declare function buildStyles(value: unknown): string;
33
+ //#endregion
34
+ //#region src/render/formatText.d.ts
35
+ declare function formatText(value: any): string;
36
+ //#endregion
37
+ //#region src/types/ServerSlotRender.d.ts
38
+ type ServerSlotRender = ($props?: Record<PropertyKey, any>, $context?: Record<PropertyKey, any>) => void;
39
+ //#endregion
40
+ export { $batch, $cache, $peek, Cleanup, ServerSlotRender, buildClasses, buildStyles, formatText };
41
+ //# sourceMappingURL=ServerSlotRender-BiG4xB8e.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerSlotRender-BiG4xB8e.d.ts","names":[],"sources":["../src/render/$batch.ts","../src/render/$cache.ts","../src/types/Cleanup.ts","../src/render/$peek.ts","../src/render/buildClasses.ts","../src/render/buildStyles.ts","../src/render/formatText.ts","../src/types/ServerSlotRender.ts"],"sourcesContent":[],"mappings":";;;;;;;iBAUwB,oBAAoB,IAAI;;;;;;;;AAAA,iBCAxB,MDAwB,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GCAJ,CDAI,CAAA,ECAA,CDAA;;;;;;;KEN3C,OAAA,GFM2C,GAAA,GAAA,IAAA;;;iBGNxB,mBAAmB,IAAI;;;iBCJvB,YAAA;;;iBCAA,WAAA;;;iBCAA,UAAA;;;KCAnB,gBAAA,aACK,OAAO,8BACL,OAAO"}
package/dist/compile.d.ts CHANGED
@@ -1,156 +1,210 @@
1
- export { C as Component } from './Component-CysAnHpO.js';
2
-
3
- type BuildOptions = {
4
- /**
5
- * Whether to create the component for server side rendering
6
- */
7
- server?: boolean;
8
- /**
9
- * If true, fragments will be built with calls to createElement etc. If
10
- * false, fragments will be built with innerHTML. Using createElement is a
11
- * bit slower, but may be useful in the future for rendering to different
12
- * targets
13
- */
14
- useCreateElement?: boolean;
15
- /**
16
- * For internal testing and benchmarking
17
- */
18
- renderFolder?: string;
19
- };
20
-
21
- type Import = {
22
- name: string;
23
- alias?: string;
24
- path: string;
25
- nonDefault: boolean;
26
- component: boolean;
27
- };
28
-
29
- type Fragment = {
30
- number: number;
31
- text: string;
32
- ns: boolean;
33
- events: {
34
- varName: string;
35
- eventName: string;
36
- handler: string;
37
- }[];
38
- animations: string[];
39
- endVarName?: string;
40
- };
41
-
1
+ import { Component } from "./Component-d19HOoEw.js";
2
+
3
+ //#region src/types/BuildOptions.d.ts
4
+ interface BuildOptions {
5
+ /**
6
+ * Whether to create the component for server side rendering
7
+ */
8
+ server?: boolean;
9
+ /**
10
+ * Whether to create source maps.
11
+ */
12
+ mapped?: boolean;
13
+ /**
14
+ * If true, fragments will be built with calls to createElement etc. If
15
+ * false, fragments will be built with innerHTML. Using createElement is a
16
+ * bit slower, but may be useful in the future for rendering to different
17
+ * targets
18
+ */
19
+ useCreateElement?: boolean;
20
+ /**
21
+ * For internal testing and benchmarking
22
+ */
23
+ renderFolder?: string;
24
+ }
25
+ //#endregion
26
+ //#region src/compile/types/Import.d.ts
27
+ interface Import {
28
+ name: string;
29
+ alias?: string;
30
+ path: string;
31
+ nonDefault: boolean;
32
+ component: boolean;
33
+ }
34
+ //#endregion
35
+ //#region src/compile/types/SourceRange.d.ts
36
+ interface SourceRange {
37
+ start: number;
38
+ end: number;
39
+ }
40
+ //#endregion
41
+ //#region src/compile/types/ScriptChunk.d.ts
42
+ interface ScriptChunk {
43
+ script: string;
44
+ range: SourceRange;
45
+ }
46
+ //#endregion
47
+ //#region src/compile/types/nodes/Fragment.d.ts
48
+ interface Fragment {
49
+ number: number;
50
+ text: string;
51
+ ns: boolean;
52
+ effects: {
53
+ functionBody: string;
54
+ ranges: SourceRange[];
55
+ offsets: number[];
56
+ lengths: number[];
57
+ }[];
58
+ events: {
59
+ varName: string;
60
+ eventName: string;
61
+ handler: string;
62
+ }[];
63
+ animations: string[];
64
+ endVarName?: string;
65
+ }
66
+ //#endregion
67
+ //#region src/compile/types/nodes/NodeType.d.ts
42
68
  type NodeType = "root" | "control" | "component" | "element" | "text" | "special";
43
-
44
- type TemplateNode = {
45
- type: NodeType;
46
- scopeStyles?: boolean;
47
- varName?: string;
48
- handled?: boolean;
49
- };
50
-
51
- type ParentNode = TemplateNode & {
52
- type: NodeType;
53
- children: TemplateNode[];
54
- };
55
-
56
- type RootNode = ParentNode & {
57
- type: "root";
58
- children: TemplateNode[];
59
- fragment?: Fragment;
60
- };
61
-
62
- type Attribute = {
63
- name: string;
64
- value: string;
65
- };
66
-
67
- type StyleBlock = {
68
- selector: string;
69
- attributes: Attribute[];
70
- children: StyleBlock[];
71
- };
72
-
73
- type Style = {
74
- global: boolean;
75
- blocks: StyleBlock[];
76
- hash: string;
77
- };
78
-
79
- type TemplateComponent = {
80
- start?: number;
81
- /** The component's name */
82
- name?: string;
83
- /** Whether the component is defined in a default function */
84
- default?: boolean;
85
- /** Params declared by the user in the component's function */
86
- params?: string;
87
- markup?: RootNode;
88
- style?: Style;
89
- /** $props that are used in the component's function */
90
- props?: string[];
91
- /** $context props that are used in the component's function */
92
- contextProps?: string[];
93
- /** $slot props that are used in the component's function */
94
- slotProps?: string[];
95
- };
96
-
69
+ //#endregion
70
+ //#region src/compile/types/nodes/TemplateNode.d.ts
71
+ interface TemplateNode {
72
+ type: NodeType;
73
+ scopeStyles?: boolean;
74
+ varName?: string;
75
+ handled?: boolean;
76
+ }
77
+ //#endregion
78
+ //#region src/compile/types/nodes/ParentNode.d.ts
79
+ interface ParentNode extends TemplateNode {
80
+ type: NodeType;
81
+ children: TemplateNode[];
82
+ }
83
+ //#endregion
84
+ //#region src/compile/types/nodes/RootNode.d.ts
85
+ interface RootNode extends ParentNode {
86
+ type: "root";
87
+ children: TemplateNode[];
88
+ fragment?: Fragment;
89
+ }
90
+ //#endregion
91
+ //#region src/compile/types/styles/Attribute.d.ts
92
+ interface Attribute {
93
+ name: string;
94
+ value: string;
95
+ }
96
+ //#endregion
97
+ //#region src/compile/types/styles/StyleBlock.d.ts
98
+ interface StyleBlock {
99
+ selector: string;
100
+ attributes: Attribute[];
101
+ children: StyleBlock[];
102
+ }
103
+ //#endregion
104
+ //#region src/compile/types/styles/Style.d.ts
105
+ interface Style {
106
+ global: boolean;
107
+ blocks: StyleBlock[];
108
+ hash: string;
109
+ }
110
+ //#endregion
111
+ //#region src/types/TemplateComponent.d.ts
112
+ interface TemplateComponent {
113
+ start?: number;
114
+ /** The component's name */
115
+ name?: string;
116
+ /** Whether the component is defined with a default function */
117
+ default?: boolean;
118
+ /** Params declared by the user in the component's function */
119
+ params?: string;
120
+ markup?: RootNode;
121
+ head?: RootNode;
122
+ style?: Style;
123
+ /** $props that are used in the component's function */
124
+ props?: string[];
125
+ /** $context props that are used in the component's function */
126
+ contextProps?: string[];
127
+ needsContext?: boolean;
128
+ /** $slot props that are used in the component's function */
129
+ slotProps?: string[];
130
+ }
131
+ //#endregion
132
+ //#region src/types/Template.d.ts
97
133
  /**
98
- * The template for a component file, consisting of parts like script, markup and styles
99
- */
100
- type Template = {
101
- imports: Import[];
102
- script: string;
103
- components: TemplateComponent[];
104
- };
105
-
106
- type BuildResult = {
107
- code: string;
108
- styles: {
109
- style: string;
110
- hash: string;
111
- }[];
112
- };
113
-
134
+ * The template for a component file, consisting of parts like script, markup and styles
135
+ */
136
+ interface Template {
137
+ imports: Import[];
138
+ script: ScriptChunk[];
139
+ components: TemplateComponent[];
140
+ }
141
+ //#endregion
142
+ //#region src/compile/types/SourceMapping.d.ts
143
+ interface SourceMapping {
144
+ script: string;
145
+ source: SourceRange;
146
+ compiled: SourceRange;
147
+ }
148
+ //#endregion
149
+ //#region src/compile/types/BuildResult.d.ts
150
+ interface BuildResult {
151
+ code: string;
152
+ styles: {
153
+ style: string;
154
+ hash: string;
155
+ }[];
156
+ map: SourceMapping[];
157
+ }
158
+ //#endregion
159
+ //#region src/compile/build.d.ts
114
160
  /**
115
- * Builds a component template into code and styles for rendering
116
- *
117
- * @param template The component template, possibly including script, markup and styles
118
- *
119
- * @returns The component's code and styles
120
- */
161
+ * Builds a component template into code and styles for rendering
162
+ *
163
+ * @param template The component template, possibly including script, markup and styles
164
+ *
165
+ * @returns The component's code and styles
166
+ */
121
167
  declare function build(template: Template, options?: BuildOptions): BuildResult;
122
-
168
+ //#endregion
169
+ //#region src/compile/buildType.d.ts
123
170
  /**
124
- * Builds a component template into a d.ts file
125
- *
126
- * @param name The name of the component
127
- * @param template The component template, possibly including script, markup and styles
128
- *
129
- * @returns The d.ts file content
130
- */
171
+ * Builds a component template into a d.ts file
172
+ *
173
+ * @param name The name of the component
174
+ * @param template The component template, possibly including script, markup and styles
175
+ *
176
+ * @returns The d.ts file content
177
+ */
131
178
  declare function buildType(template: Template, options?: BuildOptions): string;
132
-
133
- type CompileError = {
134
- message: string;
135
- start: number;
136
- line: number;
137
- column: number;
138
- };
139
-
140
- type ParseResult = {
141
- ok: boolean;
142
- errors: CompileError[];
143
- template?: Template;
144
- };
145
-
179
+ //#endregion
180
+ //#region src/compile/types/CompileError.d.ts
181
+ interface CompileError {
182
+ message: string;
183
+ startIndex: number;
184
+ startLine: number;
185
+ startChar: number;
186
+ endIndex: number;
187
+ endLine: number;
188
+ endChar: number;
189
+ }
190
+ //#endregion
191
+ //#region src/compile/types/ParseResult.d.ts
192
+ interface ParseResult {
193
+ ok: boolean;
194
+ errors: CompileError[];
195
+ template?: Template;
196
+ }
197
+ //#endregion
198
+ //#region src/compile/parse.d.ts
146
199
  /**
147
- * Parses source code into a component template
148
- *
149
- * @param source The source code
150
- *
151
- * @returns A result indicating whether parsing was ok, and if so, containing
152
- * the component template's parts such as script, markup and styles
153
- */
200
+ * Parses source code into a component template
201
+ *
202
+ * @param source The source code
203
+ *
204
+ * @returns A result indicating whether parsing was ok, and if so, containing
205
+ * the component template's parts such as script, markup and styles
206
+ */
154
207
  declare function parse(source: string): ParseResult;
155
-
156
- export { type Template, build, buildType, parse };
208
+ //#endregion
209
+ export { type Component, type Template, build, buildType, parse };
210
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","names":[],"sources":["../src/types/BuildOptions.ts","../src/compile/types/Import.ts","../src/compile/types/SourceRange.ts","../src/compile/types/ScriptChunk.ts","../src/compile/types/nodes/Fragment.ts","../src/compile/types/nodes/NodeType.ts","../src/compile/types/nodes/TemplateNode.ts","../src/compile/types/nodes/ParentNode.ts","../src/compile/types/nodes/RootNode.ts","../src/compile/types/styles/Attribute.ts","../src/compile/types/styles/StyleBlock.ts","../src/compile/types/styles/Style.ts","../src/types/TemplateComponent.ts","../src/types/Template.ts","../src/compile/types/SourceMapping.ts","../src/compile/types/BuildResult.ts","../src/compile/build.ts","../src/compile/buildType.ts","../src/compile/types/CompileError.ts","../src/compile/types/ParseResult.ts","../src/compile/parse.ts"],"sourcesContent":[],"mappings":";;;UAAyB,YAAA;;;;;;;;;;;;;;;EGAI,gBAEJ,CAAA,EAAA,OAAA;;;;ECFI,YAEJ,CAAA,EAAA,MAAA;;;;UHFA,MAAA;;;MDAA,EAAA,MAAA;;;;;;UEAA,WAAA;;;;;;UCEA,WAAA;;OHFA,EGIjB,WHJiB;;;;UIEA,QAAA;;MJFA,EAAA,MAAA;;;;UCAA,EGQf,WHRe,EAAA;;;;QCAA,EAAA;;;;ECAI,CAAA,EAEJ;;;;;;KEFpB,QAAA;;;UCEoB,YAAA;QAClB;aNHkB,CAAA,EAAA,OAAA;;;;;;UOGA,UAAA,SAAmB;MPHnB,EOIlB,QPJkB;YOKd;;;;APLc,UQIA,QAAA,SAAiB,URJjB,CAAA;;YQMd;aAGC;;;;UCTa,SAAA;;;;;;UCEA,UAAA;;YVFA,EUIZ,SVJY,EAAA;YUKd;;;;UCHc,KAAA;;QXFA,EWIhB,UXJgB,EAAA;;;;;UYGA,iBAAA;OZHA,CAAA,EAAA,MAAA;;;;SCAA,CAAA,EAAA,OAAA;;;WWWf;MVXe,CAAA,EUYjB,QVZiB;UUahB;;;ETboB;;;;ECAA,SAEJ,CAAA,EAAA,MAAA,EAAA;;;;;;;USKA,QAAA;SZPA,EYQf,MZRe,EAAA;UYShB;cACI;;;;UCRY,aAAA;;QdFA,EcIhB,WdJgB;YcKd;;;;UCHc,WAAA;;QfFA,EAAA;;;;KCAA,EcQnB,adRmB,EAAA;;;;;;;;;;;iBeeD,KAAA,WAAgB,oBAAoB,eAAe;;;;;;;;;;;iBCHnD,SAAA,WAAoB,oBAAoB;;;UCZvC,YAAA;;;WlBAA,EAAA,MAAA;;;;SCAA,EAAA,MAAA;;;;UkBGA,WAAA;MnBHA,OAAA;UmBKhB;aACG;;;;;;;;;;;;iBCKY,KAAA,kBAAuB"}