MapChangeRecord
ObservableList.discardListChanges
functionalityObservable<List|Set|Map>.unmodifiable
for immutable collectionsObservable<List|Set|Map>.EMPTY
for empty immutable collectionsObservableSet
, SetChangeRecord
, and SetDiffer
ObservableMap
-specific APIObservableMap
no longer emits #keys
and #values
change recordsObservableMap.spy
is deprecated, becomes .delegate
insteadObservableMap
may no longer be extendedIt is also considered deprecated to be notified of length
changes.
Observable<T>.notifyChange
is usedObservableList
-specific APIObservableList.applyChangeRecords
ObservableList.calculateChangeRecords
ObservableList.withLength
ObservableList.deliverListChanges
ObservableList.discardListChanges
ObservableList.hasListChanges
ObservableList.listChanges
ObservableList.notifyListChange
ObservableList
may no longer be extendedIt is also considered deprecated to be notified of length
, isEmpty
and isNotEmpty
PropertyChangeRecord
s on ObservableList
- in a future release ObservableList.changes
will be Stream<List<ListChangeRecord>>
.
PropertyChangeMixin
, which does not work in dart2jsThis 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; }
Observable
interfaceChangeNotifier
should be used as a base class for these methods:Observable.observed
Observable.unobserved
Observable.hasObservers
Observable.deliverChanges
Observable.notifyChange
PropertyChangeNotifier
should be used for these methods:Observable.notifyPropertyChange
Observable
uses ChangeNotifier
implements Observable
should move to implementing or extending ChangeNotifier
. In a future release Observable
will reduce API surface down to an abstract Stream<List<C>> get changes
.ChangeNotifier
and PropertyChangeNotifier
classesObservable
in a generic mannerObservable<C extends ChangeRecord>
C
, notifyPropertyChange
is illegalMapChangeRecord
MapChangeRecord.apply
to apply a change recordMapDiffer
, which implements Differ
for a Map
ListDiffer
that caused a RangeError
/*<E>*/
syntax in 0.15.0
Differ
interface, as well as EqualityDiffer
ListDiffer
ChangeRecord.ANY
and ChangeRecord.NONE
ListChangeRecord
ListChangeRecord.apply
to apply a change record@override
annotations to satisfy annotate_overrides
pkg/meta
.