@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
@@ -1,12 +1,12 @@
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_event from "../../../../src/render/addEvent";
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 IfContainingIf(
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,39 +31,35 @@ export default function IfContainingIf(
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.condition) {
39
- t_if_creators_1[0] = (t_before) => {
40
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <button>do it</button> `);
41
- const t_root_1 = t_root(t_fragment_1, true);
42
- const t_button_1 = t_next(t_root_1) as HTMLButtonElement;
43
- t_event(t_button_1, "click", doit);
44
-
45
- /* @function */
46
- function doit() {
47
- // it just needs to exist...
48
- };
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, ` <button>do it</button> `);
41
+ const t_root_1 = t_root(t_fragment_1, true);
42
+ const t_button_1 = t_next(t_root_1) as HTMLButtonElement;
43
+ t_event(t_button_1, "click", doit);
49
44
 
50
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_button_1);
51
- t_next(t_button_1);
45
+ /* @function */
46
+ function doit() {
47
+ // it just needs to exist...
52
48
  };
53
- $t_if_state_1.index = 0;
49
+
50
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_button_1);
51
+ t_next(t_button_1);
52
+ t_pop_region(t_old_region);
53
+ t_if_index_1 = 0;
54
54
  }
55
55
  else {
56
- t_if_creators_1[1] = (_) => {};
57
- $t_if_state_1.index = 1;
56
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
57
+ t_if_index_1 = 1;
58
58
  }
59
59
  });
60
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
61
- const index = $t_if_state_1.index;
62
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
63
- });
64
60
 
65
61
  const t_text_1 = t_next(t_if_anchor_1, true);
66
62
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
67
63
  t_next(t_text_1);
68
64
 
69
- /**/ });
70
65
  }
@@ -0,0 +1,89 @@
1
+ import $peek from "../../../../src/watch/$peek";
2
+ import type SlotRender from "../../../../src/types/SlotRender";
3
+ import t_add_fragment from "../../../../src/render/addFragment";
4
+ import t_anchor from "../../../../src/render/nodeAnchor";
5
+ import t_fragment from "../../../../src/render/getFragment";
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
+ import t_region from "../../../../src/render/newRegion";
10
+ import t_root from "../../../../src/render/nodeRoot";
11
+ import t_run_branch from "../../../../src/render/runControlBranch";
12
+ import t_run_control from "../../../../src/render/runControl";
13
+
14
+ export default function IfContainingIf(
15
+ $parent: ParentNode,
16
+ $anchor: Node | null,
17
+ $props: { condition: boolean, counter: number },
18
+ // @ts-ignore
19
+ $context?: Record<PropertyKey, any>,
20
+ // @ts-ignore
21
+ $slots?: Record<string, SlotRender>
22
+ ): void {
23
+
24
+ /* User interface */
25
+ const t_fragments: DocumentFragment[] = [];
26
+
27
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <!> `);
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ let t_if_anchor_1 = t_anchor(t_next(t_root_0)) as HTMLElement;
30
+
31
+ /* @if */
32
+ const t_if_region_1 = t_region();
33
+ let t_if_index_1 = -1;
34
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
35
+ if ($props.condition) {
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, ` <!> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ let t_if_anchor_2 = t_anchor(t_next(t_root_1)) as HTMLElement;
42
+
43
+ /* @if */
44
+ const t_if_region_2 = t_region();
45
+ let t_if_index_2 = -1;
46
+ t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
47
+ if ($props.counter > 5) {
48
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 0)) 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 big</p> `);
52
+ const t_root_2 = t_root(t_fragment_2, true);
53
+ const t_text_1 = t_next(t_next(t_root_2), true);
54
+ t_add_fragment(t_fragment_2, t_fragment_1, t_before, t_text_1);
55
+ t_next(t_text_1);
56
+ t_pop_region(t_old_region);
57
+ t_if_index_2 = 0;
58
+ }
59
+ else {
60
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 1)) 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 small</p> `);
64
+ const t_root_3 = t_root(t_fragment_3, true);
65
+ const t_text_2 = t_next(t_next(t_root_3), true);
66
+ t_add_fragment(t_fragment_3, t_fragment_1, t_before, t_text_2);
67
+ t_next(t_text_2);
68
+ t_pop_region(t_old_region);
69
+ t_if_index_2 = 1;
70
+ }
71
+ });
72
+
73
+ const t_text_3 = t_next(t_if_anchor_2, true);
74
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_3);
75
+ t_next(t_text_3);
76
+ t_pop_region(t_old_region);
77
+ t_if_index_1 = 0;
78
+ }
79
+ else {
80
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
81
+ t_if_index_1 = 1;
82
+ }
83
+ });
84
+
85
+ const t_text_4 = t_next(t_if_anchor_1, true);
86
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_4);
87
+ t_next(t_text_4);
88
+
89
+ }
@@ -11,7 +11,7 @@ import t_root from "../../../../src/render/nodeRoot";
11
11
  import t_run_branch from "../../../../src/render/runControlBranch";
12
12
  import t_run_control from "../../../../src/render/runControl";
13
13
 
14
- export default function NestedIf(
14
+ export default function IfContainingIfAfterIf(
15
15
  $parent: ParentNode,
16
16
  $anchor: Node | null,
17
17
  $props: { condition: boolean, counter: number },
@@ -36,7 +36,7 @@ export default function NestedIf(
36
36
  $run(() => {
37
37
  if ($props.condition) {
38
38
  t_if_creators_1[0] = (t_before) => {
39
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <!> `);
39
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <!> <!> `);
40
40
  const t_root_1 = t_root(t_fragment_1, true);
41
41
  let t_if_anchor_2 = t_anchor(t_next(t_root_1)) as HTMLElement;
42
42
 
@@ -56,22 +56,43 @@ export default function NestedIf(
56
56
  $t_if_state_2.index = 0;
57
57
  }
58
58
  else {
59
- t_if_creators_2[1] = (t_before) => {
59
+ t_if_creators_2[1] = (_) => {};
60
+ $t_if_state_2.index = 1;
61
+ }
62
+ });
63
+ t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
64
+ const index = $t_if_state_2.index;
65
+ t_run_branch(t_if_region_2, () => t_if_creators_2[index](t_before));
66
+ });
67
+
68
+ let t_if_anchor_3 = t_anchor(t_next(t_next(t_if_anchor_2, true))) as HTMLElement;
69
+
70
+ /* @if */
71
+ const t_if_region_3 = t_region();
72
+ let $t_if_state_3 = $watch({ index: -1 });
73
+ let t_if_creators_3: ((t_before: Node | null) => void)[] = [];
74
+ $run(() => {
75
+ if ($props.counter < 5) {
76
+ t_if_creators_3[0] = (t_before) => {
60
77
  const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p>It's small</p> `);
