Commit graph

27 commits

Author SHA1 Message Date
Jonathan Kelley
3e07214272 wip: implement lazy nodes properly 2021-11-01 02:41:23 -04:00
Jonathan Kelley
27d891934a fix: use annotation method from rust/58052 to fix closure lifetimes 2021-10-30 18:23:28 -04:00
Jonathan Kelley
ba9e1dbb8f fix: messed up how lifetimes worked, need to render once per component 2021-10-29 21:43:21 -04:00
Jonathan Kelley
0e9d5fc530 wip: move everything over to a stack dst 2021-10-29 17:12:30 -04:00
Jonathan Kelley
9726a065b0 feat: massage lifetimes 2021-10-16 17:37:28 -04:00
Jonathan Kelley
098d3821ed wip: changes to scheduler 2021-09-22 01:25:28 -04:00
Jonathan Kelley
a2c7d17b05 feat: mvoe away from compound context 2021-09-21 13:42:52 -04:00
Jonathan Kelley
c321532a6c feat: some docs, cleaning 2021-09-01 00:57:04 -04:00
Jonathan Kelley
cdcd8611e8 wip: it works but the page is backwards 2021-08-24 12:43:46 -04:00
Jonathan Kelley
49856ccd68 wip: making progress on diffing and hydration 2021-07-28 21:46:53 -04:00
Jonathan Kelley
4a72b3140b feat: amazingly awesome error handling 2021-07-18 12:39:32 -04:00
Jonathan Kelley
583fdfa561 docs: big updates to the reference 2021-07-16 16:11:25 -04:00
Jonathan Kelley
c79d9ae674 feat: buff up html allowed attributes 2021-07-12 23:44:20 -04:00
Jonathan Kelley
56e7eb83a9 wip: more examples 2021-07-11 19:31:07 -04:00
Jonathan Kelley
a38a81e129 wip: fix issues with lifetimes
this commit fixes some lifetime issues regarding having to "move" data into the IntoVNode closure.
2021-07-07 13:51:55 -04:00
Jonathan Kelley
81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -04:00
Jonathan Kelley
70cd46dbb2 docs: move around examples 2021-06-17 18:00:32 -04:00
Jonathan Kelley
508c560320 Feat: massive changes to definition of components
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets  carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.

For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley
c28697e1fe Feat: some code health 2021-05-16 02:06:02 -04:00
Jonathan Kelley
9f7f43b661 Feat: building large apps, revamp macro 2021-03-22 23:52:54 -04:00
Jonathan Kelley
fcd68e61d2 Feat: listeners now have scope information 2021-03-03 11:13:46 -05:00
Jonathan Kelley
ffaf687896 Feat: update readme and examples 2021-03-01 00:16:48 -05:00
Jonathan Kelley
c8bb392cad Feat: view -> render 2021-02-28 21:21:17 -05:00
Jonathan Kelley
83451372aa Feat: clean up code 2021-02-24 01:32:50 -05:00
Jonathan Kelley
bdc25b581b Feat: finally solve the component lifetime problem <3 2021-02-20 22:57:13 -05:00
Jonathan Kelley
7a6aabe4f3 Feat: WIP ctx 2021-02-20 21:59:16 -05:00
Jonathan Kelley
125f5426a4 Feat: push new component API and context API 2021-02-11 23:03:01 -05:00