bindx
A powerful, annotation-based state management library for Flutter with reactive programming and advanced async features.
0.0.3
Avijitbera/bindx
What this package is like to depend on
Last release 6 months ago
13 Feb 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 3 of 3 stable releases
Nothing withdrawn
no release was ever pulled
6 months old
3 releases · first in 2026
3 releases in the last 12 months
see the full history below
Release timeline
3 releases · Feb 2026 to Feb 2026Releases
latest 3-
0.0.313 Feb 2026Release notes
Open source →Added
- Updated pubspec.yaml
- Implement
BindxStorelifecycle methods for locking, caching, and streaming - Remove unused imports and memory cache
-
0.0.211 Feb 2026Release notes
Open source →Added
- Updated pubspec.yaml
- Implement
BindxStorelifecycle methods for locking, caching, and streaming - Remove unused imports and memory cache
-
0.0.102 Feb 2026Release notes
Open source →Added
Core Features
- BindXStore: Reactive state container with automatic change notification
- BindxRegistry: Global store registry for dependency injection
- BindXMixin: Mixin for adding middleware support to stores
Annotations
@Cache: Cache method results with configurable duration and persistence- Memory and disk caching strategies
- Cache invalidation by tag
- Reactive cache dependencies
@Concurrent: Control concurrent method execution- Debounce and throttle support
- Queue management with priority
- Maximum concurrency limits
@Streamed: Convert properties to reactive streams- Broadcast and single-subscription streams
- Stream key management
@Validate: Validate method parameters- Built-in validators (email, url, notEmpty, etc.)
- Custom validation logic
@Mutex: Mutual exclusion locks for thread safety@Retry: Automatic retry with configurable attempts and delay@Timeout: Method execution timeouts
Widgets
BindXProvider: Provide stores to widget treeBindXConsumer: Consume and rebuild on store changesMultiBindXProvider: Provide multiple storesBindXMultiBuilder: Build from multiple storesBindXMultiConsumer: Consume multiple stores
Extensions
-
Stream Extensions (
BindXStreamExtensions):debounce(): Debounce stream emissionsthrottle(): Throttle stream emissionsdistinct(): Filter distinct valuesswitchMap(): Switch to new streammergeMap(): Merge concurrent streamscombineWith(): Combine streamsbufferTime(): Buffer values over timesampleTime(): Sample at intervalscacheLatest(): Cache and replay latest valueretryWithBackoff(): Retry with exponential backofftap(): Execute side effectswhereNotNull(): Filter null valuesmapNotNull(): Map non-null valuesgroupBy(): Group values by keyshareReplay(): Share subscription with replay
-
Stream Utilities (
BindXStreamUtils):firstValue: Get first value as FuturelastValue: Get last value as FuturecontainsWhere(): Check if contains valuefirstWhereOrNull(): Find first matching valuetoListAsync(): Convert to ListtoMap(): Convert to MapforEachAsync(): Execute for each value
-
Stream Combinators (
BindXStreamCombinators):merge(): Merge multiple streamsconcat(): Concatenate streamscombineLatest(): Combine latest valuesrace(): First stream to emit wins
-
Future Extensions (
BindXFutureExtensions):timeoutAfter(): Timeout with fallbackmap(): Map result valuemapOrElse(): Map with error handlingfilter(): Filter resultrecover(): Recover from errorstap(): Execute side effectscombineWith(): Combine futuresasStream(): Convert to streamdelayBy(): Delay resultasCancellable(): Make cancellableasResult(): Convert to Result typematch(): Pattern match on resultgetOrNull(): Get value or nullflatMap(): Flat map transformationvalidate(): Validate result
-
Future Combinators (
BindXFutureCombinators):waitAll(): Wait for all futureswaitAllInOrder(): Wait preserving orderrace(): First to completesequence(): Execute sequentiallywithConcurrency(): Limited concurrencymapAll(): Map and wait for all
-
Future Utilities (
BindXFutureUtils):orDefault(): Default value on timeoutsafe(): Never throws (returns null)withCancellationToken(): Cancellable with token
Utilities
- Result: Type-safe result handling (Success/Failure)
- CancellableFuture: Futures that can be cancelled
- CancellationToken: Token for cancelling operations
- BindXAsync: Async utilities (periodic, delayed, executeWithRetry)
Middleware
Middleware<T>: Base middleware interfaceLoggingMiddleware: Log all state changesPersistenceMiddleware: Persist state to storage
Caching
CacheEngine: In-memory and disk cachingDiskStorage: Persistent storage with SharedPreferences
Concurrency
TaskManager: Manage concurrent task executionTaskQueue: Priority-based task queuing
DevTools
BindXDevTools: Developer tools integrationBindXDevToolsOverlay: Debug overlay widget- Store inspection and time-travel debugging UI
Dependencies
flutter: >=1.17.0meta: ^1.16.0analyzer: ^8.4.1build: ^3.0.0source_gen: ^4.1.1crypto: ^3.0.7dartz: ^0.10.1path_provider: ^2.1.5shared_preferences: ^2.5.3
Documentation
- Comprehensive README with examples
- API documentation for all public classes
- Code examples for common use cases
- Contributing guidelines