@torpor/view 0.4.9 → 0.4.11

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 (234) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/compile.cjs +75 -77
  3. package/dist/compile.cjs.map +1 -1
  4. package/dist/compile.js +75 -77
  5. package/dist/compile.js.map +1 -1
  6. package/dist/index.cjs +6 -7
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.cts.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +6 -7
  13. package/dist/index.js.map +1 -1
  14. package/package.json +1 -1
  15. package/src/compile/build/client/buildAwaitNode.ts +32 -34
  16. package/src/compile/build/client/buildCode.ts +1 -10
  17. package/src/compile/build/client/buildHtmlNode.ts +11 -3
  18. package/src/compile/build/client/buildIfNode.ts +18 -26
  19. package/src/compile/build/client/buildReplaceNode.ts +10 -2
  20. package/src/compile/build/client/buildSwitchNode.ts +18 -26
  21. package/src/render/runControl.ts +2 -1
  22. package/src/render/runControlBranch.ts +6 -13
  23. package/src/watch/proxySet.ts +1 -1
  24. package/test/attributes/components/output/Attributes-client.ts +0 -2
  25. package/test/attributes/components/output/Disappearing-client.ts +0 -2
  26. package/test/attributes/components/temp/{Attributes-client-b9b98b8c868cc4f13484ae2237d59ef9491dfbf3.ts → Attributes-client-63bd49fe97fb8d775ef291fa19b8f03075020f63.ts} +0 -2
  27. package/test/attributes/components/temp/{Disappearing-client-b9b98b8c868cc4f13484ae2237d59ef9491dfbf3.ts → Disappearing-client-63bd49fe97fb8d775ef291fa19b8f03075020f63.ts} +0 -2
  28. package/test/await/components/output/Await-client.ts +49 -42
  29. package/test/await/components/temp/{Await-client-284921284e6ae52b607902682f7f9b69bffe1515.ts → Await-client-5ad15bc135417fa095bb5c95c7407a02a444a272.ts} +49 -42
  30. package/test/bind/components/output/BindComponent-client.ts +0 -4
  31. package/test/bind/components/output/BindText-client.ts +0 -2
  32. package/test/bind/components/temp/{BindComponent-client-acbb75b9dc9685722e49a937138b8f8d2e5f0539.ts → BindComponent-client-44f487e4c31612483ff002a7dea91925dd37b96b.ts} +0 -4
  33. package/test/bind/components/temp/{BindText-client-12ad90dae9678c8cdc7d8f2266ff6ed58824d57e.ts → BindText-client-74b797d8a10d8f18a71ef121dbb9eaec9c8dd67a.ts} +0 -2
  34. package/test/child-component/components/output/ChildComponent-client.ts +0 -4
  35. package/test/child-component/components/temp/{ChildComponent-client-63a83042fd341882e31e4fe9344294cbe83f00e5.ts → ChildComponent-client-3f29b8db2e610cbcb200af36721456404ed29dca.ts} +0 -4
  36. package/test/class/components/output/Class-client.ts +0 -4
  37. package/test/class/components/temp/{Class-client-919c8e138d3885b62ad3440c2d6925edae8e4892.ts → Class-client-0741f12141ba1e5d531ca6cc9becc0511ff0c502.ts} +0 -4
  38. package/test/component/components/output/Component-client.ts +0 -4
  39. package/test/component/components/temp/{Component-client-a433db324e16bc80b647022bba8717c7b5d285a6.ts → Component-client-8255e6a16f9dc01f64b88808bc92003396794fa5.ts} +0 -4
  40. package/test/console/components/output/Console-client.ts +0 -2
  41. package/test/console/components/temp/{Console-client-2d6a441342c992f6be9f4139a3354055f7aa6c41.ts → Console-client-bf26a9f6c8785ce09608d36fae616de0724a2355.ts} +0 -2
  42. package/test/const/components/output/Const-client.ts +0 -2
  43. package/test/const/components/temp/{Const-client-9d8262840860a5cb686c4923d0c8567ffc704b35.ts → Const-client-111aef0ff3a14c98eed9dba0a6205bd4509ccf29.ts} +0 -2
  44. package/test/context/components/output/Context-client.ts +0 -6
  45. package/test/context/components/temp/{Context-client-c1437b9cb8765f3d73b315982dd52e8458345da9.ts → Context-client-a4b608a96e3a3763ad9d660e1bc0836a105b9ea3.ts} +0 -6
  46. package/test/effects/components/output/ForEffect-client.ts +0 -2
  47. package/test/effects/components/output/IfEffect-client.ts +24 -27
  48. package/test/effects/components/output/NestedIfEffect-client.ts +46 -52
  49. package/test/effects/components/temp/{ForEffect-client-74072b430ca76fba1ebcad8bbc14754874f60969.ts → ForEffect-client-15144e8e55d99b6495affdb158cf95b301713f1a.ts} +0 -2
  50. package/test/effects/components/temp/{IfEffect-client-bdc34d65604493fc1475e2e98f7ae262a0ca5f34.ts → IfEffect-client-792e4b6c568e2cffad16c0b64ffd39928566c534.ts} +24 -27
  51. package/test/effects/components/temp/NestedIfEffect-client-724b09d88afd0eb4df459082ada91ac041825f7a.ts +89 -0
  52. package/test/events/components/output/Events-client.ts +0 -2
  53. package/test/events/components/temp/{Events-client-a02f139a6aed6e9105eeb23cee802f3d1b8550e5.ts → Events-client-3224d5bbbc6d4188c566cfa86659e546a886877a.ts} +0 -2
  54. package/test/for/components/output/For-client.ts +0 -2
  55. package/test/for/components/output/ForAfterFor-client.ts +0 -2
  56. package/test/for/components/output/ForContainingFor-client.ts +0 -2
  57. package/test/for/components/output/ForContainingFunction-client.ts +0 -2
  58. package/test/for/components/output/ForContainingIf-client.ts +18 -24
  59. package/test/for/components/output/ForEscape-client.ts +0 -2
  60. package/test/for/components/output/ForIn-client.ts +0 -2
  61. package/test/for/components/output/ForOf-client.ts +0 -2
  62. package/test/for/components/temp/{For-client-b999b399f32cac80c8ca1c9a718e35705a2dc10f.ts → For-client-287e5695f24f6700158d2c689fdce1916031b4d7.ts} +0 -2
  63. package/test/for/components/temp/{ForAfterFor-client-315138c704ee78185fbaf09a3f055e4c00a3a91d.ts → ForAfterFor-client-bc375829d736a62ee760f32a5a90df78426c8534.ts} +0 -2
  64. package/test/for/components/temp/{ForContainingFor-client-d9ed22634282fabc29ed8bdd5e4cb3ee699f5f56.ts → ForContainingFor-client-d80aba5977a7cef8263f0fdaf6216e19bb8b0625.ts} +0 -2
  65. package/test/for/components/temp/{ForContainingFunction-client-a1a63d73cf56ffc50e5f46cd2e2cc71bf0ebaa4c.ts → ForContainingFunction-client-bcb91a1c7ad2fd4e227fc40f28f01e7fdc495bdc.ts} +0 -2
  66. package/test/for/components/temp/{ForContainingIf-client-9fd42948e04eeb5114d22c4d986e27a101c7e73a.ts → ForContainingIf-client-8911d18357f7c81f97d64773442275c802292ae7.ts} +18 -24
  67. package/test/for/components/temp/{ForEscape-client-f6ee68cf9081cecccc78d793da192df403a573d4.ts → ForEscape-client-13038740272dd6b7fa9f228ae852e3d1b2725f88.ts} +0 -2
  68. package/test/for/components/temp/{ForIn-client-f82576cc3c950432fec8c196ba25596f191177ae.ts → ForIn-client-9f244dfd10d0439f14719e724aefc908174fe4e3.ts} +0 -2
  69. package/test/for/components/temp/{ForOf-client-1a89bfa049d931c7ec848d80196cd75bc67868a6.ts → ForOf-client-b0e33a686f4183a88aa06af7f2255e7210438fce.ts} +0 -2
  70. package/test/function/components/output/Function-client.ts +0 -2
  71. package/test/function/components/temp/{Function-client-a9072c015aa3f89966fbfc905109c2c6ecac3846.ts → Function-client-a2603b20a7f8763ba9713b04c42da56c2ee2056e.ts} +0 -2
  72. package/test/html/components/output/Html-client.ts +10 -8
  73. package/test/html/components/temp/{Html-client-206a7cd3478abde0e6902a8cb953dc20d6a2cd3f.ts → Html-client-da930140bd62a34408887d13aafebbe856065bef.ts} +10 -8
  74. package/test/html/html.test.ts +1 -0
  75. package/test/if/components/output/ElseIfTrue-client.ts +34 -35
  76. package/test/if/components/output/ElseTrue-client.ts +34 -35
  77. package/test/if/components/output/IfAfterIf-client.ts +30 -38
  78. package/test/if/components/output/IfCache-client.ts +29 -32
  79. package/test/if/components/output/IfContainingFor-client.ts +53 -59
  80. package/test/if/components/output/IfContainingFunction-client.ts +21 -26
  81. package/test/if/components/output/IfContainingIf-client.ts +46 -52
  82. package/test/if/components/output/IfElseFalse-client.ts +24 -27
  83. package/test/if/components/output/IfElseTrue-client.ts +24 -27
  84. package/test/if/components/output/IfFalse-client.ts +16 -21
  85. package/test/if/components/output/IfNested-client.ts +54 -58
  86. package/test/if/components/temp/ElseIfTrue-client-b9fc7dd83aae7205745ae376e2081befa33e320c.ts +77 -0
  87. package/test/if/components/temp/ElseTrue-client-b9fc7dd83aae7205745ae376e2081befa33e320c.ts +77 -0
  88. package/test/if/components/temp/{IfAfterIf-client-b042b5047978b9054a6a89e45f4d157249885821.ts → IfAfterIf-client-e463e4db80127acc2ed0c4da349ecaa4c5b0ce1a.ts} +30 -38
  89. package/test/if/components/temp/{IfCache-client-3d0bc2841d050f6d86bbccddfdcaf0b0b781ab87.ts → IfCache-client-e892165cad33a1052bb248fe10e1b3aa9dffbf01.ts} +29 -32
  90. package/test/if/components/temp/IfContainingFor-client-0835d2155fd73b40d06b77d9f5af380a1d209e4e.ts +105 -0
  91. package/test/if/components/temp/{IfContainingFunction-client-b3a3e7e2b2b44618fa722403d51717532fc237e4.ts → IfContainingFunction-client-2c1a9e5da9fb9a85cae8123f30c23ccc851c9803.ts} +21 -26
  92. package/test/if/components/temp/IfContainingIf-client-517b94a34195618e4e58cabdfdb402288379b075.ts +89 -0
  93. package/test/{effects/components/temp/NestedIfEffect-client-944bd749d83ebce0f6ae66c6751f38ecd430df05.ts → if/components/temp/IfContainingIfAfterIf-client-f435f9bc464edfaf580ef7c1726a4be5ba8c6f6f.ts} +29 -8
  94. package/test/if/components/temp/IfContainingIfAfterIf-server-2cfd604fd3a7187217437bd97dc89a4c6aeb8726.ts +29 -0
  95. package/test/if/components/temp/IfContainingIfAfterIf-types-805203b39332252a17996786ac79ece914bbea34.ts +10 -0
  96. package/test/if/components/temp/{IfElseTrue-client-9bccfbdf5da704d3756ff48e2cf6987e6125dc1f.ts → IfElseFalse-client-6003c6c731c1bad239bdcea789d136bc8cd6090a.ts} +24 -27
  97. package/test/if/components/temp/{IfElseFalse-client-9bccfbdf5da704d3756ff48e2cf6987e6125dc1f.ts → IfElseTrue-client-6003c6c731c1bad239bdcea789d136bc8cd6090a.ts} +24 -27
  98. package/test/if/components/temp/{IfFalse-client-9ad6f6e3f7abb5d9927d4823315886542c6ec611.ts → IfFalse-client-8ef85fba04e1e6c3f2b95d9d957bffea5ba593ae.ts} +16 -21
  99. package/test/if/components/temp/IfNested-client-5be29838cfd71602d781e744ebd1eb9968eb825c.ts +97 -0
  100. package/test/mount/components/output/Mount-client.ts +0 -2
  101. package/test/mount/components/temp/{Mount-client-ce5a39e2bd6942a589b1a91d392ee841d55bccf2.ts → Mount-client-00351e81e77561213a14c8eea534acae3c5eb692.ts} +0 -2
  102. package/test/on-mount/components/output/OnMount-client.ts +0 -2
  103. package/test/on-mount/components/temp/{OnMount-client-218e35c32f4c3d30a193775e4aecd50d5663da0d.ts → OnMount-client-0a63fc37b0f617ee0b4de2619590a2562a3e2f92.ts} +0 -2
  104. package/test/party/components/output/ComputedState-client.ts +0 -2
  105. package/test/party/components/output/Conditional-client.ts +36 -35
  106. package/test/party/components/output/Context-client.ts +0 -4
  107. package/test/party/components/output/DeclareState-client.ts +0 -2
  108. package/test/party/components/output/DomRef-client.ts +0 -2
  109. package/test/party/components/output/EmitToParent-client.ts +0 -4
  110. package/test/party/components/output/EventClick-client.ts +0 -2
  111. package/test/party/components/output/InputCheckbox-client.ts +0 -2
  112. package/test/party/components/output/InputRadio-client.ts +0 -2
  113. package/test/party/components/output/InputSelect-client.ts +0 -2
  114. package/test/party/components/output/InputText-client.ts +0 -2
  115. package/test/party/components/output/Loop-client.ts +0 -2
  116. package/test/party/components/output/MinimalTemplate-client.ts +0 -2
  117. package/test/party/components/output/OnMount-client.ts +0 -2
  118. package/test/party/components/output/Props-client.ts +0 -4
  119. package/test/party/components/output/Slot-client.ts +0 -4
  120. package/test/party/components/output/SlotFallback-client.ts +0 -4
  121. package/test/party/components/output/Styling-client.ts +0 -2
  122. package/test/party/components/output/UpdateState-client.ts +0 -2
  123. package/test/party/components/temp/{ComputedState-client-fcd3c890f4dc9058c4ee29e7cdbfda23a8d4695f.ts → ComputedState-client-512a35be46f600ab9b9cf9da0e3c0c90b377d7fa.ts} +0 -2
  124. package/test/party/components/temp/{Conditional-client-39c1844a9395f8620541f6599ee4547906c35d69.ts → Conditional-client-2c5f759b41ce567a51589af001bf0fc6feb47b4b.ts} +36 -35
  125. package/test/party/components/temp/{Context-client-696777e5ce1ad7ef2f5bc8e4c2c1a81fb3a98ece.ts → Context-client-88246cfda3671dd5ac8919d95c2f65a8dce81f18.ts} +0 -4
  126. package/test/party/components/temp/{DeclareState-client-cbade5ab902b3d7d5bf8054f9cc7e149334e3560.ts → DeclareState-client-cc45b93b34f4c34c965c765e0f53f78ea416b1ca.ts} +0 -2
  127. package/test/party/components/temp/{DomRef-client-6e643c9cfee7fed10c6cead9fcad055646712aa6.ts → DomRef-client-4c28338d9ea7a2c3d273970161181d82076ed19e.ts} +0 -2
  128. package/test/party/components/temp/{EmitToParent-client-89b1744b0bc1e50dc2091c6e63dfe9b62a0b8d46.ts → EmitToParent-client-fcf3d690b10871aad884099e078d5c98d7b8503d.ts} +0 -4
  129. package/test/party/components/temp/{EventClick-client-2c7393fcd73e6d10d17f5f19aacafeb91ab219f6.ts → EventClick-client-dcb9b191808f7f0f9d009b725da046ba241cb44b.ts} +0 -2
  130. package/test/party/components/temp/{InputCheckbox-client-377a0a0505e307b19dcca95cb9b1cf9c8a38835b.ts → InputCheckbox-client-f0af6d8f86c4f80673dea1599a6f2deaf54fe576.ts} +0 -2
  131. package/test/party/components/temp/{InputRadio-client-38c3f46fabdb94ca79c71888ce3335687461fcbd.ts → InputRadio-client-1472838ddbfe003a85779e1ccb7b57cb66333e90.ts} +0 -2
  132. package/test/party/components/temp/{InputSelect-client-bac5f12f5560e702794587702c883c273c92394f.ts → InputSelect-client-9881943682735888d6b62612d93577ba51593678.ts} +0 -2
  133. package/test/party/components/temp/{InputText-client-2a189403e60e6f932829370233ddede2be782334.ts → InputText-client-7b37e856f97c863e120a4aa6c02757e489ad6591.ts} +0 -2
  134. package/test/party/components/temp/{Loop-client-c99929d3487880b8526d0ed3602c96dd36da1a8c.ts → Loop-client-5e5694bc158fcd5f06cd1037e920c657032d7b90.ts} +0 -2
  135. package/test/party/components/temp/{MinimalTemplate-client-72e8afffe412117e38f8045196704fa3ac384213.ts → MinimalTemplate-client-079892cc885b1f25863c13b93c83e0554a22a2c3.ts} +0 -2
  136. package/test/party/components/temp/{OnMount-client-f16abd053b4b1ba31fc806e8c3a39163a46cb6a2.ts → OnMount-client-1900436fa5a6d56cb98df953de89e0f662d821e8.ts} +0 -2
  137. package/test/party/components/temp/{Props-client-863b630f7f77c4609f6171886bf812b9452cfceb.ts → Props-client-b94724d04965006c1c89776bac2fa10694280c44.ts} +0 -4
  138. package/test/party/components/temp/{Slot-client-4406668a963796d1117ec818118e504e55b18e4c.ts → Slot-client-5793cdf8a5f28b5009ae17435cfd146ed6c8a1f8.ts} +0 -4
  139. package/test/party/components/temp/{SlotFallback-client-4406668a963796d1117ec818118e504e55b18e4c.ts → SlotFallback-client-5793cdf8a5f28b5009ae17435cfd146ed6c8a1f8.ts} +0 -4
  140. package/test/party/components/temp/{Styling-client-59c057fc5b6c226d667351ea7f748abbe86f1c96.ts → Styling-client-a1c7082740471fead2feb331c9ba0864ff0c5566.ts} +0 -2
  141. package/test/party/components/temp/{UpdateState-client-3b087abf0cb4b1e784623f3de6dabbcb63703e07.ts → UpdateState-client-c6c785a6d35693ba1b9c36dbd59bf28163718c00.ts} +0 -2
  142. package/test/props/components/output/Reactive-client.ts +0 -4
  143. package/test/props/components/temp/{Reactive-client-a911a7026a02bf32c185e29a87f5b8611685e370.ts → Reactive-client-26a5294eda35e924911bcc99acda58cc98baee7c.ts} +0 -4
  144. package/test/replace/components/output/Replace-client.ts +14 -12
  145. package/test/replace/components/temp/{Replace-client-d5e681fe8c662c832916d61ae22d51e65dfeba53.ts → Replace-client-872de024cd2c5c6c95a3eb4e29642e8e48e69a27.ts} +14 -12
  146. package/test/slots/components/output/BasicSlot-client.ts +0 -4
  147. package/test/slots/components/output/LetSlot-client.ts +0 -4
  148. package/test/slots/components/output/NamedSlot-client.ts +0 -4
  149. package/test/slots/components/output/UnusedSlot-client.ts +0 -4
  150. package/test/slots/components/temp/{BasicSlot-client-c1e9885dc85d13e4b44d54e0ad800c0d46e35914.ts → BasicSlot-client-39a9a3170fd51582b023b805d597eb729bb6b02b.ts} +0 -4
  151. package/test/slots/components/temp/{LetSlot-client-3b1779874d3c9b1289fb62f124af5ebaf78279a8.ts → LetSlot-client-63980e54259324855b573e87efb1d7a1ac9abd9c.ts} +0 -4
  152. package/test/slots/components/temp/{NamedSlot-client-8faa564d1002c199f102aa148657d82628d1ebd7.ts → NamedSlot-client-426018f63a360e6d4208400b25bfadd2727eadcf.ts} +0 -4
  153. package/test/slots/components/temp/{UnusedSlot-client-2e23b278b99db53bc0fde9c98836d8e26481a40e.ts → UnusedSlot-client-5819c279d1f8c2d808651505171a5b20a41998ef.ts} +0 -4
  154. package/test/special-component/components/output/SpecialComponent-client.ts +29 -31
  155. package/test/special-component/components/temp/{SpecialComponent-client-d81a30dda5d8d509e8661caa70bbc89265bc65c1.ts → SpecialComponent-client-752f0be79a322e8f75bfdd5adfec996d4ab35281.ts} +29 -31
  156. package/test/special-element/components/output/SpecialElement-client.ts +0 -2
  157. package/test/special-element/components/temp/{SpecialElement-client-2887938dfcd02e042d8fe5501845d043b098616a.ts → SpecialElement-client-f6239c04736a49add9278edfaea7804dd186e665.ts} +0 -2
  158. package/test/special-head/components/output/SpecialHead-client.ts +0 -2
  159. package/test/special-head/components/temp/{SpecialHead-client-3b8455aa874ae0113a7f718cb64b310d84430ce6.ts → SpecialHead-client-cda50f56454f7c7f0147352e53d50c4060ed2e3b.ts} +0 -2
  160. package/test/special-self/components/output/SpecialSelf-client.ts +25 -28
  161. package/test/special-self/components/temp/{SpecialSelf-client-cb6aba06aa4bec73485ef48bc05557a5c935f54c.ts → SpecialSelf-client-09e93618a2318d3873b201557e2f32d5bf5e4100.ts} +25 -28
  162. package/test/style/components/output/Style-client.ts +0 -2
  163. package/test/style/components/temp/{Style-client-8896b4c0fe78e346904fbcf24d629bbe20a56860.ts → Style-client-8ca877392f5610bc527c5577d948f5782c40bf96.ts} +0 -2
  164. package/test/svg/components/output/Svg-client.ts +24 -26
  165. package/test/svg/components/temp/{Svg-client-0397419af735b847de6c56bd6ad2bb4eb6dc1ba2.ts → Svg-client-6a213daf6df5c361de9e1c9aa7cc581bcb6356be.ts} +24 -26
  166. package/test/switch/components/output/Switch-client.ts +34 -35
  167. package/test/{if/components/temp/ElseTrue-client-6eb8f5e058f266603104442f46cd96206bbceee8.ts → switch/components/temp/Switch-client-4cab689c9914c62d461e6aaf6beb68d15275c68f.ts} +46 -34
  168. package/test/text/components/output/Text-client.ts +0 -2
  169. package/test/text/components/temp/{Text-client-3b2555c36eef59b2d79b1d5a6d3edf4ff28a6816.ts → Text-client-4288bc38b436a5b486c1fd5a4805bd206dbff27c.ts} +0 -2
  170. package/test/watch-array/components/output/ArrayAllFunctions-client.ts +0 -2
  171. package/test/watch-array/components/output/ArrayAllFunctionsUnkeyed-client.ts +0 -2
  172. package/test/watch-array/components/output/ArrayEmpty-client.ts +0 -2
  173. package/test/watch-array/components/output/ArrayEntries-client.ts +0 -2
  174. package/test/watch-array/components/output/ArrayIndexes-client.ts +0 -2
  175. package/test/watch-array/components/output/ArrayPop-client.ts +0 -2
  176. package/test/watch-array/components/output/ArrayPush-client.ts +0 -2
  177. package/test/watch-array/components/output/ArrayReassign-client.ts +0 -2
  178. package/test/watch-array/components/output/ArrayReverse-client.ts +0 -2
  179. package/test/watch-array/components/output/ArraySetObject-client.ts +0 -2
  180. package/test/watch-array/components/output/ArraySetProperty-client.ts +0 -2
  181. package/test/watch-array/components/output/ArrayShift-client.ts +0 -2
  182. package/test/watch-array/components/output/ArraySort-client.ts +0 -2
  183. package/test/watch-array/components/output/ArraySpliceAdd-client.ts +0 -2
  184. package/test/watch-array/components/output/ArraySpliceDelete-client.ts +0 -2
  185. package/test/watch-array/components/output/ArraySpliceDeleteAll-client.ts +0 -2
  186. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-client.ts +0 -2
  187. package/test/watch-array/components/output/ArraySpliceDeleteEnd-client.ts +0 -2
  188. package/test/watch-array/components/output/ArraySwap-client.ts +0 -2
  189. package/test/watch-array/components/output/ArrayUnshift-client.ts +0 -2
  190. package/test/watch-array/components/output/ArrayUpdateAssignment-client.ts +0 -2
  191. package/test/watch-array/components/temp/{ArrayPush-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts → ArrayAllFunctions-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts} +0 -2
  192. package/test/watch-array/components/temp/{ArrayAllFunctionsUnkeyed-client-0aede144ecd4a1de98d0ac6265fc4275e9803f9e.ts → ArrayAllFunctionsUnkeyed-client-513455af417adc9807393dbb58da507c66dde885.ts} +0 -2
  193. package/test/watch-array/components/temp/{ArrayAllFunctions-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts → ArrayEmpty-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts} +0 -2
  194. package/test/watch-array/components/temp/{ArrayEntries-client-40c8fbd950418f90335fee16250a42778d8bfbaf.ts → ArrayEntries-client-cf9fe0738861c78fbd576d7f74b38c713363ee31.ts} +0 -2
  195. package/test/watch-array/components/temp/{ArrayIndexes-client-89d3c7c1e89ca1c402183e84c3a2a8ed02bde10b.ts → ArrayIndexes-client-2c12fa2b6d0992423b57ddb6f363b9c4c5bf525a.ts} +0 -2
  196. package/test/watch-array/components/temp/{ArrayEmpty-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts → ArrayPop-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts} +0 -2
  197. package/test/watch-array/components/temp/{ArrayPop-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts → ArrayPush-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts} +0 -2
  198. package/test/watch-array/components/temp/ArrayReassign-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  199. package/test/watch-array/components/temp/ArrayReverse-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  200. package/test/watch-array/components/temp/ArraySetObject-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  201. package/test/watch-array/components/temp/ArraySetProperty-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  202. package/test/watch-array/components/temp/ArrayShift-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  203. package/test/watch-array/components/temp/ArraySort-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  204. package/test/watch-array/components/temp/ArraySpliceAdd-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  205. package/test/watch-array/components/temp/ArraySpliceDelete-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  206. package/test/watch-array/components/temp/ArraySpliceDeleteAll-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  207. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  208. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  209. package/test/watch-array/components/temp/ArraySwap-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  210. package/test/watch-array/components/temp/ArrayUnshift-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  211. package/test/watch-array/components/temp/ArrayUpdateAssignment-client-83720b9fb76de7976be6cdb86d122cb097f16821.ts +81 -0
  212. package/test/watch-object/components/output/WatchObject-client.ts +0 -2
  213. package/test/watch-object/components/output/WatchUndefinedPropertyChange-client.ts +0 -2
  214. package/test/watch-object/components/temp/{WatchObject-client-6e179fea629d983307056536ab5a3cf9141335fa.ts → WatchObject-client-8f906f7d7613370e70c55a122774e122cdd55bff.ts} +0 -2
  215. package/test/watch-object/components/temp/{WatchUndefinedPropertyChange-client-210c8984d068fe46e681de4f63d744af34d75b7a.ts → WatchUndefinedPropertyChange-client-bce2c42e17dedce203b71228966e20056b82baba.ts} +0 -2
  216. package/test/if/components/temp/ElseIfTrue-client-6eb8f5e058f266603104442f46cd96206bbceee8.ts +0 -78
  217. package/test/if/components/temp/IfContainingFor-client-0b27933986c4593fdad3c81ac22e32d7ee6bd40f.ts +0 -111
  218. package/test/if/components/temp/IfContainingIf-client-3cf3407e41d0bd4d2927f97cbc5f9df661537702.ts +0 -95
  219. package/test/if/components/temp/IfNested-client-50abd76ec9369ac6cf42f0264870914923f30b5c.ts +0 -101
  220. package/test/switch/components/temp/Switch-client-8de47f56a21297420acf8bc27fc03149f258028b.ts +0 -91
  221. package/test/watch-array/components/temp/ArrayReassign-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  222. package/test/watch-array/components/temp/ArrayReverse-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  223. package/test/watch-array/components/temp/ArraySetObject-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  224. package/test/watch-array/components/temp/ArraySetProperty-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  225. package/test/watch-array/components/temp/ArrayShift-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  226. package/test/watch-array/components/temp/ArraySort-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  227. package/test/watch-array/components/temp/ArraySpliceAdd-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  228. package/test/watch-array/components/temp/ArraySpliceDelete-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  229. package/test/watch-array/components/temp/ArraySpliceDeleteAll-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  230. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  231. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  232. package/test/watch-array/components/temp/ArraySwap-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  233. package/test/watch-array/components/temp/ArrayUnshift-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
  234. package/test/watch-array/components/temp/ArrayUpdateAssignment-client-10c627fb82e67bba84b0a0bc1ffe79430dcd7255.ts +0 -83
