observable 0.17.0
observable: ^0.17.0 copied to clipboard
Support for marking objects as observable
0.17.0 #
This is a larger change with a goal of no runtime changes for current
customers, but in the future Observable will become a very
lightweight interface, i.e.:
abstract class Observable<C extends ChangeRecord> {
Stream<List<C>> get changes;
}
- Started deprecating the wide
ObservableinterfaceChangeNotifiershould be used as a base class for these methods:Observable.observedObservable.unobservedObservable.hasObserversObservable.deliverChangesObservable.notifyChange
PropertyChangeNotifiershould be used for these methods:Observable.notifyPropertyChange
- Temporarily,
ObservableusesChangeNotifier- Existing users of anything but
implements Observableshould move to implementing or extendingChangeNotifier. In a future releaseObservablewill reduce API surface down to an abstractStream<List<C>> get changes.
- Existing users of anything but
- Added the
ChangeNotifierandPropertyChangeNotifierclasses- Can be used to implement
Observablein a generic manner
- Can be used to implement
- Observable is now
Observable<C extends ChangeRecord>- When passing a generic type
C,notifyPropertyChangeis illegal
- When passing a generic type
0.16.0 #
- Refactored
MapChangeRecord- Added equality and hashCode checks
- Added
MapChangeRecord.applyto apply a change record
- Added
MapDiffer, which implementsDifferfor aMap
0.15.0+2 #
- Fix a bug in
ListDifferthat caused aRangeError
0.15.0+1 #
- Fix analysis errors caused via missing
/*<E>*/syntax in0.15.0
0.15.0 #
- Added the
Differinterface, as well asEqualityDiffer - Refactored list diffing into a
ListDiffer - Added concept of
ChangeRecord.ANYandChangeRecord.NONE- Low-GC ways to expression "something/nothing" changed
- Refactored
ListChangeRecord- Added named constructors for common use cases
- Added equality and hashCode checks
- Added
ListChangeRecord.applyto apply a change record
- Added missing
@overrideannotations to satisfyannotate_overrides
0.14.0+1 #
- Add a missing dependency on
pkg/meta.