61
78
  const t_root_3 = t_root(t_fragment_3, true);
62
79
  const t_text_2 = t_next(t_next(t_root_3), true);
63
80
  t_add_fragment(t_fragment_3, t_fragment_1, t_before, t_text_2);
64
81
  t_next(t_text_2);
65
82
  };
66
- $t_if_state_2.index = 1;
83
+ $t_if_state_3.index = 0;
84
+ }
85
+ else {
86
+ t_if_creators_3[1] = (_) => {};
87
+ $t_if_state_3.index = 1;
67
88
  }
68
89
  });
69
- t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
70
- const index = $t_if_state_2.index;
71
- t_run_branch(t_if_region_2, () => t_if_creators_2[index](t_before));
90
+ t_run_control(t_if_region_3, t_if_anchor_3, (t_before) => {
91
+ const index = $t_if_state_3.index;
92
+ t_run_branch(t_if_region_3, () => t_if_creators_3[index](t_before));
72
93
  });
73
94
 
74
- const t_text_3 = t_next(t_if_anchor_2, true);
95
+ const t_text_3 = t_next(t_if_anchor_3, true);
75
96
  t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_3);
76
97
  t_next(t_text_3);
77
98
  };
@@ -0,0 +1,29 @@
1
+ import type ServerSlotRender from "../../../../src/types/ServerSlotRender";
2
+
3
+ export default function IfContainingIfAfterIf(
4
+ $props: { condition: boolean, counter: number },
5
+ // @ts-ignore
6
+ $context?: Record<PropertyKey, any>,
7
+ // @ts-ignore
8
+ $slots?: Record<string, ServerSlotRender>
9
+ ): { body: string, head: string } {
10
+ let t_body = "";
11
+ let t_head = "";
12
+
13
+ /* User interface */
14
+ t_body += ` <![>`;
15
+ if ($props.condition) {
16
+ t_body += `<!^> <![>`;
17
+ if ($props.counter > 5) {
18
+ t_body += `<!^> <p>It's big</p> `;
19
+ }
20
+ t_body += `<!]><!> <![>`;
21
+ if ($props.counter < 5) {
22
+ t_body += `<!^> <p>It's small</p> `;
23
+ }
24
+ t_body += `<!]><!> `;
25
+ }
26
+ t_body += `<!]><!> `;
27
+
28
+ return { body: t_body, head: t_head };
29
+ }
@@ -0,0 +1,10 @@
1
+ import type SlotRender from "../../../../src/types/SlotRender";
2
+
3
+ declare function IfContainingIfAfterIf(
4
+ $parent: ParentNode,
5
+ $anchor: Node | null,
6
+ $props: { condition: boolean, counter: number },
7
+ $context?: Record<PropertyKey, any>,
8
+ $slots?: Record<string, SlotRender>,
9
+ ): void;
10
+ export default IfContainingIfAfterIf;
@@ -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 IfElse(
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,38 +30,36 @@ export default function IfElse(
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 > 7) {
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> <p> That's right </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_next(t_next(t_root_1), true)), 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> <p> That's right </p> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ const t_text_1 = t_next(t_next(t_next(t_next(t_root_1), true)), 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] = (t_before) => {
49
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's not true... </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 not true... </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
  });
58
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
59
- const index = $t_if_state_1.index;
60
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
61
- });
62
60
 