@@ -27,7 +27,6 @@ export default function ForEscape(
27
27
  // @ts-ignore
28
28
  $slots?: Record<string, SlotRender>
29
29
  ): void {
30
- $peek(() => { /**/
31
30
 
32
31
  let things = ["a", "b", "c", "d", "e"]
33
32
 
@@ -98,5 +97,4 @@ export default function ForEscape(
98
97
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
99
98
  t_next(t_text_3);
100
99
 
101
- /**/ });
102
100
  }
@@ -24,7 +24,6 @@ export default function ForIn(
24
24
  // @ts-ignore
25
25
  $slots?: Record<string, SlotRender>
26
26
  ): void {
27
- $peek(() => { /**/
28
27
 
29
28
  /* User interface */
30
29
  const t_fragments: DocumentFragment[] = [];
@@ -78,5 +77,4 @@ export default function ForIn(
78
77
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
79
78
  t_next(t_text_3);
80
79
 
81
- /**/ });
82
80
  }
@@ -24,7 +24,6 @@ export default function ForOf(
24
24
  // @ts-ignore
25
25
  $slots?: Record<string, SlotRender>
26
26
  ): void {
27
- $peek(() => { /**/
28
27
 
29
28
  /* User interface */
30
29
  const t_fragments: DocumentFragment[] = [];
@@ -78,5 +77,4 @@ export default function ForOf(
78
77
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
79
78
  t_next(t_text_3);
80
79
 
81
- /**/ });
82
80
  }
@@ -20,7 +20,6 @@ export default function Function(
20
20
  // @ts-ignore
21
21
  $slots?: Record<string, SlotRender>
22
22
  ): void {
23
- $peek(() => { /**/
24
23
 
25
24
  let $state = $watch({ counter: 0 })
26
25
 
@@ -45,5 +44,4 @@ export default function Function(
45
44
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
46
45
  t_next(t_text_2);
47
46
 
48
- /**/ });
49
47
  }
@@ -20,7 +20,6 @@ export default function Function(
20
20
  // @ts-ignore
21
21
  $slots?: Record<string, SlotRender>
22
22
  ): void {
23
- $peek(() => { /**/
24
23
 
25
24
  let $state = $watch({ counter: 0 })
26
25
 
@@ -45,5 +44,4 @@ export default function Function(
45
44
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
46
45
  t_next(t_text_2);
47
46
 
48
- /**/ });
49
47
  }
@@ -5,6 +5,8 @@ import t_anchor from "../../../../src/render/nodeAnchor";
5
5
  import t_child from "../../../../src/render/nodeChild";
6
6
  import t_fragment from "../../../../src/render/getFragment";
7
7
  import t_next from "../../../../src/render/nodeNext";
8
+ import t_pop_region from "../../../../src/render/popRegion";
9
+ import t_push_region from "../../../../src/render/pushRegion";
8
10
  import t_region from "../../../../src/render/newRegion";
9
11
  import t_root from "../../../../src/render/nodeRoot";
10
12
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -19,7 +21,6 @@ export default function Html(
19
21
  // @ts-ignore
20
22
  $slots?: Record<string, SlotRender>
21
23
  ): void {
22
- $peek(() => { /**/
23
24
 
24
25
  /* User interface */
25
26
  const t_fragments: DocumentFragment[] = [];
@@ -33,17 +34,18 @@ export default function Html(
33
34
  const t_html_region_1 = t_region();
34
35
  t_run_control(t_html_region_1, t_html_anchor_1, (t_before) => {
35
36
  $props.html;
36
- t_run_branch(t_html_region_1, () => {
37
- let t_template_1 = document.createElement("template");
38
- t_template_1.innerHTML = $props.html;
39
- let t_fragment_1 = t_template_1.content.cloneNode(true) as DocumentFragment;
40
- t_add_fragment(t_fragment_1, t_html_parent_1, t_before);
41
- });
37
+ if (!t_run_branch(t_html_region_1, 0, -1)) return;
38
+ const t_new_region = t_region();
39
+ const t_old_region = t_push_region(t_new_region, true);
40
+ let t_template_1 = document.createElement("template");
41
+ t_template_1.innerHTML = $props.html;
42
+ let t_fragment_1 = t_template_1.content.cloneNode(true) as DocumentFragment;
43
+ t_add_fragment(t_fragment_1, t_html_parent_1, t_before);
44
+ t_pop_region(t_old_region);
42
45
  });
43
46
 
44
47
  const t_text_1 = t_next(t_html_parent_1, true);
45
48
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
46
49
  t_next(t_text_1);
47
50
 
48
- /**/ });
49
51
  }
@@ -5,6 +5,8 @@ import t_anchor from "../../../../src/render/nodeAnchor";
5
5
  import t_child from "../../../../src/render/nodeChild";
6
6
  import t_fragment from "../../../../src/render/getFragment";
7
7
  import t_next from "../../../../src/render/nodeNext";
8
+ import t_pop_region from "../../../../src/render/popRegion";
9
+ import t_push_region from "../../../../src/render/pushRegion";
8
10
  import t_region from "../../../../src/render/newRegion";
9
11
  import t_root from "../../../../src/render/nodeRoot";
10
12
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -19,7 +21,6 @@ export default function Html(
19
21
  // @ts-ignore
20
22
  $slots?: Record<string, SlotRender>
21
23
  ): void {
22
- $peek(() => { /**/
23
24
 
24
25
  /* User interface */
25
26
  const t_fragments: DocumentFragment[] = [];
@@ -33,17 +34,18 @@ export default function Html(
33
34
  const t_html_region_1 = t_region();
34
35
  t_run_control(t_html_region_1, t_html_anchor_1, (t_before) => {
35
36
  $props.html;
36
- t_run_branch(t_html_region_1, () => {
37
- let t_template_1 = document.createElement("template");
38
- t_template_1.innerHTML = $props.html;
39
- let t_fragment_1 = t_template_1.content.cloneNode(true) as DocumentFragment;
40
- t_add_fragment(t_fragment_1, t_html_parent_1, t_before);
41
- });
37
+ if (!t_run_branch(t_html_region_1, 0, -1)) return;
38
+ const t_new_region = t_region();
39
+ const t_old_region = t_push_region(t_new_region, true);
40
+ let t_template_1 = document.createElement("template");
41
+ t_template_1.innerHTML = $props.html;
42
+ let t_fragment_1 = t_template_1.content.cloneNode(true) as DocumentFragment;
43
+ t_add_fragment(t_fragment_1, t_html_parent_1, t_before);
44
+ t_pop_region(t_old_region);
42
45
  });
43
46
 
44
47
  const t_text_1 = t_next(t_html_parent_1, true);
45
48
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
46
49
  t_next(t_text_1);
47
50
 
48
- /**/ });
49
51
  }
@@ -53,5 +53,6 @@ function check(container: HTMLElement, $state: Props) {
53
53
 
54
54
  $state.html = "<ul><li>A list</li></ul>";
55
55
 
56
+ expect(queryByText(container, "I'm strong and emphasised")).toBeNull();
56
57
  expect(queryByText(container, "A list")).not.toBeNull();
57
58
  }
@@ -1,11 +1,11 @@
1
1
  import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
2
  import type SlotRender from "../../../../src/types/SlotRender";
5
3
  import t_add_fragment from "../../../../src/render/addFragment";
6
4
  import t_anchor from "../../../../src/render/nodeAnchor";
7
5
  import t_fragment from "../../../../src/render/getFragment";
8
6
  import t_next from "../../../../src/render/nodeNext";
7
+ import t_pop_region from "../../../../src/render/popRegion";
8
+ import t_push_region from "../../../../src/render/pushRegion";
9
9
  import t_region from "../../../../src/render/newRegion";
10
10
  import t_root from "../../../../src/render/nodeRoot";
11
11
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -20,7 +20,6 @@ export default function IfElseIf(
20
20
  // @ts-ignore
21
21
  $slots?: Record<string, SlotRender>
22
22
  ): void {
23
- $peek(() => { /**/
24
23
 
25
24
  /* User interface */
26
25
  const t_fragments: DocumentFragment[] = [];
@@ -31,48 +30,48 @@ export default function IfElseIf(
31
30
 
32
31
  /* @if */
33
32
  const t_if_region_1 = t_region();
34
- let $t_if_state_1 = $watch({ index: -1 });
35
- let t_if_creators_1: ((t_before: Node | null) => void)[] = [];
36
- $run(() => {
33
+ let t_if_index_1 = -1;
34
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
37
35
  if ($props.counter > 10) {
38
- t_if_creators_1[0] = (t_before) => {
39
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's over ten! </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_root_1), true);
42
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
- t_next(t_text_1);
44
- };
45
- $t_if_state_1.index = 0;
36
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 0)) return;
37
+ const t_new_region = t_region();
38
+ const t_old_region = t_push_region(t_new_region, true);
39
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's over ten! </p> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ const t_text_1 = t_next(t_next(t_root_1), true);
42
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
+ t_next(t_text_1);
44
+ t_pop_region(t_old_region);
45
+ t_if_index_1 = 0;
46
46
  }
47
47
  else if ($props.counter > 5) {
48
- t_if_creators_1[1] = (t_before) => {
49
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's over five! </p> `);
50
- const t_root_2 = t_root(t_fragment_2, true);
51
- const t_text_2 = t_next(t_next(t_root_2), true);
52
- t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
53
- t_next(t_text_2);
54
- };
55
- $t_if_state_1.index = 1;
48
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
49
+ const t_new_region = t_region();
50
+ const t_old_region = t_push_region(t_new_region, true);
51
+ const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's over five! </p> `);
52
+ const t_root_2 = t_root(t_fragment_2, true);
53
+ const t_text_2 = t_next(t_next(t_root_2), true);
54
+ t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
55
+ t_next(t_text_2);
56
+ t_pop_region(t_old_region);
57
+ t_if_index_1 = 1;
56
58
  }
57
59
  else {
58
- t_if_creators_1[2] = (t_before) => {
59
- const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> It's not there yet </p> `);
60
- const t_root_3 = t_root(t_fragment_3, true);
61
- const t_text_3 = t_next(t_next(t_root_3), true);
62
- t_add_fragment(t_fragment_3, t_fragment_0, t_before, t_text_3);
63
- t_next(t_text_3);
64
- };
65
- $t_if_state_1.index = 2;
60
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 2)) return;
61
+ const t_new_region = t_region();
62
+ const t_old_region = t_push_region(t_new_region, true);
63
+ const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> It's not there yet </p> `);
64
+ const t_root_3 = t_root(t_fragment_3, true);
65
+ const t_text_3 = t_next(t_next(t_root_3), true);
66
+ t_add_fragment(t_fragment_3, t_fragment_0, t_before, t_text_3);
67
+ t_next(t_text_3);
68
+ t_pop_region(t_old_region);
69
+ t_if_index_1 = 2;
66
70
  }
67
71
  });
68
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
69
- const index = $t_if_state_1.index;
70
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
71
- });
72
72
 
73
73
  const t_text_4 = t_next(t_if_anchor_1, true);
74
74
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_4);
75
75
  t_next(t_text_4);
76
76
 
77
- /**/ });
78
77
  }
@@ -1,11 +1,11 @@
1
1
  import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
2
  import type SlotRender from "../../../../src/types/SlotRender";
5
3
  import t_add_fragment from "../../../../src/render/addFragment";
6
4
  import t_anchor from "../../../../src/render/nodeAnchor";
7
5
  import t_fragment from "../../../../src/render/getFragment";
8
6
  import t_next from "../../../../src/render/nodeNext";
7
+ import t_pop_region from "../../../../src/render/popRegion";
8
+ import t_push_region from "../../../../src/render/pushRegion";
9
9
  import t_region from "../../../../src/render/newRegion";
10
10
  import t_root from "../../../../src/render/nodeRoot";
11
11
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -20,7 +20,6 @@ export default function IfElseIf(
20
20
  // @ts-ignore
21
21
  $slots?: Record<string, SlotRender>
22
22
  ): void {
23
- $peek(() => { /**/
24
23
 
25
24
  /* User interface */
26
25
  const t_fragments: DocumentFragment[] = [];
@@ -31,48 +30,48 @@ export default function IfElseIf(
31
30
 
32
31
  /* @if */
33
32
  const t_if_region_1 = t_region();
34
- let $t_if_state_1 = $watch({ index: -1 });
35
- let t_if_creators_1: ((t_before: Node | null) => void)[] = [];
36
- $run(() => {
33
+ let t_if_index_1 = -1;
34
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
37
35
  if ($props.counter > 10) {
38
- t_if_creators_1[0] = (t_before) => {
39
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's over ten! </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_root_1), true);
42
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
- t_next(t_text_1);
44
- };
45
- $t_if_state_1.index = 0;
36
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 0)) return;
37
+ const t_new_region = t_region();
38
+ const t_old_region = t_push_region(t_new_region, true);
39
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's over ten! </p> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ const t_text_1 = t_next(t_next(t_root_1), true);
42
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
+ t_next(t_text_1);
44
+ t_pop_region(t_old_region);
45
+ t_if_index_1 = 0;
46
46
  }
47
47
  else if ($props.counter > 5) {
48
- t_if_creators_1[1] = (t_before) => {
49
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's over five! </p> `);
50
- const t_root_2 = t_root(t_fragment_2, true);
51
- const t_text_2 = t_next(t_next(t_root_2), true);
52
- t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
53
- t_next(t_text_2);
54
- };
55
- $t_if_state_1.index = 1;
48
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
49
+ const t_new_region = t_region();
50
+ const t_old_region = t_push_region(t_new_region, true);
51
+ const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's over five! </p> `);
52
+ const t_root_2 = t_root(t_fragment_2, true);
53
+ const t_text_2 = t_next(t_next(t_root_2), true);
54
+ t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
55
+ t_next(t_text_2);
56
+ t_pop_region(t_old_region);
57
+ t_if_index_1 = 1;
56
58
  }
57
59
  else {
58
- t_if_creators_1[2] = (t_before) => {
59
- const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> It's not there yet </p> `);
60
- const t_root_3 = t_root(t_fragment_3, true);
61
- const t_text_3 = t_next(t_next(t_root_3), true);
62
- t_add_fragment(t_fragment_3, t_fragment_0, t_before, t_text_3);
63
- t_next(t_text_3);
64
- };
65
- $t_if_state_1.index = 2;
60
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 2)) return;
61
+ const t_new_region = t_region();
62
+ const t_old_region = t_push_region(t_new_region, true);
63
+ const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> It's not there yet </p> `);
64
+ const t_root_3 = t_root(t_fragment_3, true);
65
+ const t_text_3 = t_next(t_next(t_root_3), true);
66
+ t_add_fragment(t_fragment_3, t_fragment_0, t_before, t_text_3);
67
+ t_next(t_text_3);
68
+ t_pop_region(t_old_region);
69
+ t_if_index_1 = 2;
66
70
  }
67
71
  });
68
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
69
- const index = $t_if_state_1.index;
70
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
71
- });
72
72
 
