davianspace_reactive 1.0.0 copy "davianspace_reactive: ^1.0.0" to clipboard
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: Effect with auto-tracking, debounce, throttle, re-entrancy protection, and watch() convenience function.
  • Batching: ReactiveBatch with nested batch support, deduplication, and error collection via BatchException.
  • Dependency tracking: ReactiveContext stack-based tracker with nested frames and untracked() escape hatch.
  • Subscriptions: ReactiveSubscription disposable listener and SubscriptionGroup for bulk management.
  • Lifecycle: ReactiveLifecycle mixin with onDispose, onChange, and ReactiveLifecycleState (created → active → disposed).
  • Error types: ReactiveException, DisposedAccessException, FrozenReactiveException, ReadOnlyReactiveException, CircularDependencyException.
  • Async state: Sealed AsyncState<T> with AsyncLoading, AsyncData, AsyncError, pattern matching (when, maybeWhen), and map.
  • 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 ServiceCollection and ServiceProviderBase for registering and resolving reactive types with davianspace_dependencyinjection.
  • Flutter widgets: ReactiveBuilder (auto-tracking), ReactiveSelector (optimized selective rebuild), ReactiveScope (auto-disposing scope) with ScopeOwner.
  • DevTools: ReactiveDebugLogger with ring buffer and GraphInspector with leak detection, disposed-node detection, and performance reporting.
  • Extensions: toReactiveList(), toReactiveMap(), toReactiveSet(), disposeAll(), active, toReactive(), toAsyncReactive(), asStream(), asBroadcastStream().
0
likes
160
points
119
downloads

Documentation

API reference

Publisher

verified publisherdavian.space

Weekly Downloads

High-performance reactive state management for Dart and Flutter using signals, computed values, effects, batching, async state, and dependency injection.

Repository (GitHub)
View/report issues
Contributing

Topics

#state-management #reactive #signals #flutter #architecture

License

MIT (license)

Dependencies

davianspace_dependencyinjection, flutter

More

Packages that depend on davianspace_reactive