Commit Graph
21 Commits
Author SHA1 Message Date
Evan Almloff b47a6cf83e Move to a generic GlobalLazy<T> (#2851)
* Expose a generic lazy type

* Switch to generic lazy globals

* simplify global lazy context a bit

* rename LazyGlobal to Global

* use Memo::global in more examples

* Fix soundness issue with deref_impl. It relies on the size of self, so it cannot be safe

* add a comment about safety

* Make clippy happy

* fix formatting

* Restore changes to signal impl

* Add helper methods for global signal and global memo to make getting the inner value easier
2024-08-16 17:57:41 -05:00
Evan Almloff 14081e7e45 Add a warning when a copy value is used in a higher scope than it was created in (#2771) 2024-08-02 10:48:13 -07:00
Jonathan Kelley e42b71b1ba Fix #2612: adjust readable trait to allow try_peek (#2714)
* Fix #2612: adjust readable trait to allow try_peek

Our implementation for Readable was inconsistent.
We had a try_unchecked variant for read but not for peek.
This resolves that by making a breaking change to the
Readable interface.

* fix doctests too
2024-07-26 18:20:16 -05:00
Matt HunzingerandEvan Almloff d07e81005f Better expect error messages (#2629)
* Replace expect error messages

* Change message

* Create RuntimeError struct

* Pass error through core methods

* Fix use of Runtime::current in signals package

* Fix tests

* Add #[track_caller] for better error output and fix maybe_with_rt

* provide a help message along with RuntimeError

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-07-24 13:31:56 -05:00
88af3e7eff Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Evan Almloff 58f7efafea Make EventHandler copy (#2112)
* implement Copy for EventHandler
* implement from closure for event handler and remove special on prefix
* fix props implementation of EventHandler
2024-03-19 19:48:53 -07:00
Evan Almloff ffc49530f6 implement readable and callable for all structs in the hooks crate 2024-03-08 11:17:28 -06:00
Evan Almloff 4bc2f4a713 add more docs around lifetime downcasting 2024-03-08 10:46:34 -06:00
Evan Almloff 60a84956d1 restore lifetime checking for signals 2024-03-08 10:32:57 -06:00
Evan Almloff 492f0329bf remove flume, implement lazier memos 2024-03-06 11:38:28 -06:00
Evan Almloff 48751d2f98 only subscribe scopes to signals when rendering 2024-02-14 09:33:22 -06:00
Evan Almloff 8689509eb5 erase the original readable type 2024-02-07 11:19:39 -06:00
Evan Almloff c8937cb4df make mapped signal readable 2024-02-07 09:35:06 -06:00
Evan Almloff 1af8f56e89 make target an associated type 2024-02-07 08:53:21 -06:00
Evan Almloff c431429448 fix web playwright tests 2024-02-05 15:25:51 -06:00
Evan Almloff 30bac267c9 simplify reactive context and expose less signal internals 2024-02-05 08:05:27 -06:00
Jonathan Kelley a72c035de4 Fix cargo check on examples 2024-01-30 17:59:57 -08:00
Jonathan Kelley 0bd9692e45 Fix cargo test and a number of little cleanup bugs 2024-01-30 17:33:14 -08:00
Evan Almloff 6bc0332052 simplify the readable and writable traits a bit 2024-01-23 12:07:55 -06:00
Evan Almloff 7f93263357 add a bunch more utilities to the trait 2024-01-23 10:56:26 -06:00
Evan Almloff 51d7133ca5 add readable and writable traits for signal-like structs 2024-01-23 10:05:59 -06:00