73
73
  const t_text_4 = t_next(t_if_anchor_1, true);
74
74
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_4);
75
75
  t_next(t_text_4);
76
76
 
77
- /**/ });
78
77
  }
@@ -1,11 +1,11 @@
1
1
  import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
2
  import type SlotRender from "../../../../src/types/SlotRender";
5
3
  import t_add_fragment from "../../../../src/render/addFragment";
6
4
  import t_anchor from "../../../../src/render/nodeAnchor";
7
5
  import t_fragment from "../../../../src/render/getFragment";
8
6
  import t_next from "../../../../src/render/nodeNext";
7
+ import t_pop_region from "../../../../src/render/popRegion";
8
+ import t_push_region from "../../../../src/render/pushRegion";
9
9
  import t_region from "../../../../src/render/newRegion";
10
10
  import t_root from "../../../../src/render/nodeRoot";
11
11
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -20,7 +20,6 @@ export default function IfAfterIf(
20
20
  // @ts-ignore
21
21
  $slots?: Record<string, SlotRender>
22
22
  ): void {
23
- $peek(() => { /**/
24
23
 
25
24
  /* User interface */
26
25
  const t_fragments: DocumentFragment[] = [];
@@ -31,59 +30,52 @@ export default function IfAfterIf(
31
30
 
32
31
  /* @if */
33
32
  const t_if_region_1 = t_region();
34
- let $t_if_state_1 = $watch({ index: -1 });
35
- let t_if_creators_1: ((t_before: Node | null) => void)[] = [];
36
- $run(() => {
33
+ let t_if_index_1 = -1;
34
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
37
35
  if ($props.counter > 10) {
38
- t_if_creators_1[0] = (t_before) => {
39
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's true! </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_root_1), true);
42
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
- t_next(t_text_1);
44
- };
45
- $t_if_state_1.index = 0;
36
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 0)) return;
37
+ const t_new_region = t_region();
38
+ const t_old_region = t_push_region(t_new_region, true);
39
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's true! </p> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ const t_text_1 = t_next(t_next(t_root_1), true);
42
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
+ t_next(t_text_1);
44
+ t_pop_region(t_old_region);
45
+ t_if_index_1 = 0;
46
46
  }
47
47
  else {
48
- t_if_creators_1[1] = (_) => {};
49
- $t_if_state_1.index = 1;
48
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
49
+ t_if_index_1 = 1;
50
50
  }
51
51
  });
52
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
53
- const index = $t_if_state_1.index;
54
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
55
- });
56
52
 
