davianspace_reactive 1.0.0
davianspace_reactive: ^1.0.0 copied to clipboard
High-performance reactive state management for Dart and Flutter using signals, computed values, effects, batching, async state, and dependency injection.
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 #
Added #
- Core reactives:
Reactive<T>mutable signal with custom equality, freeze, peek, update, snapshot, and read-only view. - Computed values:
Computed<T>with lazy evaluation, caching, automatic dependency tracking, circular dependency detection, and custom equality. - Effects:
Effectwith auto-tracking, debounce, throttle, re-entrancy protection, andwatch()convenience function. - Batching:
ReactiveBatchwith nested batch support, deduplication, and error collection viaBatchException. - Dependency tracking:
ReactiveContextstack-based tracker with nested frames anduntracked()escape hatch. - Subscriptions:
ReactiveSubscriptiondisposable listener andSubscriptionGroupfor bulk management. - Lifecycle:
ReactiveLifecyclemixin withonDispose,onChange, andReactiveLifecycleState(created → active → disposed). - Error types:
ReactiveException,DisposedAccessException,FrozenReactiveException,ReadOnlyReactiveException,CircularDependencyException. - Async state: Sealed
AsyncState<T>withAsyncLoading,AsyncData,AsyncError, pattern matching (when,maybeWhen), andmap. - AsyncReactive: Reactive async operation wrapper with race condition prevention, refresh, and optimistic state updates.
- Resource: Async data fetching with cache duration, stale-while-revalidate, invalidation, force fetch, and optimistic updates.
- Reactive collections:
ReactiveList<E>,ReactiveMap<K, V>,ReactiveSet<E>implementing full Dart collection interfaces with batching, freezing, snapshot, and dependency tracking. - DI integration: Extensions on
ServiceCollectionandServiceProviderBasefor registering and resolving reactive types withdavianspace_dependencyinjection. - Flutter widgets:
ReactiveBuilder(auto-tracking),ReactiveSelector(optimized selective rebuild),ReactiveScope(auto-disposing scope) withScopeOwner. - DevTools:
ReactiveDebugLoggerwith ring buffer andGraphInspectorwith leak detection, disposed-node detection, and performance reporting. - Extensions:
toReactiveList(),toReactiveMap(),toReactiveSet(),disposeAll(),active,toReactive(),toAsyncReactive(),asStream(),asBroadcastStream().