Clone this repo:
  1. 8755ee4 Support Dart 2 stable, prepare to release 0.22.1+4 (#75) by Kevin Moore · 3 months ago master 0.22.1+4
  2. 7b35bf7 Bump dev dependencies on build packages (#72) by Nicholas Shahan · 4 months ago
  3. 9d09e57 Deprecate `retype` (#71) by Nicholas Shahan · 5 months ago 0.22.1+3
  4. e9369be Update implementations of the `cast` and the deprecated `retype` methods. (#70) by Lasse R.H. Nielsen · 5 months ago
  5. baa813d Widen quiver dependency (#69) by Nicholas Shahan · 5 months ago 0.22.1+2

Build Status

Support for detecting and being notified when an object is mutated.

An observable is a way to be notified of a continuous stream of events over time.

Some suggested uses for this library:

  • Observe objects for changes, and log when a change occurs
  • Optimize for observable collections in your own APIs and libraries instead of diffing
  • Implement simple data-binding by listening to streams

You may want to look at the former TC39 proposal Observe.observe, which was deprecated.


There are two general ways to detect changes:

  • Listen to Observable.changes and be notified when an object changes
  • Use Differ.diff to determine changes between two objects