57
53
  let t_if_anchor_2 = t_anchor(t_next(t_next(t_if_anchor_1, true))) as HTMLElement;
58
54
 
59
55
  /* @if */
60
56
  const t_if_region_2 = t_region();
61
- let $t_if_state_2 = $watch({ index: -1 });
62
- let t_if_creators_2: ((t_before: Node | null) => void)[] = [];
63
- $run(() => {
57
+ let t_if_index_2 = -1;
58
+ t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
64
59
  if ($props.counter > 5) {
65
- t_if_creators_2[0] = (t_before) => {
66
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's also true! </p> `);
67
- const t_root_2 = t_root(t_fragment_2, true);
68
- const t_text_2 = t_next(t_next(t_root_2), true);
69
- t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
70
- t_next(t_text_2);
71
- };
72
- $t_if_state_2.index = 0;
60
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 0)) return;
61
+ const t_new_region = t_region();
62
+ const t_old_region = t_push_region(t_new_region, true);
63
+ const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's also true! </p> `);
64
+ const t_root_2 = t_root(t_fragment_2, true);
65
+ const t_text_2 = t_next(t_next(t_root_2), true);
66
+ t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
67
+ t_next(t_text_2);
68
+ t_pop_region(t_old_region);
69
+ t_if_index_2 = 0;
73
70
  }
