378 Commits

Author SHA1 Message Date
11eb211c54
Added dynatos_reactive::EnumSplitSignal. 2025-05-27 02:12:13 +01:00
4368ed1675
Triggers now don't add suppressed events to the run queue. 2025-05-26 23:57:41 +01:00
28baf76f3b
EffectRun now accepts a context that includes the effect being run. 2025-05-26 22:48:08 +01:00
7d2b036b1c
Added test for run queue. 2025-05-26 22:18:44 +01:00
d73233802c
Reactivity now uses a run queue to run all trigger subscribers. 2025-05-25 08:56:25 +01:00
95abde3943
Removed unnecessary type hint. 2025-05-23 04:07:37 +01:00
daffffb620
Moved world effect function type from effect stack to the world trait. 2025-05-23 02:50:00 +01:00
3627c5c5b3
Removed wrappers around effect stack functions. 2025-05-23 02:42:54 +01:00
ff6628eddf
Removed _effect suffix from EffectStack functions. 2025-05-23 02:41:33 +01:00
08fc0bc9e5
QuerySignal is now controlled by a query type.
Added query types `SingleQuery` and `MultiQuery`.
Removed `QueryArraySignal`.
2025-05-23 02:09:11 +01:00
8137a555f8
Added Loadable::map_err. 2025-05-21 02:39:57 +01:00
3c1f12313f
QuerySignal now doesn't require T: FromStr outside of the constructor. 2025-05-20 23:27:06 +01:00
b364702aa3
QuerySignal now has a type parameter for an error. 2025-05-20 23:23:19 +01:00
4faee1a044
Loadable now implements SignalSetWith. 2025-05-20 19:59:12 +01:00
f214b219d9
Added Loadable::loaded_or. 2025-05-20 19:59:01 +01:00
83664060b0
QuerySignal now stores a Loadable<T, T:Err> instead of Option<T>. 2025-05-20 19:40:22 +01:00
816e21c369
Fixed Query[Array]Signal implementing Clone with the wrong bounds. 2025-05-20 19:17:19 +01:00
0fbe50549e
Added dynatos_loadable::{LoadableBorrow, LoadableBorrowMut, SignalBorrowLoadable, SignalBorrowMutLoadable}. 2025-05-20 18:50:17 +01:00
dfdfdcf24c
LoadableSignal and AsyncSignal now implement SignalWith and SignalUpdate with normal references. 2025-05-20 18:31:40 +01:00
7974b202f4
Loadable now implements PartialEq and Eq. 2025-05-16 20:03:16 +01:00
ce1e80f5d1
Added Loadable::{transpose, flatten}. 2025-05-16 19:51:05 +01:00
82dfe0a2fd
Dependency gathering is now synchronized. 2025-05-16 19:01:37 +01:00
db77d278eb
Effects now remove all dependencies when re-running.
This leads to more efficient code since things that no longer are required no longer re-trigger an effect.
2025-05-16 18:57:36 +01:00
b5e22ad328
Added SignalReplace::replace_raw. 2025-05-16 17:52:29 +01:00
ab3d19fc32
Added SignalSet::set_raw. 2025-05-16 17:51:23 +01:00
5943afe236
Added SignalGet(Cloned)::get_(cloned)_raw. 2025-05-16 17:50:34 +01:00
de7de3c715
Added SignalUpdate::update_raw. 2025-05-16 17:49:26 +01:00
7bbb12e57c
Added SignalWith::with_raw. 2025-05-16 17:48:28 +01:00
25a9ab7b7f
Updated bounds depending on WithDefault's SignalWith impl. 2025-05-16 17:43:04 +01:00
42b96c4c9d
dynatos_router now exports it's signals' modules. 2025-05-16 17:33:31 +01:00
68172dc730
AsyncSignal and LoadableSignal no longer use the default SignalWith and SignalUpdate impls. 2025-05-16 17:23:33 +01:00
d00e6f9dfa
QuerySignal now uses borrows an &Option<T> instead of Option<&T>. 2025-05-16 17:19:34 +01:00
53503f1e70
SignalUpdate now has a default impl based on SignalBorrowMut. 2025-05-16 17:13:23 +01:00
c01ec0c1e8
SignalWith now has a default impl based on SignalBorrow. 2025-05-16 17:07:14 +01:00
d76e694332
All signals now have a borrow(_mut)_raw. 2025-05-16 16:39:16 +01:00
5fb6d509e1
ToDynNode is now implemented for LazyCell and LazyLock. 2025-05-16 15:39:53 +01:00
e21695a760
AsyncSignal and LoadableSignal now work with SignalGet and SignalGetCloned. 2025-05-09 21:17:55 +01:00
7cd337fc32
dynatos-html types are now always at least HtmlElement instead of Element. 2025-05-09 21:07:20 +01:00
9c0add0875
dynatos_builder::builder now retains the function attributes. 2025-05-08 07:48:30 +01:00
3264441c19
html macro now supports dynamic children. 2025-05-06 20:02:06 +01:00
e28cc8bdf1
Updated to rustc 1.88.0-nightly (2e6882ac5 2025-05-05). 2025-05-06 19:30:18 +01:00
daca621bdf
Fixed some imports only being used with debug assertions. 2025-05-06 18:45:46 +01:00
d3dc1cbb12
Fixed debug representation of LoadableSignal and AsyncSignal loading the inner value. 2025-05-06 18:45:32 +01:00
529e2bf94c
Blanket impl for SignalSet now depends on an auto-trait, allowing to be disabled. 2025-05-06 15:24:25 +01:00
9132d0304c
SignalReplace now has an associated type for it's return type. 2025-05-06 14:36:19 +01:00
5c5ed4b62a
SignalGet and SignalGetCloned now use an associated type for the return.
This allows using them as bounds more easily without having an unconstrained type.
2025-05-06 14:27:22 +01:00
30152719d9
html::textarea now has it's proper type. 2025-05-05 08:06:45 +01:00
b0355646f3
Merged EffectWorld and TriggerWorld into ReactiveWorld.
Those two are always required for any reactive system, so it makes sense for the reactive system itself to imply them.
2025-05-03 09:47:33 +01:00
f1e2764e50
Added more event listeners to dynatos_html. 2025-05-01 19:53:52 +01:00
299495173f
Fixed some divergences between QuerySignal and QueryArraySignal. 2025-05-01 17:38:16 +01:00