changes property

  1. @override
Stream<List<ChangeRecord>> get changes

Emits a list of changes when the state of the object changes.

Changes should produced in order, if significant.

Implementation

@override
Stream<List<ChangeRecord>> get changes => _backingMap.changes.map((records) {
      // Since users of this class interact with a strongly typed object and not
      // a map let's obscure the fact it's a map and convert into properties.
      var propertyRecords = <ChangeRecord>[];
      for (var record in records) {
        if (record is MapChangeRecord<Object, Object>) {
          propertyRecords.add(PropertyChangeRecord(
              this, record.key as Symbol, record.oldValue, record.newValue));
        }
      }
      return propertyRecords;
    });