63
61
  const t_text_3 = t_next(t_if_anchor_1, true);
64
62
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
65
63
  t_next(t_text_3);
66
64
 
67
- /**/ });
68
65
  }
@@ -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 IfElse(
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,38 +30,36 @@ export default function IfElse(
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 > 7) {
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> <p> That's right </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_next(t_next(t_root_1), true)), 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> <p> That's right </p> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ const t_text_1 = t_next(t_next(t_next(t_next(t_root_1), true)), 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] = (t_before) => {
49
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's not true... </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 not true... </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
  });
58
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
59
- const index = $t_if_state_1.index;
60
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
61
- });
62
60
 
63
61
  const t_text_3 = t_next(t_if_anchor_1, true);
64
62
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
65
63
  t_next(t_text_3);
66
64
 
67
- /**/ });
68
65
  }
@@ -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 IfFalse(
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,32 +30,28 @@ export default function IfFalse(
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 > 7) {
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
  const t_text_2 = t_next(t_if_anchor_1, true);
58
54
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
59
55
  t_next(t_text_2);
60
56
 
61
- /**/ });
62
57
  }
@@ -0,0 +1,97 @@
1
+ import $peek from "../../../../src/watch/$peek";
2
+ import type SlotRender from "../../../../src/types/SlotRender";
3
+ import t_add_fragment from "../../../../src/render/addFragment";
4
+ import t_anchor from "../../../../src/render/nodeAnchor";
5
+ import t_fragment from "../../../../src/render/getFragment";
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
+ import t_region from "../../../../src/render/newRegion";
10
+ import t_root from "../../../../src/render/nodeRoot";
11
+ import t_run_branch from "../../../../src/render/runControlBranch";
12
+ import t_run_control from "../../../../src/render/runControl";
13
+
14
+ export default function IfNested(
15
+ $parent: ParentNode,
16
+ $anchor: Node | null,
17
+ $props: { counter: number },
18
+ // @ts-ignore
19
+ $context?: Record<PropertyKey, any>,
20
+ // @ts-ignore
21
+ $slots?: Record<string, SlotRender>
22
+ ): void {
23
+
24
+ /* User interface */
25
+ const t_fragments: DocumentFragment[] = [];
26
+
27
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <!> `);
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ let t_if_anchor_1 = t_anchor(t_next(t_root_0)) as HTMLElement;
30
+
31
+ /* @if */
32
+ const t_if_region_1 = t_region();
33
+ let t_if_index_1 = -1;
34
+ t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
35
+ if ($props.counter > 5) {
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, ` <!> `);
40
+ const t_root_1 = t_root(t_fragment_1, true);
41
+ let t_if_anchor_2 = t_anchor(t_next(t_root_1)) as HTMLElement;
42
+
43
+ /* @if */
44
+ const t_if_region_2 = t_region();
45
+ let t_if_index_2 = -1;
46
+ t_run_control(t_if_region_2, t_if_anchor_2, (t_before) => {
47
+ if ($props.counter > 10) {
48
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 0)) 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 both true! </p> `);
52
+ const t_root_2 = t_root(t_fragment_2, true);
53
+ const t_text_1 = t_next(t_next(t_root_2), true);
54
+ t_add_fragment(t_fragment_2, t_fragment_1, t_before, t_text_1);
55
+ t_next(t_text_1);
56
+ t_pop_region(t_old_region);
57
+ t_if_index_2 = 0;
58
+ }
59
+ else {
60
+ if (!t_run_branch(t_if_region_2, t_if_index_2, 1)) 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> The second is not true! </p> `);
64
+ const t_root_3 = t_root(t_fragment_3, true);
65
+ const t_text_2 = t_next(t_next(t_root_3), true);
66
+ t_add_fragment(t_fragment_3, t_fragment_1, t_before, t_text_2);
67
+ t_next(t_text_2);
68
+ t_pop_region(t_old_region);
69
+ t_if_index_2 = 1;
70
+ }
71
+ });
72
+
73
+ const t_text_3 = t_next(t_if_anchor_2, true);
74
+ t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_3);
75
+ t_next(t_text_3);
76
+ t_pop_region(t_old_region);
77
+ t_if_index_1 = 0;
78
+ }
79
+ else {
80
+ if (!t_run_branch(t_if_region_1, t_if_index_1, 1)) return;
81
+ const t_new_region = t_region();
82
+ const t_old_region = t_push_region(t_new_region, true);
83
+ const t_fragment_4 = t_fragment($parent.ownerDocument!, t_fragments, 4, ` <p> The first is not true! </p> `);
84
+ const t_root_4 = t_root(t_fragment_4, true);
85
+ const t_text_4 = t_next(t_next(t_root_4), true);
86
+ t_add_fragment(t_fragment_4, t_fragment_0, t_before, t_text_4);
87
+ t_next(t_text_4);
88
+ t_pop_region(t_old_region);
89
+ t_if_index_1 = 1;
90
+ }
91
+ });
92
+
93
+ const t_text_5 = t_next(t_if_anchor_1, true);
94
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_5);
95
+ t_next(t_text_5);
96
+
97
+ }
@@ -16,7 +16,6 @@ export default function Mount(
16
16
  // @ts-ignore
17
17
  $slots?: Record<string, SlotRender>
18
18
  ): void {
19
- $peek(() => { /**/
20
19
 
21
20
  let inputElement: HTMLInputElement;
22
21
 
@@ -35,5 +34,4 @@ export default function Mount(
35
34
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
36
35
  t_next(t_text_1);
37
36
 
38
- /**/ });
39
37
  }
@@ -16,7 +16,6 @@ export default function Mount(
16
16
  // @ts-ignore
17
17
  $slots?: Record<string, SlotRender>
18
18
  ): void {
19
- $peek(() => { /**/
20
19
 
21
20
  let inputElement: HTMLInputElement;
22
21
 
@@ -35,5 +34,4 @@ export default function Mount(
35
34
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
36
35
  t_next(t_text_1);
37
36
 
38
- /**/ });
39
37
  }
@@ -16,7 +16,6 @@ export default function OnMount(
16
16
  // @ts-ignore
17
17
  $slots?: Record<string, SlotRender>
18
18
  ): void {
19
- $peek(() => { /**/
20
19
 
21
20
  /* User interface */
22
21
  const t_fragments: DocumentFragment[] = [];
@@ -32,5 +31,4 @@ export default function OnMount(
32
31
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
33
32
  t_next(t_text_1);
34
33
 
35
- /**/ });
36
34
  }