74
71
  else {
75
- t_if_creators_2[1] = (_) => {};
76
- $t_if_state_2.index = 1;
72
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 1)) return;
73
+ t_if_index_2 = 1;
77
74
  }
78
75
  });
79
- t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
80
- const index = $t_if_state_2.index;
81
- t_run_branch(t_if_region_2, () => t_if_creators_2[index](t_before));
82
- });
83
76
 
84
77
  const t_text_3 = t_next(t_if_anchor_2, true);
85
78
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
86
79
  t_next(t_text_3);
87
80
 
88
- /**/ });
89
81
  }
@@ -1,12 +1,12 @@
1
1
  import $mount from "../../../../src/watch/$mount";
2
2
  import $peek from "../../../../src/watch/$peek";
3
- import $run from "../../../../src/watch/$run";
4
- import $watch from "../../../../src/watch/$watch";
5
3
  import type SlotRender from "../../../../src/types/SlotRender";
6
4
  import t_add_fragment from "../../../../src/render/addFragment";
7
5
  import t_anchor from "../../../../src/render/nodeAnchor";
8
6
  import t_fragment from "../../../../src/render/getFragment";
9
7
  import t_next from "../../../../src/render/nodeNext";
8
+ import t_pop_region from "../../../../src/render/popRegion";
9
+ import t_push_region from "../../../../src/render/pushRegion";
10
10
  import t_region from "../../../../src/render/newRegion";
