@torpor/view 0.4.8 → 0.4.10

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