@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
@@ -0,0 +1,81 @@
1
+ import $peek from "../../../../src/watch/$peek";
2
+ import $run from "../../../../src/watch/$run";
3
+ import type ListItem from "../../../../src/types/ListItem";
4
+ import type SlotRender from "../../../../src/types/SlotRender";
5
+ import t_add_fragment from "../../../../src/render/addFragment";
6
+ import t_anchor from "../../../../src/render/nodeAnchor";
7
+ import t_child from "../../../../src/render/nodeChild";
8
+ import t_fmt from "../../../../src/render/formatText";
9
+ import t_fragment from "../../../../src/render/getFragment";
10
+ import t_list_item from "../../../../src/render/newListItem";
11
+ import t_next from "../../../../src/render/nodeNext";
12
+ import t_pop_region from "../../../../src/render/popRegion";
13
+ import t_push_region from "../../../../src/render/pushRegion";
14
+ import t_region from "../../../../src/render/newRegion";
15
+ import t_root from "../../../../src/render/nodeRoot";
16
+ import t_run_list from "../../../../src/render/runList";
17
+
18
+ export default function Array(
19
+ $parent: ParentNode,
20
+ $anchor: Node | null,
21
+ $props: Record<PropertyKey, any>,
22
+ // @ts-ignore
23
+ $context?: Record<PropertyKey, any>,
24
+ // @ts-ignore
25
+ $slots?: Record<string, SlotRender>
26
+ ): void {
27
+
28
+ /* User interface */
29
+ const t_fragments: DocumentFragment[] = [];
30
+
31
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <section> <p>^</p> <!> <p>$</p> </section> `);
32
+ const t_root_0 = t_root(t_fragment_0, true);
33
+ const t_for_parent_1 = t_next(t_root_0) as HTMLElement;
34
+ let t_for_anchor_1 = t_anchor(t_next(t_next(t_next(t_child(t_for_parent_1)), true))) as HTMLElement;
35
+
36
+ /* @for */
37
+ let t_for_region_1 = t_region();
38
+ t_run_list(
39
+ t_for_region_1,
40
+ t_for_parent_1,
41
+ t_for_anchor_1,
42
+ () => {
43
+ let t_new_items_1: ListItem[] = [];
44
+ let t_previous_item_1 = t_for_region_1;
45
+ let t_next_item_1 = t_for_region_1.nextRegion;
46
+ for (let item of $props.items) {
47
+ let t_new_item_1 = t_list_item(
48
+ { item },
49
+ item.id,
50
+ );
51
+ t_new_item_1.previousRegion = t_previous_item_1;
52
+ t_previous_item_1.nextRegion = t_new_item_1;
53
+ t_previous_item_1 = t_new_item_1;
54
+ t_new_items_1.push(t_new_item_1);
55
+ }
56
+ t_for_region_1.nextRegion = t_next_item_1;
57
+ return t_new_items_1;
58
+ },
59
+ (t_item_1, t_before_1) => {
60
+ let t_old_region_1 = t_push_region(t_item_1);
61
+ const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p>#</p> `);
62
+ const t_root_1 = t_root(t_fragment_1, true);
63
+ const t_text_1 = t_child(t_next(t_root_1));
64
+ const t_text_2 = t_next(t_next(t_root_1), true);
65
+ $run(() => {
66
+ t_text_1.textContent = ` ${t_fmt(t_item_1.data.item.text)} `;
67
+ });
68
+ t_add_fragment(t_fragment_1, t_for_parent_1, t_before_1, t_text_2);
69
+ t_next(t_text_2);
70
+ t_pop_region(t_old_region_1);
71
+ },
72
+ (t_old_item, t_new_item) => {
73
+ t_old_item.data.item = t_new_item.data.item;
74
+ }
75
+ );
76
+
77
+ const t_text_3 = t_next(t_for_parent_1, true);
78
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
79
+ t_next(t_text_3);
80
+
81
+ }
@@ -17,7 +17,6 @@ export default function Watched(
17
17
  // @ts-ignore
18
18
  $slots?: Record<string, SlotRender>
19
19
  ): void {
20
- $peek(() => { /**/
21
20
 
22
21
  /* User interface */
23
22
  const t_fragments: DocumentFragment[] = [];
@@ -32,5 +31,4 @@ export default function Watched(
32
31
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
33
32
  t_next(t_text_2);
34
33
 
35
- /**/ });
36
34
  }
@@ -0,0 +1,34 @@
1
+ import $peek from "../../../../src/watch/$peek";
2
+ import $run from "../../../../src/watch/$run";
3
+ import type SlotRender from "../../../../src/types/SlotRender";
4
+ import t_add_fragment from "../../../../src/render/addFragment";
5
+ import t_child from "../../../../src/render/nodeChild";
6
+ import t_fmt from "../../../../src/render/formatText";
7
+ import t_fragment from "../../../../src/render/getFragment";
8
+ import t_next from "../../../../src/render/nodeNext";
9
+ import t_root from "../../../../src/render/nodeRoot";
10
+
11
+ export default function Watched(
12
+ $parent: ParentNode,
13
+ $anchor: Node | null,
14
+ $props: Record<PropertyKey, any>,
15
+ // @ts-ignore
16
+ $context?: Record<PropertyKey, any>,
17
+ // @ts-ignore
18
+ $slots?: Record<string, SlotRender>
19
+ ): void {
20
+
21
+ /* User interface */
22
+ const t_fragments: DocumentFragment[] = [];
23
+
24
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <p>#</p> `);
25
+ const t_root_0 = t_root(t_fragment_0, true);
26
+ const t_text_1 = t_child(t_next(t_root_0));
27
+ const t_text_2 = t_next(t_next(t_root_0), true);
28
+ $run(() => {
29
+ t_text_1.textContent = ` ${t_fmt($props.text)} `;
30
+ });
31
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
32
+ t_next(t_text_2);
33
+
34
+ }
@@ -0,0 +1,18 @@
1
+ import type ServerSlotRender from "../../../../src/types/ServerSlotRender";
2
+ import t_fmt from "../../../../src/render/formatText";
3
+
4
+ export default function Watched(
5
+ $props: Record<PropertyKey, any>,
6
+ // @ts-ignore
7
+ $context?: Record<PropertyKey, any>,
8
+ // @ts-ignore
9
+ $slots?: Record<string, ServerSlotRender>
10
+ ): { body: string, head: string } {
11
+ let t_body = "";
12
+ let t_head = "";
13
+
14
+ /* User interface */
15
+ t_body += ` <p> ${t_fmt($props.text)} </p> `;
16
+
17
+ return { body: t_body, head: t_head };
18
+ }
@@ -0,0 +1,10 @@
1
+ import type SlotRender from "../../../../src/types/SlotRender";
2
+
3
+ declare function Watched(
4
+ $parent: ParentNode,
5
+ $anchor: Node | null,
6
+ $props?: Record<PropertyKey, any>,
7
+ $context?: Record<PropertyKey, any>,
8
+ $slots?: Record<string, SlotRender>,
9
+ ): void;
10
+ export default Watched;
@@ -17,7 +17,6 @@ export default function Watched(
17
17
  // @ts-ignore
18
18
  $slots?: Record<string, SlotRender>
19
19
  ): void {
20
- $peek(() => { /**/
21
20
 
22
21
  /* User interface */
23
22
  const t_fragments: DocumentFragment[] = [];
@@ -32,5 +31,4 @@ export default function Watched(
32
31
  t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
33
32
  t_next(t_text_2);
34
33
 
35
- /**/ });
36
34
  }
@@ -0,0 +1,34 @@
1
+ import $peek from "../../../../src/watch/$peek";
2
+ import $run from "../../../../src/watch/$run";
3
+ import type SlotRender from "../../../../src/types/SlotRender";
4
+ import t_add_fragment from "../../../../src/render/addFragment";
5
+ import t_child from "../../../../src/render/nodeChild";
6
+ import t_fmt from "../../../../src/render/formatText";
7
+ import t_fragment from "../../../../src/render/getFragment";
8
+ import t_next from "../../../../src/render/nodeNext";
9
+ import t_root from "../../../../src/render/nodeRoot";
10
+
11
+ export default function Watched(
12
+ $parent: ParentNode,
13
+ $anchor: Node | null,
14
+ $props: Record<PropertyKey, any>,
15
+ // @ts-ignore
16
+ $context?: Record<PropertyKey, any>,
17
+ // @ts-ignore
18
+ $slots?: Record<string, SlotRender>
19
+ ): void {
20
+
21
+ /* User interface */
22
+ const t_fragments: DocumentFragment[] = [];
23
+
24
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <p>#</p> `);
25
+ const t_root_0 = t_root(t_fragment_0, true);
26
+ const t_text_1 = t_child(t_next(t_root_0));
27
+ const t_text_2 = t_next(t_next(t_root_0), true);
28
+ $run(() => {
29
+ t_text_1.textContent = ` ${t_fmt($props.text)} `;
30
+ });
31
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
32
+ t_next(t_text_2);
33
+
34
+ }
@@ -0,0 +1,18 @@
1
+ import type ServerSlotRender from "../../../../src/types/ServerSlotRender";
2
+ import t_fmt from "../../../../src/render/formatText";
3
+
4
+ export default function Watched(
5
+ $props: Record<PropertyKey, any>,
6
+ // @ts-ignore
7
+ $context?: Record<PropertyKey, any>,
8
+ // @ts-ignore
9
+ $slots?: Record<string, ServerSlotRender>
10
+ ): { body: string, head: string } {
11
+ let t_body = "";
12
+ let t_head = "";
13
+
14
+ /* User interface */
15
+ t_body += ` <p> ${t_fmt($props.text)} </p> `;
16
+
17
+ return { body: t_body, head: t_head };
18
+ }
@@ -0,0 +1,10 @@
1
+ import type SlotRender from "../../../../src/types/SlotRender";
2
+
3
+ declare function Watched(
4
+ $parent: ParentNode,
5
+ $anchor: Node | null,
6
+ $props?: Record<PropertyKey, any>,
7
+ $context?: Record<PropertyKey, any>,
8
+ $slots?: Record<string, SlotRender>,
9
+ ): void;
10
+ export default Watched;
@@ -0,0 +1,51 @@
1
+ import "@testing-library/jest-dom/vitest";
2
+ import { assert, expect, test } from "vitest";
3
+ import $watch from "../../src/watch/$watch";
4
+ import hydrateComponent from "../hydrateComponent";
5
+ import importComponent from "../importComponent";
6
+ import mountComponent from "../mountComponent";
7
+
8
+ interface Props {
9
+ text?: string;
10
+ }
11
+
12
+ const source = `
13
+ export default function Watched() {
14
+ @render {
15
+ <p>
16
+ {$props.text}
17
+ </p>
18
+ }
19
+ }
20
+ `;
21
+
22
+ test("watch undefined property change -- mounted", async () => {
23
+ let $state = $watch({});
24
+
25
+ const container = document.createElement("div");
26
+ const component = await importComponent(import.meta.filename, source, "client");
27
+ mountComponent(container, component, $state);
28
+
29
+ check(container, $state);
30
+ });
31
+
32
+ test("watch undefined property change -- hydrated", async () => {
33
+ let $state = $watch({});
34
+
35
+ const container = document.createElement("div");
36
+ const clientComponent = await importComponent(import.meta.filename, source, "client");
37
+ const serverComponent = await importComponent(import.meta.filename, source, "server");
38
+ hydrateComponent(container, clientComponent, serverComponent, $state);
39
+
40
+ check(container, $state);
41
+ });
42
+
43
+ function check(container: HTMLElement, state: Props) {
44
+ assert(container.textContent);
45
+
46
+ expect(container.textContent.replace(/\s+/g, " ").trim()).toBe("");
47
+
48
+ state.text = "hello";
49
+
50
+ expect(container.textContent.replace(/\s+/g, " ").trim()).toBe("hello");
51
+ }
@@ -1,78 +0,0 @@
1
- import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
- import type SlotRender from "../../../../src/types/SlotRender";
5
- import t_add_fragment from "../../../../src/render/addFragment";
6
- import t_anchor from "../../../../src/render/nodeAnchor";
7
- import t_fragment from "../../../../src/render/getFragment";
8
- import t_next from "../../../../src/render/nodeNext";
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
- $peek(() => { /**/
24
-
25
- /* User interface */
26
- const t_fragments: DocumentFragment[] = [];
27
-
28
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <!> `);
29
- const t_root_0 = t_root(t_fragment_0, true);
30
- let t_if_anchor_1 = t_anchor(t_next(t_root_0)) as HTMLElement;
31
-
32
- /* @if */
33
- 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(() => {
37
- if ($props.counter > 10) {
38
- t_if_creators_1[0] = (t_before) => {
39
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <p> It's over ten! </p> `);
40
- const t_root_1 = t_root(t_fragment_1, true);
41
- const t_text_1 = t_next(t_next(t_root_1), true);
42
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_1);
43
- t_next(t_text_1);
44
- };
45
- $t_if_state_1.index = 0;
46
- }
47
- else if ($props.counter > 5) {
48
- t_if_creators_1[1] = (t_before) => {
49
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p> It's over five! </p> `);
50
- const t_root_2 = t_root(t_fragment_2, true);
51
- const t_text_2 = t_next(t_next(t_root_2), true);
52
- t_add_fragment(t_fragment_2, t_fragment_0, t_before, t_text_2);
53
- t_next(t_text_2);
54
- };
55
- $t_if_state_1.index = 1;
56
- }
57
- else {
58
- t_if_creators_1[2] = (t_before) => {
59
- const t_fragment_3 = t_fragment($parent.ownerDocument!, t_fragments, 3, ` <p> It's not there yet </p> `);
60
- const t_root_3 = t_root(t_fragment_3, true);
61
- const t_text_3 = t_next(t_next(t_root_3), true);
62
- t_add_fragment(t_fragment_3, t_fragment_0, t_before, t_text_3);
63
- t_next(t_text_3);
64
- };
65
- $t_if_state_1.index = 2;
66
- }
67
- });
68
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
69
- const index = $t_if_state_1.index;
70
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
71
- });
72
-
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
- /**/ });
78
- }
@@ -1,111 +0,0 @@
1
- import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
- import type ListItem from "../../../../src/types/ListItem";
5
- import type SlotRender from "../../../../src/types/SlotRender";
6
- import t_add_fragment from "../../../../src/render/addFragment";
7
- import t_anchor from "../../../../src/render/nodeAnchor";
8
- import t_child from "../../../../src/render/nodeChild";
9
- import t_fmt from "../../../../src/render/formatText";
10
- import t_fragment from "../../../../src/render/getFragment";
11
- import t_list_item from "../../../../src/render/newListItem";
12
- import t_next from "../../../../src/render/nodeNext";
13
- import t_pop_region from "../../../../src/render/popRegion";
14
- import t_push_region from "../../../../src/render/pushRegion";
15
- import t_region from "../../../../src/render/newRegion";
16
- import t_root from "../../../../src/render/nodeRoot";
17
- import t_run_branch from "../../../../src/render/runControlBranch";
18
- import t_run_control from "../../../../src/render/runControl";
19
- import t_run_list from "../../../../src/render/runList";
20
-
21
- export default function IfContainingIf(
22
- $parent: ParentNode,
23
- $anchor: Node | null,
24
- $props: { condition: boolean, counter: number },
25
- // @ts-ignore
26
- $context?: Record<PropertyKey, any>,
27
- // @ts-ignore
28
- $slots?: Record<string, SlotRender>
29
- ): void {
30
- $peek(() => { /**/
31
-
32
- /* User interface */
33
- const t_fragments: DocumentFragment[] = [];
34
-
35
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <!> `);
36
- const t_root_0 = t_root(t_fragment_0, true);
37
- let t_if_anchor_1 = t_anchor(t_next(t_root_0)) as HTMLElement;
38
-
39
- /* @if */
40
- const t_if_region_1 = t_region();
41
- let $t_if_state_1 = $watch({ index: -1 });
42
- let t_if_creators_1: ((t_before: Node | null) => void)[] = [];
43
- $run(() => {
44
- if ($props.condition) {
45
- t_if_creators_1[0] = (t_before) => {
46
- const t_fragment_1 = t_fragment($parent.ownerDocument!, t_fragments, 1, ` <!> `);
47
- const t_root_1 = t_root(t_fragment_1, true);
48
- let t_for_anchor_1 = t_anchor(t_next(t_root_1)) as HTMLElement;
49
-
50
- /* @for */
51
- let t_for_region_1 = t_region();
52
- t_run_list(
53
- t_for_region_1,
54
- t_fragment_1,
55
- t_for_anchor_1,
56
- () => {
57
- let t_new_items_1: ListItem[] = [];
58
- let t_previous_item_1 = t_for_region_1;
59
- let t_next_item_1 = t_for_region_1.nextRegion;
60
- for (let i = 0; i < $props.counter; i++) {
61
- let t_new_item_1 = t_list_item(
62
- { i },
63
- );
64
- t_new_item_1.previousRegion = t_previous_item_1;
65
- t_previous_item_1.nextRegion = t_new_item_1;
66
- t_previous_item_1 = t_new_item_1;
67
- t_new_items_1.push(t_new_item_1);
68
- }
69
- t_for_region_1.nextRegion = t_next_item_1;
70
- return t_new_items_1;
71
- },
72
- (t_item_1, t_before_1) => {
73
- let t_old_region_1 = t_push_region(t_item_1);
74
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p>#</p> `);
75
- const t_root_2 = t_root(t_fragment_2, true);
76
- const t_text_1 = t_child(t_next(t_root_2));
77
- const t_text_2 = t_next(t_next(t_root_2), true);
78
- $run(() => {
79
- t_text_1.textContent = `${t_fmt(t_item_1.data.i)}!`;
80
- });
81
- t_add_fragment(t_fragment_2, t_fragment_1, t_before_1, t_text_2);
82
- t_next(t_text_2);
83
- t_pop_region(t_old_region_1);
84
- },
85
- (t_old_item, t_new_item) => {
86
- t_old_item.data.i = t_new_item.data.i;
87
- }
88
- );
89
-
90
- const t_text_3 = t_next(t_for_anchor_1, true);
91
- t_add_fragment(t_fragment_1, t_fragment_0, t_before, t_text_3);
92
- t_next(t_text_3);
93
- };
94
- $t_if_state_1.index = 0;
95
- }
96
- else {
97
- t_if_creators_1[1] = (_) => {};
98
- $t_if_state_1.index = 1;
99
- }
100
- });
101
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
102
- const index = $t_if_state_1.index;
103
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
104
- });
105
-
106
- const t_text_4 = t_next(t_if_anchor_1, true);
107
- t_add_fragment(t_fragment_0, $parent, $anchor, t_text_4);
108
- t_next(t_text_4);
109
-
110
- /**/ });
111
- }
@@ -1,95 +0,0 @@
1
- import $peek from "../../../../src/watch/$peek";
2
- import $run from "../../../../src/watch/$run";
3
- import $watch from "../../../../src/watch/$watch";
4
- import type SlotRender from "../../../../src/types/SlotRender";
5
- import t_add_fragment from "../../../../src/render/addFragment";
6
- import t_anchor from "../../../../src/render/nodeAnchor";
7
- import t_fragment from "../../../../src/render/getFragment";
8
- import t_next from "../../../../src/render/nodeNext";
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
- $peek(() => { /**/
24
-
25
- /* User interface */
26
- const t_fragments: DocumentFragment[] = [];
27
-
28
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <!> `);
29
- const t_root_0 = t_root(t_fragment_0, true);
30
- let t_if_anchor_1 = t_anchor(t_next(t_root_0)) as HTMLElement;
31
-
32
- /* @if */
33
- 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(() => {
37
- if ($props.condition) {
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;
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 > 5) {
49
- t_if_creators_2[0] = (t_before) => {
50
- const t_fragment_2 = t_fragment($parent.ownerDocument!, t_fragments, 2, ` <p>It's big</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>It's small</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
- });
73
-
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;
79
- }
80
- else {
81
- t_if_creators_1[1] = (_) => {};
82
- $t_if_state_1.index = 1;
83
- }
84
- });
85
- t_run_control(t_if_region_1, t_if_anchor_1, (t_before) => {
86
- const index = $t_if_state_1.index;
87
- t_run_branch(t_if_region_1, () => t_if_creators_1[index](t_before));
88
- });
89
-
90
- const t_text_4 = t_next(t_if_anchor_1, true);
91
- t_add_fragment(t_fragment_0, $parent, $anchor, t_text_4);
92
- t_next(t_text_4);
93
-
94
- /**/ });
95
- }