void_signals 1.0.0
void_signals: ^1.0.0 copied to clipboard
High-performance signal reactivity library for Dart, based on alien-signals
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2024-11-28 #
Added #
- Initial stable release of void_signals
- Core reactive primitives:
signal()- Create reactive state valuescomputed()- Create derived values with automatic dependency trackingeffect()- Run side effects when dependencies changeeffectScope()- Group and manage multiple effects
- Batch operations:
batch()- Batch multiple signal updatesstartBatch()/endBatch()- Low-level batch control
- Utility functions:
untrack()- Read signals without creating dependenciestrigger()- Manually trigger signal subscriberspeek()- Read signal value without tracking
- Async support:
AsyncValue- Sealed class for async states (loading, data, error)asyncComputed()- Async computed values with dependency trackingstreamComputed()- Subscribe to streams reactivelycombineAsync()- Combine multiple async values
- Type checking utilities:
isSignal(),isComputed(),isEffect(),isEffectScope()
- Extension types for zero-cost abstractions
- Full documentation and examples
Performance #
- Based on alien-signals, one of the fastest signal implementations
- Lazy evaluation for computed values
- Efficient O(1) dependency tracking
- Minimal memory allocations