@torpor/view 0.0.13 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +5 -5
- package/dist/compile.cjs +83 -31
- package/dist/compile.cjs.map +1 -1
- package/dist/compile.js +83 -31
- package/dist/compile.js.map +1 -1
- package/dist/index.cjs +19 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.js +19 -11
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +4 -4
- package/scripts/copyToRepl.ts +1 -1
- package/src/compile/build/client/buildCode.ts +2 -11
- package/src/compile/build/client/buildComponentNode.ts +21 -5
- package/src/compile/build/client/buildElementNode.ts +14 -8
- package/src/compile/build/client/buildFragment.ts +37 -1
- package/src/compile/build/client/buildFragmentText.ts +5 -0
- package/src/compile/build/client/buildHtmlNode.ts +1 -0
- package/src/compile/build/client/buildSlotNode.ts +4 -1
- package/src/compile/build/server/buildServerCode.ts +5 -0
- package/src/compile/build/server/buildServerComponentNode.ts +4 -1
- package/src/compile/build/server/buildServerElementNode.ts +11 -2
- package/src/compile/build/server/buildServerSlotNode.ts +4 -1
- package/src/compile/parse/parseCode.ts +20 -12
- package/src/index.ts +0 -2
- package/src/render/$unwrap.ts +1 -1
- package/src/render/addFragment.ts +7 -2
- package/src/render/nodeNext.ts +14 -7
- package/src/render/runControlBranch.ts +11 -1
- package/src/render/runList.ts +8 -2
- package/test/attributes/attributes.test.ts +3 -0
- package/test/attributes/components/Attributes.torp +6 -1
- package/test/attributes/components/output/Attributes-client.ts +6 -2
- package/test/attributes/components/output/Attributes-server.ts +2 -1
- package/test/attributes/components/temp/{Attributes-client-c4812cb9307eac6ff44f90f3358a1811b52c7390.ts → Attributes-client-7b8f7b9996208e8d2d0a12d4f4a40a73df63d9d8.ts} +6 -2
- package/test/attributes/components/temp/{Attributes-server-a7ebed503f2169f7c900d4613531082f1023b086.ts → Attributes-server-a1289434a5a801be1d63bfc85b621579e06452f0.ts} +2 -1
- package/test/await/await.test.ts +2 -4
- package/test/await/components/output/Await-client.ts +4 -4
- package/test/await/components/temp/{Await-client-6ce3ac610ce79ae3b474c81964b715e6f3d966da.ts → Await-client-a7bf000bf2b59a3d5251a0fa18ec79890a52a547.ts} +4 -4
- package/test/bench/bench.bench.ts +5 -7
- package/test/bench/components/output/Bench-client.ts +208 -0
- package/test/bench/components/output/Bench-server.ts +130 -0
- package/test/bench/components/temp/{Bench-client-5fee290225ae4771aa847360006123671e8f17f1.ts → Bench-client-fca94b485c6263778751927240ab3ca4048d7a10.ts} +10 -10
- package/test/bind/bind.test.ts +3 -5
- package/test/bind/component.test.ts +45 -0
- package/test/bind/components/BindComponent.torp +29 -0
- package/test/bind/components/BindText.torp +2 -2
- package/test/bind/components/output/BindComponent-client.ts +87 -0
- package/test/bind/components/output/BindComponent-server.ts +52 -0
- package/test/bind/components/output/BindText-client.ts +3 -3
- package/test/bind/components/temp/BindComponent-client-a645474748485a878871c062ad69e6bcf35e6550.ts +87 -0
- package/test/bind/components/temp/BindComponent-server-c557e7aa944517ab87415b8bb35b41b0034254e7.ts +52 -0
- package/test/bind/components/temp/{BindText-client-9e2f542e13bcbf9a44eab2c5a79d67ddb128f928.ts → BindText-client-d5f7d721df55020ef337f660e5d278eb80fcc330.ts} +3 -3
- package/test/build-server/build-server-element-node.test.ts +1 -1
- package/test/buildOutputFiles.ts +6 -3
- package/test/child-component/components/output/ParentChild-client.ts +3 -2
- package/test/child-component/components/output/ParentChild-server.ts +1 -0
- package/test/child-component/components/temp/{ParentChild-client-8f00a3a31a7f666990765fc4755b62a39c855226.ts → ParentChild-client-eaefb0cbfd251badab3c57ae2037d973f785a1b8.ts} +3 -2
- package/test/child-component/components/temp/{ParentChild-server-9c791bdfa521c3f6549857a34a6cd414fa3c9e80.ts → ParentChild-server-8f2fc556f87867e6e3393e2e9e6d696cda107b69.ts} +1 -0
- package/test/class/class.test.ts +6 -1
- package/test/class/components/Class.torp +5 -1
- package/test/class/components/output/Class-client.ts +8 -7
- package/test/class/components/output/Class-server.ts +2 -1
- package/test/class/components/temp/{Class-client-8c3f9e0257cc2b687e9bb7106cccbab94a4b5adf.ts → Class-client-dc885e1e391f38973bd9ea25b7475b07f7c23960.ts} +8 -7
- package/test/class/components/temp/Class-server-d1a2463ba432e10c6f68bd59d1d31949c5a2044f.ts +18 -0
- package/test/component/components/output/Component-client.ts +3 -2
- package/test/component/components/output/Component-server.ts +1 -1
- package/test/component/components/output/Header-client.ts +2 -1
- package/test/component/components/output/Header-server.ts +1 -0
- package/test/component/components/temp/{Component-client-32cd481f03e25d10b8e93947a2ff8773135b4975.ts → Component-client-a2fb6f30fc340bac909b64cb4f5ac68cde376de3.ts} +3 -2
- package/test/component/components/temp/{Component-server-11542f55405218c0b471172cac1d6a1a4edb5c09.ts → Component-server-40be12cd528ccf768f1ad40ef2a435ad2b2a2d71.ts} +1 -1
- package/test/component/components/temp/{Header-client-ac151eea86e3f6b058fab101661e13ae73864968.ts → Header-client-75cb4aa868295ac168c16ba7b275fbb5ab9256f9.ts} +2 -1
- package/test/component/components/temp/{Header-server-4f10f2332f3ca7a097517cfb938ab1e6f31d68ac.ts → Header-server-f73307874bec34a95dcd152d7f83a3ad13a0f4ac.ts} +1 -0
- package/test/effects/components/output/For-client.ts +3 -2
- package/test/effects/components/output/For-server.ts +1 -0
- package/test/effects/components/output/If-client.ts +4 -3
- package/test/effects/components/output/If-server.ts +1 -0
- package/test/effects/components/output/NestedIf-client.ts +4 -3
- package/test/effects/components/output/NestedIf-server.ts +1 -0
- package/test/effects/components/temp/{For-client-887b1758cf5c80f64708a47369e0e6ce44ffa20f.ts → For-client-d8d4e4424ec3238fe9f79cc907d673612b63bcdf.ts} +3 -2
- package/test/effects/components/temp/{For-server-8e1c7393b102c870167dd086cbee45c47e614dfa.ts → For-server-1f853c161bea31a1a5b11b00d7a021b70c778066.ts} +1 -0
- package/test/effects/components/temp/{If-client-bfc548ef699b91f33e604f066211ce6269cc9506.ts → If-client-bb06988422395321bf298a75bf5563c6f750f776.ts} +4 -3
- package/test/effects/components/temp/{If-server-8c213b1a82cd0a5c2bccfeb90ba8bf01fa4672d2.ts → If-server-97e3cbe059306fc607985dcd1b187df3a278d979.ts} +1 -0
- package/test/effects/components/temp/{NestedIf-client-9e9155398f240345af392194063adc6e42dda80c.ts → NestedIf-client-dc880c1ec92e716ec730dfa0bac0e3d9265bdf27.ts} +4 -3
- package/test/effects/components/temp/{NestedIf-server-5f11d075c2ff224ee5feb7f61aa41aea8af44313.ts → NestedIf-server-9f199a33bae5d5fe34920d6a419937537a2b18dc.ts} +1 -0
- package/test/events/components/output/Increment-client.ts +2 -2
- package/test/events/components/temp/{Increment-client-35c275d15e94e4aa7625af12c45210521995ead5.ts → Increment-client-41bd7bc91aac8c7a9bf73527c8f7ba1794b09ab3.ts} +2 -2
- package/test/events/events.test.ts +2 -3
- package/test/for/components/ForEscape.torp +1 -1
- package/test/for/components/output/For-client.ts +1 -1
- package/test/for/components/output/ForEscape-client.ts +4 -4
- package/test/for/components/output/ForIn-client.ts +3 -2
- package/test/for/components/output/ForIn-server.ts +1 -0
- package/test/for/components/output/ForOf-client.ts +3 -2
- package/test/for/components/output/ForOf-server.ts +1 -0
- package/test/for/components/temp/{For-client-1f6e475347f0474375f12a7c24b0b293e3942aa7.ts → For-client-0be5994e98c07a3455cd8a18a2b1b8ef3605aba6.ts} +1 -1
- package/test/for/components/temp/{ForEscape-client-80d3078cf15001f2ab37b0ec63cfce7267a8a166.ts → ForEscape-client-a973a145e28b32ca55fe3dca53d885fcf5e11c37.ts} +4 -4
- package/test/for/components/temp/{ForIn-client-c8a1ec4473d05475e11928d06d081ab671fd9f28.ts → ForIn-client-5cc25a98e10826e8477fe6f931d5d2bbd0b13c9f.ts} +3 -2
- package/test/for/components/temp/{ForIn-server-d92cf8d3c3e300b562308607caca2c9cab3cb30b.ts → ForIn-server-d68e82c048f7e0f1525f74724b91e5cd01cdc6a6.ts} +1 -0
- package/test/for/components/temp/{ForOf-client-069881d4d9e52bc091e7213154924f3e1626174a.ts → ForOf-client-70b0d59ff72f1cffe2e0ac8523dd7ccdca4ffe39.ts} +3 -2
- package/test/for/components/temp/{ForOf-server-3bfbb33bd589890d272bbcbea53d9598f53bfd70.ts → ForOf-server-ac08d98dd249a3e64a366b8488450e6ce0d18def.ts} +1 -0
- package/test/for/for-escape.test.ts +2 -3
- package/test/function/components/output/Function-client.ts +1 -1
- package/test/function/components/temp/{Function-client-b8931e51769f3f1e84d1491c6474f8551acf9f8d.ts → Function-client-b3ff029a821d47e1a2249a52dfb681f4b2e96232.ts} +1 -1
- package/test/function/function.test.ts +1 -2
- package/test/html/components/output/Html-client.ts +3 -1
- package/test/html/components/output/Html-server.ts +1 -0
- package/test/html/components/temp/{Html-client-5fc745d9980a42a70dcb3473b0fd976e69882c9e.ts → Html-client-766ba4a63f28f929ca16cd7d1640fe92f9b30792.ts} +3 -1
- package/test/html/components/temp/{Html-server-437ea390e58947213ede74755a012cdacceeebe7.ts → Html-server-0a41da8b81bf833f331f3becdbac14be7ddc6c8c.ts} +1 -0
- package/test/if/components/output/IfAfterIf-client.ts +5 -4
- package/test/if/components/output/IfAfterIf-server.ts +1 -0
- package/test/if/components/output/IfElse-client.ts +4 -3
- package/test/if/components/output/IfElse-server.ts +1 -0
- package/test/if/components/output/IfElseIf-client.ts +5 -4
- package/test/if/components/output/IfElseIf-server.ts +1 -0
- package/test/if/components/output/IfNested-client.ts +5 -4
- package/test/if/components/output/IfNested-server.ts +1 -0
- package/test/if/components/temp/{IfAfterIf-client-a489daa5b961ed9da71418fdbb1665b6ba39f1b7.ts → IfAfterIf-client-49b6b8c42b0a351561f9f5f22c2ae2e844bf3b58.ts} +5 -4
- package/test/if/components/temp/{IfAfterIf-server-243736e666e7d77d3f8553a1682734555f5ffd22.ts → IfAfterIf-server-eb67cf1fcf6711882266219940a47bd4a66497f3.ts} +1 -0
- package/test/if/components/temp/{IfElse-client-4c71642f412d5dd2f45729eafb7e974781dbe011.ts → IfElse-client-e236d4a2e99262ff09675bc519c07e2826c0d70b.ts} +4 -3
- package/test/if/components/temp/{IfElse-server-64c055182b327504ee71d1f1d44cfccf48be350d.ts → IfElse-server-c077e0e30f4d2adec41ab779198362d21542d055.ts} +1 -0
- package/test/if/components/temp/{IfElseIf-client-98d50d6f40c2385c4ef4fc02329f9d2e182c76c4.ts → IfElseIf-client-b92106861f0c7ec3d09e3a42bb93d8f5bd4e3bdf.ts} +5 -4
- package/test/if/components/temp/{IfElseIf-server-79788b13af905175f50bfa8658f2ff2af73db232.ts → IfElseIf-server-67991eee3f56dc687cda600511c31396438e0a77.ts} +1 -0
- package/test/{build-server/components/temp/IfNested-client-979db97eea5b4595550b9b46f297f3fbc31796d2.ts → if/components/temp/IfNested-client-f563ac1b16a2280e457557281c4925ed447a9cd7.ts} +5 -4
- package/test/{build-server/components/temp/IfNested-server-3c4e4b6f2162c0906cef685830219b9ea9ee985c.ts → if/components/temp/IfNested-server-0a2a9643324ab73b02b310cad61ba87dab146ab2.ts} +1 -0
- package/test/mount/components/Mount.torp +1 -1
- package/test/mount/components/output/Mount-client.ts +0 -2
- package/test/mount/components/output/Mount-server.ts +1 -1
- package/test/mount/components/temp/{Mount-client-49d8d6475336b5749fe8a17be847fd2b6cda5ccc.ts → Mount-client-36dbc95a61345a1b7dcf07e6b0c998af2afca691.ts} +0 -2
- package/test/mount/components/temp/{Mount-server-e3d689cf52a4477da9aa00e2c7604110710db991.ts → Mount-server-8bef1924a731f3db63cb827be3938fec685e53af.ts} +1 -1
- package/test/on-mount/components/output/OnMount-client.ts +0 -2
- package/test/on-mount/components/temp/{OnMount-client-b2dfd41a0aaeafb3b7af14793a03e0fc3bc43aaa.ts → OnMount-client-21708a638d2939ee8b017f5dc819cee4748bde87.ts} +0 -2
- package/test/party/13-emit-to-parent.test.ts +2 -3
- package/test/party/16-context.test.ts +1 -2
- package/test/party/17-input-text.test.ts +2 -3
- package/test/party/18-input-checkbox.test.ts +1 -2
- package/test/party/19-input-radio.test.ts +2 -3
- package/test/party/20-input-select.test.ts +3 -4
- package/test/party/7-event-click.test.ts +1 -3
- package/test/party/9-conditional.test.ts +2 -4
- package/test/party/components/ColorSelect.torp +1 -1
- package/test/party/components/InputFocused.torp +1 -1
- package/test/party/components/InputHello.torp +1 -1
- package/test/party/components/IsAvailable.torp +1 -1
- package/test/party/components/PickPill.torp +2 -2
- package/test/party/components/output/AnswerButton-client.ts +3 -2
- package/test/party/components/output/AnswerButton-server.ts +1 -0
- package/test/party/components/output/AnswerButtonApp-client.ts +4 -4
- package/test/party/components/output/AnswerButtonApp-server.ts +1 -1
- package/test/party/components/output/ColorSelect-client.ts +1 -1
- package/test/party/components/output/Colors-client.ts +1 -1
- package/test/party/components/output/Counter-client.ts +1 -1
- package/test/party/components/output/FunnyButton-client.ts +1 -1
- package/test/party/components/output/FunnyButtonApp-client.ts +2 -2
- package/test/party/components/output/FunnyButtonApp-server.ts +1 -1
- package/test/party/components/output/InputFocused-client.ts +0 -2
- package/test/party/components/output/InputFocused-server.ts +1 -1
- package/test/party/components/output/InputHello-client.ts +1 -1
- package/test/party/components/output/IsAvailable-client.ts +1 -1
- package/test/party/components/output/PickPill-client.ts +2 -2
- package/test/party/components/output/TrafficLight-client.ts +6 -6
- package/test/party/components/output/UserProfile-client.ts +5 -4
- package/test/party/components/output/UserProfile-server.ts +1 -0
- package/test/party/components/output/UserProfileApp-client.ts +3 -2
- package/test/party/components/output/UserProfileApp-server.ts +1 -1
- package/test/party/components/output/UserProfileContext-client.ts +3 -3
- package/test/party/components/output/UserProfileContextApp-client.ts +2 -2
- package/test/party/components/output/UserProfileContextApp-server.ts +1 -1
- package/test/party/components/temp/{AnswerButton-client-243454cd7bf84c648f244b3587e60d01a0401039.ts → AnswerButton-client-c3dc7edbfff2db1ea111086002147d771ee12193.ts} +3 -2
- package/test/party/components/temp/{AnswerButton-server-938e46c1d2510ea37454854ef527e4aa64eb8e52.ts → AnswerButton-server-427442fa8cfc0a18817c2d37f9cb5cbcb3a88a05.ts} +1 -0
- package/test/party/components/temp/{AnswerButtonApp-client-34311c2e7412807867fb6267af31a341f092bf31.ts → AnswerButtonApp-client-3e0b63a6bbc1dee3e6cb715c0297cc2ce58d3e4e.ts} +4 -4
- package/test/party/components/temp/{AnswerButtonApp-server-3f5071775abea24ee8830830072c6fe465fc4e56.ts → AnswerButtonApp-server-bbc8bb739d2060ccda77ce406aa6b15d8f90b91c.ts} +1 -1
- package/test/party/components/temp/{ColorSelect-client-f9fb9fa09f4729da3226d5aaf30e84cd3cd705b5.ts → ColorSelect-client-5ffa6f9d77de967993088c9a01b9f976f3333176.ts} +1 -1
- package/test/party/components/temp/{Colors-client-f124162d1dd8f0c3d37bf96c8e5f18599ae3a682.ts → Colors-client-3dafffc5c2a72037f4419fc45d08963872a29958.ts} +1 -1
- package/test/party/components/temp/{Counter-client-c349710110b4afbf9593f20cfc40c162ed836079.ts → Counter-client-4d553521fcfc6c9a4e05dce89e70b2ecf8785c4e.ts} +1 -1
- package/test/party/components/temp/{FunnyButton-client-2e6bec8259065b5bc9ae16d1ca93dd1bd0c56b7c.ts → FunnyButton-client-45f2c5dd56f2cdb80102193a978df6b0cec822ab.ts} +1 -1
- package/test/party/components/temp/{FunnyButtonApp-client-4ed0ebf5be13ddb62d9942bac7f4b8a885ec6c50.ts → FunnyButtonApp-client-ac7101af922dc6ba472b75a428f340caca6be74a.ts} +2 -2
- package/test/party/components/temp/{FunnyButtonApp-server-9748c9096848e643c91237c46ea09d23f1b3fa7c.ts → FunnyButtonApp-server-f1a98a946e0bb9d1bb76b01e26d6ead8f55d32bb.ts} +1 -1
- package/test/party/components/temp/{InputFocused-client-a543f82c8db205fb3e33c62de699cff43c668a68.ts → InputFocused-client-11a9cb08909b26945bbc2451ab4c1dac09e6d113.ts} +0 -2
- package/test/party/components/temp/{InputFocused-server-222f2fa7029d1cd6941a3777293a9b2d37b7295e.ts → InputFocused-server-82be1a63c80d1dd3f06efaf0bef349d58cf1d9af.ts} +1 -1
- package/test/party/components/temp/{InputHello-client-9953499de5778bb1d8aac7691129210a6098db07.ts → InputHello-client-b0453caeae0d43dc1878039c6b49318d12624d48.ts} +1 -1
- package/test/party/components/temp/{IsAvailable-client-929ed6c872e72b6c5243b882c6a9a0d13f6a7c47.ts → IsAvailable-client-d789346a68b26fd3f5d9f7aebc4c7bd181c47cad.ts} +1 -1
- package/test/party/components/temp/{PickPill-client-f9a50a75ce63ec2ee3ac34e378e20602b93629f7.ts → PickPill-client-b47d371ae5f41d87c96b3cdeed0a8bc06fbfa9c7.ts} +2 -2
- package/test/party/components/temp/{TrafficLight-client-81dd9bd9f3332533e01f6c9b271c15e5f76e1fdb.ts → TrafficLight-client-549f9fe3418c113fb240cfa17e09c42e1e7f346a.ts} +6 -6
- package/test/party/components/temp/{UserProfile-client-938bcef20a2555de22aca939022a32742ac5e729.ts → UserProfile-client-2c13aac1ad915e51dc557f9af765669e636c0fea.ts} +5 -4
- package/test/party/components/temp/{UserProfile-server-9df5c59b8797fa67c479bc76450104d45e6076f9.ts → UserProfile-server-cc1162a4297f6163bfb86e7a8aeea08e8c0625c6.ts} +1 -0
- package/test/party/components/temp/{UserProfileApp-client-af27173415d65647cab0f30a9a4967cef0307e25.ts → UserProfileApp-client-2be7a11319cca4d7bfa0f3d2205c441d7e203780.ts} +3 -2
- package/test/party/components/temp/{UserProfileApp-server-6a7dbe68ee8041785cef50fb15a9e5ba475e120f.ts → UserProfileApp-server-ab9ff66f787f775aa8571314fee8bcbef85489ef.ts} +1 -1
- package/test/party/components/temp/{UserProfileContext-client-93211cdba795b8baf926f60f5b17da90701743b3.ts → UserProfileContext-client-2aa36f436a5f20614d77f48963ec5ca442eebd90.ts} +3 -3
- package/test/party/components/temp/{UserProfileContextApp-client-7ea7d90a35894408757aef3e935d3a8badf93aea.ts → UserProfileContextApp-client-5099052fdcd8fb4c368c45090390947424a4e9b0.ts} +2 -2
- package/test/party/components/temp/{UserProfileContextApp-server-90290c770529d7211eabf29e7d0fe868aa856b52.ts → UserProfileContextApp-server-6be8dab2ed4f8911f26bef137e7dea164f2b894d.ts} +1 -1
- package/test/props/components/Reactive.torp +18 -0
- package/test/props/components/output/Reactive-client.ts +70 -0
- package/test/props/components/output/Reactive-server.ts +40 -0
- package/test/props/components/temp/Reactive-client-e3e5f6ee2f22c46337c6ab1df2f241133c7e2646.ts +70 -0
- package/test/props/components/temp/Reactive-server-0914d91287a1bc6d32d7cc56d086624762dbfc04.ts +40 -0
- package/test/props/reactive.test.ts +51 -0
- package/test/replace/components/output/Replace-client.ts +3 -2
- package/test/replace/components/output/Replace-server.ts +1 -0
- package/test/replace/components/temp/{Replace-client-ea4ddc73c71181fb6ef3c6f5bf61b0b9e017f00a.ts → Replace-client-3fdab63871fa4bb792317caefd3539b1888325b1.ts} +3 -2
- package/test/replace/components/temp/{Replace-server-30eb1ad796516fa4d310798a9c8a6811ec13cbd9.ts → Replace-server-857aca7a58deffc3a1c95ab9d31628b4051ca203.ts} +1 -0
- package/test/slots/components/output/Article-client.ts +2 -2
- package/test/slots/components/output/Basic-client.ts +1 -1
- package/test/slots/components/output/Basic-server.ts +1 -1
- package/test/slots/components/output/Let-client.ts +4 -3
- package/test/slots/components/output/Let-server.ts +2 -1
- package/test/slots/components/output/List-client.ts +1 -1
- package/test/slots/components/output/List-server.ts +1 -0
- package/test/slots/components/output/Named-client.ts +2 -2
- package/test/slots/components/output/Named-server.ts +1 -1
- package/test/slots/components/output/Unused-client.ts +1 -1
- package/test/slots/components/output/Unused-server.ts +1 -1
- package/test/slots/components/temp/{Article-client-741f94eab2e96655f4c9d69ccd7d9c7cc998f4ce.ts → Article-client-80848d6cadd8abac61865d14ddd35685844797e0.ts} +2 -2
- package/test/slots/components/temp/{Basic-client-c82bc3c5e10f2f2c1869347435262c8f3039e32f.ts → Basic-client-97b18686412869e8c814fd4542dfe826b1f7669f.ts} +1 -1
- package/test/slots/components/temp/{Basic-server-21fb4f8caa3bbcae219aaef388af8c26c46fa5ce.ts → Basic-server-248392e2cd147b537cd44e9a5a71885ef20102e4.ts} +1 -1
- package/test/slots/components/temp/{Let-client-c54696fd1b5b859a693744722957fa960f72fad6.ts → Let-client-be69c1f5aa32faf16239050d7836db46cfdcba2f.ts} +4 -3
- package/test/slots/components/temp/{Let-server-4d78ffc8741fa737f2cd915b36c0e6ec88a9146f.ts → Let-server-c3293219ed27aec61a6af36d451ddf6609c40027.ts} +2 -1
- package/test/slots/components/temp/{List-client-0659d999cfb48b865fe5b8aaaf2a4ddac3a8a8b6.ts → List-client-a829b33214de829de689a72d2e8703b2266ad7a4.ts} +1 -1
- package/test/slots/components/temp/{List-server-4b76485a259d054187edad8aa691d80ac918ad86.ts → List-server-06503834c9bfae9b8c2b61742568b020a3de961c.ts} +1 -0
- package/test/slots/components/temp/{Named-client-0626b2f0911f77f5edcfda82f9751bcbc37b7641.ts → Named-client-2d9d88f5fdf74d81c3ed1d769a476f4ac36c8b99.ts} +2 -2
- package/test/slots/components/temp/{Named-server-e802f901223d697c7fd0a1a234ce1930af1b4b3f.ts → Named-server-65a7bbf038111475c8f07dccb34040ab8c1392c4.ts} +1 -1
- package/test/slots/components/temp/{Unused-client-aa05465731e0d00e18189498f49c94f991e76f10.ts → Unused-client-1b16491cb800bbbbd871d9fbf5966c7275244019.ts} +1 -1
- package/test/slots/components/temp/{Unused-server-00b92d14665a565f0042b1f56231f28bc38a1252.ts → Unused-server-e5d1e85116bebc7e1a2882cb8f2c9ae7975a1de7.ts} +1 -1
- package/test/special-component/components/output/Component-client.ts +5 -4
- package/test/special-component/components/output/Component-server.ts +3 -2
- package/test/special-component/components/temp/{Component-client-3cc84b23def8830b8ef441bde0f03b3e9718196a.ts → Component-client-22f7e1d0955fb3d90939e956a1f0f77118c259b6.ts} +5 -4
- package/test/special-component/components/temp/{Component-server-5dc597784ea1fe45ac2cfb21305cf2187a3868e8.ts → Component-server-ce596cd84dc11f67c9f0588060a5b672eddf9715.ts} +3 -2
- package/test/special-element/components/output/Element-client.ts +2 -1
- package/test/special-element/components/output/Element-server.ts +1 -0
- package/test/special-element/components/temp/{Element-client-0ab8992a8e914c7e190cddac790585fef9be1c9f.ts → Element-client-21c92c04579b1d29e8813265a10897d069aad5c5.ts} +2 -1
- package/test/special-element/components/temp/{Element-server-ddb0170df4a3f369577ca7e9768e5fe799f14dfb.ts → Element-server-4bed9653529f39e72754126147fe8618f328853a.ts} +1 -0
- package/test/special-self/components/output/Self-client.ts +3 -2
- package/test/special-self/components/output/Self-server.ts +1 -0
- package/test/special-self/components/temp/{Self-client-3982f174954034643c4d17cfc66d7f10bf1d4df6.ts → Self-client-911c67194be1fdd997537310bcafe712161e8251.ts} +3 -2
- package/test/special-self/components/temp/{Self-server-97ffbdaae47f4463034e1d318a8073d078ff138f.ts → Self-server-49ba9be1f6255dd4daf490c640f5222a85960218.ts} +1 -0
- package/test/style/components/output/Style-client.ts +2 -1
- package/test/style/components/output/Style-server.ts +1 -0
- package/test/style/components/temp/{Style-client-085517e82bdd015c86f4c2577447c6a2791cf656.ts → Style-client-cbfac1e255c33a867ccbd5f9d1484a855d91a2d7.ts} +2 -1
- package/test/style/components/temp/{Style-server-b2615163fbafdcb2a5d4155120edf2f66ef3bba6.ts → Style-server-763d82ee2296be3f7620814aed950b505329c04c.ts} +1 -0
- package/test/svg/components/output/Shape-client.ts +4 -3
- package/test/svg/components/output/Shape-server.ts +1 -0
- package/test/svg/components/temp/{Shape-client-ea698ed1b7d0c3615adff35fa4956f22840f5fda.ts → Shape-client-cb98b36ab2a0d9f06b484a3c988fb43c3a71a4a0.ts} +4 -3
- package/test/svg/components/temp/{Shape-server-eb32049cfb7c058b2c4079c5f86ef00651ff6d69.ts → Shape-server-500d7fe4556026234ce5379b8e90595ddd094edc.ts} +1 -0
- package/test/switch/components/output/Switch-client.ts +5 -4
- package/test/switch/components/output/Switch-server.ts +1 -0
- package/test/switch/components/temp/{Switch-client-4c4adac7308795807517e66bc268a38f87df6bda.ts → Switch-client-9980de45e3346b79525c445edec7cbc3b375e8a4.ts} +5 -4
- package/test/switch/components/temp/{Switch-server-21fcac2b02c6071136bb0dc394babd27e454d2c9.ts → Switch-server-1c5690726f28008bb565966af69b6e4e019dea82.ts} +1 -0
- package/test/text/components/output/Text-client.ts +3 -2
- package/test/text/components/output/Text-server.ts +1 -0
- package/test/text/components/temp/{Text-client-9840092be1b4552ddce6e5efc2f1b395637a0a3d.ts → Text-client-63f1d3bf9b3bd145c7ce7058716640e27144055e.ts} +3 -2
- package/test/text/components/temp/{Text-server-6774aa9d4ccce941224ba0a8fb1d3e42eb31807e.ts → Text-server-9d3dd6f51e893e63c1999ceafce19ca1697d76ea.ts} +1 -0
- package/test/watch-array/components/output/Array-client.ts +4 -3
- package/test/watch-array/components/output/Array-server.ts +1 -0
- package/test/watch-array/components/output/ArrayEntries-client.ts +4 -3
- package/test/watch-array/components/output/ArrayEntries-server.ts +1 -0
- package/test/watch-array/components/output/ArrayIndexes-client.ts +4 -3
- package/test/watch-array/components/output/ArrayIndexes-server.ts +1 -0
- package/test/watch-array/components/output/ArrayUnkeyed-client.ts +4 -3
- package/test/watch-array/components/output/ArrayUnkeyed-server.ts +1 -0
- package/test/watch-array/components/temp/{Array-client-b29a42f88c2a2f37b3a86bdb9535e20a487887e1.ts → Array-client-ffd82188a45877d74053c82fb3616e4aed0fc2ad.ts} +4 -3
- package/test/watch-array/components/temp/{Array-server-ced54fc7e63196f9c24c2e55b27bfe6cf7821dcb.ts → Array-server-3715e815af887e8487b214e7de324850fe99e312.ts} +1 -0
- package/test/watch-array/components/temp/{ArrayEntries-client-6289890758b1f6b462a74417e0b9e2e46d946ccd.ts → ArrayEntries-client-b6e982660628576061dbb44539e970b9549bdcfa.ts} +4 -3
- package/test/watch-array/components/temp/{ArrayEntries-server-0429a18ffbe39afe87612889a3010c3fcaa601dc.ts → ArrayEntries-server-85cbe80fbb7f6885287825e2cc0dfc1cb9835d79.ts} +1 -0
- package/test/watch-array/components/temp/{ArrayIndexes-client-fe4b1c49f442b3e5411f331c52ae6c5ab38f2b2d.ts → ArrayIndexes-client-39337aa43bd8c10a53db836c3be233d48dd39b91.ts} +4 -3
- package/test/watch-array/components/temp/{ArrayIndexes-server-20c01f10832f035b007f85a423778934d51a703a.ts → ArrayIndexes-server-ec623c724af0c7212675d61ea68e9dee87f96caa.ts} +1 -0
- package/test/watch-array/components/temp/{ArrayUnkeyed-client-3fffe2ce749ee84e0730130bfd730d432e3c4e12.ts → ArrayUnkeyed-client-7606f9a6a221c8cf6a8b51e4895d10a3d7bccc11.ts} +4 -3
- package/test/watch-array/components/temp/{ArrayUnkeyed-server-0ab804a5e7bf5b47594d85adab79735e89a3939d.ts → ArrayUnkeyed-server-db21cd576a4c70973abe10f6c8ef5cecb3ead86c.ts} +1 -0
- package/test/watch-object/components/output/Watched-client.ts +2 -1
- package/test/watch-object/components/output/Watched-server.ts +1 -0
- package/test/watch-object/components/temp/{Watched-client-cb293038cd0a39043d05639c624a17d512419c25.ts → Watched-client-bbffbf2cede1a5c071b770670eb39c0f0be725af.ts} +2 -1
- package/test/watch-object/components/temp/{Watched-server-4884585cf4f50493a70631909f2230153531208e.ts → Watched-server-0252addaf92fb0f0c1e2937f42918a1c9f31d196.ts} +1 -0
- package/src/render/flushMountEffects.ts +0 -8
- package/test/class/components/temp/Class-server-2218c3284845fdab80d1a41ebace9a9e2ddd6fc1.ts +0 -17
- package/test/if/components/temp/IfNested-client-979db97eea5b4595550b9b46f297f3fbc31796d2.ts +0 -90
- package/test/if/components/temp/IfNested-server-3c4e4b6f2162c0906cef685830219b9ea9ee985c.ts +0 -30
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
2
3
|
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
3
4
|
import t_add_fragment from "../../../../src/render/addFragment";
|
|
4
5
|
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
5
6
|
import t_fragment from "../../../../src/render/getFragment";
|
|
6
7
|
import t_root from "../../../../src/render/nodeRoot";
|
|
7
8
|
|
|
8
|
-
import UserProfile from "../output
|
|
9
|
+
import UserProfile from "../output/./UserProfile-client";
|
|
9
10
|
|
|
10
11
|
export default function UserProfileApp(
|
|
11
12
|
$parent: ParentNode,
|
|
@@ -27,7 +28,7 @@ export default function UserProfileApp(
|
|
|
27
28
|
const t_comp_anchor_1 = t_anchor(t_root_0) as HTMLElement;
|
|
28
29
|
|
|
29
30
|
/* @component */
|
|
30
|
-
const t_props_1: any = {};
|
|
31
|
+
const t_props_1: any = $watch({});
|
|
31
32
|
t_props_1["name"] = "John";
|
|
32
33
|
$run(function setProp() {
|
|
33
34
|
t_props_1["age"] = 20;
|
|
@@ -28,9 +28,9 @@ export default function UserProfileContext(
|
|
|
28
28
|
const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <h2>My Profile</h2> <p>#</p> <p>#</p> <button> Update username to Jane </button> </div>`);
|
|
29
29
|
// @ts-ignore
|
|
30
30
|
const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
|
|
31
|
-
const t_text_1 = t_child(t_next(
|
|
32
|
-
const t_text_2 = t_child(t_next(
|
|
33
|
-
const t_button_1 = t_next(
|
|
31
|
+
const t_text_1 = t_child(t_next(t_child(t_div_1), 3));
|
|
32
|
+
const t_text_2 = t_child(t_next(t_child(t_div_1), 5));
|
|
33
|
+
const t_button_1 = t_next(t_child(t_div_1), 7) as HTMLElement;
|
|
34
34
|
$run(function setTextContent() {
|
|
35
35
|
t_text_1.textContent = `Username: ${t_fmt($context.user.username)}`;
|
|
36
36
|
});
|
|
@@ -10,7 +10,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
10
10
|
import t_next from "../../../../src/render/nodeNext";
|
|
11
11
|
import t_root from "../../../../src/render/nodeRoot";
|
|
12
12
|
|
|
13
|
-
import UserProfileContext from "../output
|
|
13
|
+
import UserProfileContext from "../output/./UserProfileContext-client";
|
|
14
14
|
|
|
15
15
|
export default function UserProfileContextApp(
|
|
16
16
|
$parent: ParentNode,
|
|
@@ -39,7 +39,7 @@ export default function UserProfileContextApp(
|
|
|
39
39
|
// @ts-ignore
|
|
40
40
|
const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
|
|
41
41
|
const t_text_1 = t_child(t_next(t_child(t_div_1)));
|
|
42
|
-
const t_comp_anchor_1 = t_anchor(t_next(
|
|
42
|
+
const t_comp_anchor_1 = t_anchor(t_next(t_child(t_div_1), 3)) as HTMLElement;
|
|
43
43
|
|
|
44
44
|
/* @component */
|
|
45
45
|
UserProfileContext(t_div_1, t_comp_anchor_1, undefined, $context);
|
|
@@ -3,7 +3,7 @@ import $watch from "../../../../src/render/$serverWatch";
|
|
|
3
3
|
import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
|
|
4
4
|
import t_fmt from "../../../../src/render/formatText";
|
|
5
5
|
|
|
6
|
-
import UserProfileContext from "../output
|
|
6
|
+
import UserProfileContext from "../output/./UserProfileContext-server";
|
|
7
7
|
|
|
8
8
|
export default function UserProfileContextApp(
|
|
9
9
|
// @ts-ignore
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default function Reactive($props: any) {
|
|
2
|
+
let $state = $watch({ text: "before" })
|
|
3
|
+
|
|
4
|
+
@render {
|
|
5
|
+
<div>
|
|
6
|
+
<button onclick={() => $state.text = "after"}>Update text</button>
|
|
7
|
+
<Child text={$state.text} />
|
|
8
|
+
</div>
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function Child($props: any) {
|
|
13
|
+
@render {
|
|
14
|
+
<p>
|
|
15
|
+
{$props.text}
|
|
16
|
+
</p>
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
3
|
+
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
4
|
+
import t_add_fragment from "../../../../src/render/addFragment";
|
|
5
|
+
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
6
|
+
import t_child from "../../../../src/render/nodeChild";
|
|
7
|
+
import t_event from "../../../../src/render/addEvent";
|
|
8
|
+
import t_fmt from "../../../../src/render/formatText";
|
|
9
|
+
import t_fragment from "../../../../src/render/getFragment";
|
|
10
|
+
import t_next from "../../../../src/render/nodeNext";
|
|
11
|
+
import t_root from "../../../../src/render/nodeRoot";
|
|
12
|
+
|
|
13
|
+
export default function Reactive(
|
|
14
|
+
$parent: ParentNode,
|
|
15
|
+
$anchor: Node | null,
|
|
16
|
+
$props: any,
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
$context?: Record<PropertyKey, any>,
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
$slots?: Record<string, SlotRender>
|
|
21
|
+
) {
|
|
22
|
+
|
|
23
|
+
let $state = $watch({ text: "before" })
|
|
24
|
+
|
|
25
|
+
/* User interface */
|
|
26
|
+
const t_fragments: DocumentFragment[] = [];
|
|
27
|
+
|
|
28
|
+
const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <button>Update text</button> <!> </div>`);
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
|
|
31
|
+
const t_button_1 = t_next(t_child(t_div_1)) as HTMLElement;
|
|
32
|
+
const t_comp_anchor_1 = t_anchor(t_next(t_button_1, 2)) as HTMLElement;
|
|
33
|
+
|
|
34
|
+
/* @component */
|
|
35
|
+
const t_props_1: any = $watch({});
|
|
36
|
+
$run(function setProp() {
|
|
37
|
+
t_props_1["text"] = $state.text;
|
|
38
|
+
});
|
|
39
|
+
Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
|
|
40
|
+
t_event(t_button_1, "click", () => $state.text = "after");
|
|
41
|
+
t_add_fragment(t_fragment_0, $parent, $anchor);
|
|
42
|
+
t_next(t_div_1);
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function Child(
|
|
47
|
+
$parent: ParentNode,
|
|
48
|
+
$anchor: Node | null,
|
|
49
|
+
$props: any,
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
$context?: Record<PropertyKey, any>,
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
$slots?: Record<string, SlotRender>
|
|
54
|
+
) {
|
|
55
|
+
$props ??= $watch({});
|
|
56
|
+
|
|
57
|
+
/* User interface */
|
|
58
|
+
const t_fragments: DocumentFragment[] = [];
|
|
59
|
+
|
|
60
|
+
const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<p>#</p>`);
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
const t_p_1 = t_root(t_fragment_0) as HTMLElement;
|
|
63
|
+
const t_text_1 = t_child(t_p_1);
|
|
64
|
+
$run(function setTextContent() {
|
|
65
|
+
t_text_1.textContent = ` ${t_fmt($props.text)} `;
|
|
66
|
+
});
|
|
67
|
+
t_add_fragment(t_fragment_0, $parent, $anchor);
|
|
68
|
+
t_next(t_p_1);
|
|
69
|
+
|
|
70
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import $watch from "../../../../src/render/$serverWatch";
|
|
2
|
+
import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
|
|
3
|
+
import t_fmt from "../../../../src/render/formatText";
|
|
4
|
+
|
|
5
|
+
export default function Reactive(
|
|
6
|
+
$props: any,
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
$context?: Record<PropertyKey, any>,
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
$slots?: Record<string, ServerSlotRender>
|
|
11
|
+
) {
|
|
12
|
+
let $state = $watch({ text: "before" })
|
|
13
|
+
|
|
14
|
+
/* User interface */
|
|
15
|
+
let $output = "";
|
|
16
|
+
$output += `<div> <button>Update text</button> `;
|
|
17
|
+
const t_props_1: any = {};
|
|
18
|
+
t_props_1["text"] = $state.text;
|
|
19
|
+
|
|
20
|
+
$output += Child(t_props_1, $context)
|
|
21
|
+
$output += ` </div>`;
|
|
22
|
+
|
|
23
|
+
return $output;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function Child(
|
|
27
|
+
$props: any,
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
$context?: Record<PropertyKey, any>,
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
$slots?: Record<string, ServerSlotRender>
|
|
32
|
+
) {
|
|
33
|
+
$props ??= {};
|
|
34
|
+
|
|
35
|
+
/* User interface */
|
|
36
|
+
let $output = "";
|
|
37
|
+
$output += `<p> ${t_fmt($props.text)} </p>`;
|
|
38
|
+
|
|
39
|
+
return $output;
|
|
40
|
+
}
|
package/test/props/components/temp/Reactive-client-e3e5f6ee2f22c46337c6ab1df2f241133c7e2646.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
3
|
+
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
4
|
+
import t_add_fragment from "../../../../src/render/addFragment";
|
|
5
|
+
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
6
|
+
import t_child from "../../../../src/render/nodeChild";
|
|
7
|
+
import t_event from "../../../../src/render/addEvent";
|
|
8
|
+
import t_fmt from "../../../../src/render/formatText";
|
|
9
|
+
import t_fragment from "../../../../src/render/getFragment";
|
|
10
|
+
import t_next from "../../../../src/render/nodeNext";
|
|
11
|
+
import t_root from "../../../../src/render/nodeRoot";
|
|
12
|
+
|
|
13
|
+
export default function Reactive(
|
|
14
|
+
$parent: ParentNode,
|
|
15
|
+
$anchor: Node | null,
|
|
16
|
+
$props: any,
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
$context?: Record<PropertyKey, any>,
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
$slots?: Record<string, SlotRender>
|
|
21
|
+
) {
|
|
22
|
+
|
|
23
|
+
let $state = $watch({ text: "before" })
|
|
24
|
+
|
|
25
|
+
/* User interface */
|
|
26
|
+
const t_fragments: DocumentFragment[] = [];
|
|
27
|
+
|
|
28
|
+
const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <button>Update text</button> <!> </div>`);
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
|
|
31
|
+
const t_button_1 = t_next(t_child(t_div_1)) as HTMLElement;
|
|
32
|
+
const t_comp_anchor_1 = t_anchor(t_next(t_button_1, 2)) as HTMLElement;
|
|
33
|
+
|
|
34
|
+
/* @component */
|
|
35
|
+
const t_props_1: any = $watch({});
|
|
36
|
+
$run(function setProp() {
|
|
37
|
+
t_props_1["text"] = $state.text;
|
|
38
|
+
});
|
|
39
|
+
Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
|
|
40
|
+
t_event(t_button_1, "click", () => $state.text = "after");
|
|
41
|
+
t_add_fragment(t_fragment_0, $parent, $anchor);
|
|
42
|
+
t_next(t_div_1);
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function Child(
|
|
47
|
+
$parent: ParentNode,
|
|
48
|
+
$anchor: Node | null,
|
|
49
|
+
$props: any,
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
$context?: Record<PropertyKey, any>,
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
$slots?: Record<string, SlotRender>
|
|
54
|
+
) {
|
|
55
|
+
$props ??= $watch({});
|
|
56
|
+
|
|
57
|
+
/* User interface */
|
|
58
|
+
const t_fragments: DocumentFragment[] = [];
|
|
59
|
+
|
|
60
|
+
const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<p>#</p>`);
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
const t_p_1 = t_root(t_fragment_0) as HTMLElement;
|
|
63
|
+
const t_text_1 = t_child(t_p_1);
|
|
64
|
+
$run(function setTextContent() {
|
|
65
|
+
t_text_1.textContent = ` ${t_fmt($props.text)} `;
|
|
66
|
+
});
|
|
67
|
+
t_add_fragment(t_fragment_0, $parent, $anchor);
|
|
68
|
+
t_next(t_p_1);
|
|
69
|
+
|
|
70
|
+
}
|
package/test/props/components/temp/Reactive-server-0914d91287a1bc6d32d7cc56d086624762dbfc04.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import $watch from "../../../../src/render/$serverWatch";
|
|
2
|
+
import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
|
|
3
|
+
import t_fmt from "../../../../src/render/formatText";
|
|
4
|
+
|
|
5
|
+
export default function Reactive(
|
|
6
|
+
$props: any,
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
$context?: Record<PropertyKey, any>,
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
$slots?: Record<string, ServerSlotRender>
|
|
11
|
+
) {
|
|
12
|
+
let $state = $watch({ text: "before" })
|
|
13
|
+
|
|
14
|
+
/* User interface */
|
|
15
|
+
let $output = "";
|
|
16
|
+
$output += `<div> <button>Update text</button> `;
|
|
17
|
+
const t_props_1: any = {};
|
|
18
|
+
t_props_1["text"] = $state.text;
|
|
19
|
+
|
|
20
|
+
$output += Child(t_props_1, $context)
|
|
21
|
+
$output += ` </div>`;
|
|
22
|
+
|
|
23
|
+
return $output;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function Child(
|
|
27
|
+
$props: any,
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
$context?: Record<PropertyKey, any>,
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
$slots?: Record<string, ServerSlotRender>
|
|
32
|
+
) {
|
|
33
|
+
$props ??= {};
|
|
34
|
+
|
|
35
|
+
/* User interface */
|
|
36
|
+
let $output = "";
|
|
37
|
+
$output += `<p> ${t_fmt($props.text)} </p>`;
|
|
38
|
+
|
|
39
|
+
return $output;
|
|
40
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getByText, queryByText } from "@testing-library/dom";
|
|
2
|
+
import "@testing-library/jest-dom/vitest";
|
|
3
|
+
import userEvent from "@testing-library/user-event";
|
|
4
|
+
import { beforeAll, expect, test } from "vitest";
|
|
5
|
+
import { $watch } from "../../src";
|
|
6
|
+
import buildOutputFiles from "../buildOutputFiles";
|
|
7
|
+
import hydrateComponent from "../hydrateComponent";
|
|
8
|
+
import importComponent from "../importComponent";
|
|
9
|
+
import mountComponent from "../mountComponent";
|
|
10
|
+
|
|
11
|
+
const componentPath = "./test/props/components/Reactive";
|
|
12
|
+
|
|
13
|
+
beforeAll(() => {
|
|
14
|
+
buildOutputFiles(componentPath);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
interface State {
|
|
18
|
+
text: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
test("props reactive -- mounted", async () => {
|
|
22
|
+
let $state = $watch({ text: "before" });
|
|
23
|
+
|
|
24
|
+
const container = document.createElement("div");
|
|
25
|
+
const component = await importComponent(componentPath, "client");
|
|
26
|
+
mountComponent(container, component, $state);
|
|
27
|
+
|
|
28
|
+
check(container, $state);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
test("props reactive -- hydrated", async () => {
|
|
32
|
+
let $state = $watch({ text: "before" });
|
|
33
|
+
|
|
34
|
+
const container = document.createElement("div");
|
|
35
|
+
const clientComponent = await importComponent(componentPath, "client");
|
|
36
|
+
const serverComponent = await importComponent(componentPath, "server");
|
|
37
|
+
hydrateComponent(container, clientComponent, serverComponent, $state);
|
|
38
|
+
|
|
39
|
+
check(container, $state);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
async function check(container: HTMLElement, $state: State) {
|
|
43
|
+
expect(queryByText(container, "before")).toBeInTheDocument();
|
|
44
|
+
|
|
45
|
+
await userEvent.click(getByText(container, "Update text"));
|
|
46
|
+
|
|
47
|
+
$state.text = "after";
|
|
48
|
+
|
|
49
|
+
expect(queryByText(container, "before")).not.toBeInTheDocument();
|
|
50
|
+
expect(queryByText(container, "after")).toBeInTheDocument();
|
|
51
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
2
3
|
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
3
4
|
import t_add_fragment from "../../../../src/render/addFragment";
|
|
4
5
|
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
@@ -20,7 +21,7 @@ export default function Replace(
|
|
|
20
21
|
// @ts-ignore
|
|
21
22
|
$slots?: Record<string, SlotRender>
|
|
22
23
|
) {
|
|
23
|
-
$props ??= {};
|
|
24
|
+
$props ??= $watch({});
|
|
24
25
|
|
|
25
26
|
let counter = 0;
|
|
26
27
|
|
|
@@ -42,7 +43,7 @@ export default function Replace(
|
|
|
42
43
|
const t_root_1 = t_root(t_fragment_1);
|
|
43
44
|
const t_text_1 = t_child(t_next(t_root_1));
|
|
44
45
|
// @ts-ignore
|
|
45
|
-
const t_text_2 = t_next(
|
|
46
|
+
const t_text_2 = t_next(t_root_1, 2);
|
|
46
47
|
$run(function setTextContent() {
|
|
47
48
|
t_text_1.textContent = `The replace count is ${t_fmt(counter++)}.`;
|
|
48
49
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
2
3
|
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
3
4
|
import t_add_fragment from "../../../../src/render/addFragment";
|
|
4
5
|
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
@@ -20,7 +21,7 @@ export default function Replace(
|
|
|
20
21
|
// @ts-ignore
|
|
21
22
|
$slots?: Record<string, SlotRender>
|
|
22
23
|
) {
|
|
23
|
-
$props ??= {};
|
|
24
|
+
$props ??= $watch({});
|
|
24
25
|
|
|
25
26
|
let counter = 0;
|
|
26
27
|
|
|
@@ -42,7 +43,7 @@ export default function Replace(
|
|
|
42
43
|
const t_root_1 = t_root(t_fragment_1);
|
|
43
44
|
const t_text_1 = t_child(t_next(t_root_1));
|
|
44
45
|
// @ts-ignore
|
|
45
|
-
const t_text_2 = t_next(
|
|
46
|
+
const t_text_2 = t_next(t_root_1, 2);
|
|
46
47
|
$run(function setTextContent() {
|
|
47
48
|
t_text_1.textContent = `The replace count is ${t_fmt(counter++)}.`;
|
|
48
49
|
});
|
|
@@ -27,11 +27,11 @@ export default function Article(
|
|
|
27
27
|
if ($slots && $slots["header"]) {
|
|
28
28
|
$slots["header"](t_slot_parent_1, t_slot_anchor_1, undefined, $context)
|
|
29
29
|
}
|
|
30
|
-
const t_slot_anchor_2 = t_anchor(t_next(
|
|
30
|
+
const t_slot_anchor_2 = t_anchor(t_next(t_slot_parent_1, 2)) as HTMLElement;
|
|
31
31
|
if ($slots && $slots["_"]) {
|
|
32
32
|
$slots["_"](t_section_1, t_slot_anchor_2, undefined, $context)
|
|
33
33
|
}
|
|
34
|
-
const t_slot_anchor_3 = t_anchor(t_next(
|
|
34
|
+
const t_slot_anchor_3 = t_anchor(t_next(t_slot_anchor_2, 2)) as HTMLElement;
|
|
35
35
|
if ($slots && $slots["footer"]) {
|
|
36
36
|
$slots["footer"](t_section_1, t_slot_anchor_3, undefined, $context)
|
|
37
37
|
}
|
|
@@ -5,7 +5,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
5
5
|
import t_next from "../../../../src/render/nodeNext";
|
|
6
6
|
import t_root from "../../../../src/render/nodeRoot";
|
|
7
7
|
|
|
8
|
-
import Header from "
|
|
8
|
+
import Header from "../output/./Header-client"
|
|
9
9
|
|
|
10
10
|
export default function Basic(
|
|
11
11
|
$parent: ParentNode,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
2
3
|
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
3
4
|
import t_add_fragment from "../../../../src/render/addFragment";
|
|
4
5
|
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
@@ -7,7 +8,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
7
8
|
import t_next from "../../../../src/render/nodeNext";
|
|
8
9
|
import t_root from "../../../../src/render/nodeRoot";
|
|
9
10
|
|
|
10
|
-
import List from "
|
|
11
|
+
import List from "../output/./List-client"
|
|
11
12
|
|
|
12
13
|
export default function Let(
|
|
13
14
|
$parent: ParentNode,
|
|
@@ -18,7 +19,7 @@ export default function Let(
|
|
|
18
19
|
// @ts-ignore
|
|
19
20
|
$slots?: Record<string, SlotRender>
|
|
20
21
|
) {
|
|
21
|
-
$props ??= {};
|
|
22
|
+
$props ??= $watch({});
|
|
22
23
|
|
|
23
24
|
/* User interface */
|
|
24
25
|
const t_fragments: DocumentFragment[] = [];
|
|
@@ -29,7 +30,7 @@ export default function Let(
|
|
|
29
30
|
const t_comp_anchor_1 = t_anchor(t_root_0) as HTMLElement;
|
|
30
31
|
|
|
31
32
|
/* @component */
|
|
32
|
-
const t_props_1: any = {};
|
|
33
|
+
const t_props_1: any = $watch({});
|
|
33
34
|
$run(function setProp() {
|
|
34
35
|
t_props_1["items"] = $props.items;
|
|
35
36
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
|
|
2
2
|
import t_fmt from "../../../../src/render/formatText";
|
|
3
3
|
|
|
4
|
-
import List from "
|
|
4
|
+
import List from "../output/./List-server"
|
|
5
5
|
|
|
6
6
|
export default function Let(
|
|
7
7
|
$props: any,
|
|
@@ -10,6 +10,7 @@ export default function Let(
|
|
|
10
10
|
// @ts-ignore
|
|
11
11
|
$slots?: Record<string, ServerSlotRender>
|
|
12
12
|
) {
|
|
13
|
+
$props ??= {};
|
|
13
14
|
|
|
14
15
|
/* User interface */
|
|
15
16
|
let $output = "";
|
|
@@ -5,7 +5,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
5
5
|
import t_next from "../../../../src/render/nodeNext";
|
|
6
6
|
import t_root from "../../../../src/render/nodeRoot";
|
|
7
7
|
|
|
8
|
-
import Article from "
|
|
8
|
+
import Article from "../output/./Article-client"
|
|
9
9
|
|
|
10
10
|
export default function Named(
|
|
11
11
|
$parent: ParentNode,
|
|
@@ -40,7 +40,7 @@ export default function Named(
|
|
|
40
40
|
// @ts-ignore
|
|
41
41
|
const t_root_2 = t_root(t_fragment_2);
|
|
42
42
|
// @ts-ignore
|
|
43
|
-
const t_text_1 = t_next(
|
|
43
|
+
const t_text_1 = t_next(t_root_2, 2);
|
|
44
44
|
t_add_fragment(t_fragment_2, $sparent, $sanchor);
|
|
45
45
|
t_next(t_text_1);
|
|
46
46
|
}
|
|
@@ -4,7 +4,7 @@ import t_anchor from "../../../../src/render/nodeAnchor";
|
|
|
4
4
|
import t_fragment from "../../../../src/render/getFragment";
|
|
5
5
|
import t_root from "../../../../src/render/nodeRoot";
|
|
6
6
|
|
|
7
|
-
import Header from "
|
|
7
|
+
import Header from "../output/./Header-client"
|
|
8
8
|
|
|
9
9
|
export default function Unused(
|
|
10
10
|
$parent: ParentNode,
|
|
@@ -27,11 +27,11 @@ export default function Article(
|
|
|
27
27
|
if ($slots && $slots["header"]) {
|
|
28
28
|
$slots["header"](t_slot_parent_1, t_slot_anchor_1, undefined, $context)
|
|
29
29
|
}
|
|
30
|
-
const t_slot_anchor_2 = t_anchor(t_next(
|
|
30
|
+
const t_slot_anchor_2 = t_anchor(t_next(t_slot_parent_1, 2)) as HTMLElement;
|
|
31
31
|
if ($slots && $slots["_"]) {
|
|
32
32
|
$slots["_"](t_section_1, t_slot_anchor_2, undefined, $context)
|
|
33
33
|
}
|
|
34
|
-
const t_slot_anchor_3 = t_anchor(t_next(
|
|
34
|
+
const t_slot_anchor_3 = t_anchor(t_next(t_slot_anchor_2, 2)) as HTMLElement;
|
|
35
35
|
if ($slots && $slots["footer"]) {
|
|
36
36
|
$slots["footer"](t_section_1, t_slot_anchor_3, undefined, $context)
|
|
37
37
|
}
|
|
@@ -5,7 +5,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
5
5
|
import t_next from "../../../../src/render/nodeNext";
|
|
6
6
|
import t_root from "../../../../src/render/nodeRoot";
|
|
7
7
|
|
|
8
|
-
import Header from "../output
|
|
8
|
+
import Header from "../output/./Header-client"
|
|
9
9
|
|
|
10
10
|
export default function Basic(
|
|
11
11
|
$parent: ParentNode,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import $run from "../../../../src/render/$run";
|
|
2
|
+
import $watch from "../../../../src/render/$watch";
|
|
2
3
|
import { type SlotRender } from "../../../../src/types/SlotRender";
|
|
3
4
|
import t_add_fragment from "../../../../src/render/addFragment";
|
|
4
5
|
import t_anchor from "../../../../src/render/nodeAnchor";
|
|
@@ -7,7 +8,7 @@ import t_fragment from "../../../../src/render/getFragment";
|
|
|
7
8
|
import t_next from "../../../../src/render/nodeNext";
|
|
8
9
|
import t_root from "../../../../src/render/nodeRoot";
|
|
9
10
|
|
|
10
|
-
import List from "../output
|
|
11
|
+
import List from "../output/./List-client"
|
|
11
12
|
|
|
12
13
|
export default function Let(
|
|
13
14
|
$parent: ParentNode,
|
|
@@ -18,7 +19,7 @@ export default function Let(
|
|
|
18
19
|
// @ts-ignore
|
|
19
20
|
$slots?: Record<string, SlotRender>
|
|
20
21
|
) {
|
|
21
|
-
$props ??= {};
|
|
22
|
+
$props ??= $watch({});
|
|
22
23
|
|
|
23
24
|
/* User interface */
|
|
24
25
|
const t_fragments: DocumentFragment[] = [];
|
|
@@ -29,7 +30,7 @@ export default function Let(
|
|
|
29
30
|
const t_comp_anchor_1 = t_anchor(t_root_0) as HTMLElement;
|
|
30
31
|
|
|
31
32
|
/* @component */
|
|
32
|
-
const t_props_1: any = {};
|
|
33
|
+
const t_props_1: any = $watch({});
|
|
33
34
|
$run(function setProp() {
|
|
34
35
|
t_props_1["items"] = $props.items;
|
|
35
36
|
});
|