Repository navigation
1.0.0
Initial Stable Release
Core Features
- Push-Pull Glitch-Free Model: Ensures derived signals never observe inconsistent intermediate states
- Thread-Safe: All operations use atomic primitives (AtomicReference, AtomicLong, CopyOnWriteArrayList)
- Lazy Subscription: Signals only subscribe to dependencies when needed
- Batching: Group multiple updates into a single consistent notification
Signal Types
Source Signals:
DefaultMutableSignal- Mutable signal with atomic updatesDefaultSignal- Immutable signal with fixed valueStateFlowSignal/MutableStateFlowSignal- Kotlin StateFlow wrappersFlowSignal- Kotlin Flow wrapperReactiveStreamsSignal- Reactive Streams Publisher wrapper
Computed Signals:
MappedSignal- Transform values with mapFilteredSignal- Filter with fallback valueCombinedSignal2/3/4/5/6- Combine multiple signalsFlattenSignal- Flatten Signal<Signal>ScanSignal- Accumulate valuesDistinctBySignal- Deduplicate by keyWithLatestFromSignal- Sample with latestPairwiseSignal- Consecutive pairsMapNotNullSignal- Map with null filteringBimappedSignal- Bidirectional mapping
Bindable Signals:
DefaultBindableSignal- Change source dynamicallyDefaultBindableMutableSignal- Mutable version with cycle detection
Operators
- Arithmetic:
+,-,*,/,% - Boolean:
and,or,xor,not - String operations
- Collection operations
combine,combineAll,zip
Testing
- 627 tests covering concurrency, glitch-free behavior, and all operators