11
11
  import t_root from "../../../../src/render/nodeRoot";
12
12
  import t_run_branch from "../../../../src/render/runControlBranch";
@@ -21,7 +21,6 @@ export default function IfCache(
21
21
  // @ts-ignore
22
22
  $slots?: Record<string, SlotRender>
23
23
  ): void {
24
- $peek(() => { /**/
25
24
 
26
25
  /* User interface */
27
26
  const t_fragments: DocumentFragment[] = [];
@@ -32,43 +31,41 @@ export default function IfCache(
32
31
 
33
32
  /* @if */
34
33
  const t_if_region_1 = t_region();
35
- let $t_if_state_1 = $watch({ index: -1 });
36
- let t_if_creators_1: ((t_before: Node | null) => void)[] = [];
37
- $run(() => {
34
+ let t_if_index_1 = -1;
35
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
38
36
  if ($props.counter < 5) {
39
- t_if_creators_1[0] = (t_before) => {
40
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's small! </p> `);
41
- const t_root_1 = t_root(t_fragment_1, true);
42
- const t_p_1 = t_next(t_root_1) as HTMLElement;
43
- const t_text_1 = t_next(t_p_1, true);
44
- // @ts-ignore
45
- $mount(() => {
46
- return (() => $props.i++)(t_p_1);
47
- });
48
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
49
- t_next(t_text_1);
50
- };
51
- $t_if_state_1.index = 0;
37
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 0)) return;
38
+ const t_new_region = t_region();
39
+ const t_old_region = t_push_region(t_new_region, true);
40
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's small! </p> `);
41
+ const t_root_1 = t_root(t_fragment_1, true);
42
+ const t_p_1 = t_next(t_root_1) as HTMLElement;
43
+ const t_text_1 = t_next(t_p_1, true);
44
+ // @ts-ignore
45
+ $mount(() => {
46
+ return (() => $props.i++)(t_p_1);
47
+ });
48
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
49
+ t_next(t_text_1);
50
+ t_pop_region(t_old_region);
51
+ t_if_index_1 = 0;
52
52
  }
53
53
  else {
54
- t_if_creators_1[1] = (t_before) => {
55
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's not small... </p> `);
56
- const t_root_2 = t_root(t_fragment_2, true);
57
- const t_text_2 = t_next(t_next(t_root_2), true);
58
- t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
59
- t_next(t_text_2);
60
- };
61
- $t_if_state_1.index = 1;
54
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
55
+ const t_new_region = t_region();
56
+ const t_old_region = t_push_region(t_new_region, true);
57
+ const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's not small... </p> `);
58
+ const t_root_2 = t_root(t_fragment_2, true);
59
+ const t_text_2 = t_next(t_next(t_root_2), true);
60
+ t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
61
+ t_next(t_text_2);
62
+ t_pop_region(t_old_region);
63
+ t_if_index_1 = 1;
62
64
  }
63
65
  });
64
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
65
- const index = $t_if_state_1.index;
66
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
67
- });
68
66
 
69
67
  const t_text_3 = t_next(t_if_anchor_1, true);
70
68
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
71
69
  t_next(t_text_3);
72
70
 
73
- /**/ });
74
71
  }