Clone this repo:
  1. def678f Enable GitHub actions, bump dependencies, prepare for release (#104) by Kevin Moore · 6 weeks ago master 0.23.0
  2. 9701b06 Prepare for publishing (#103) by Michael Thomsen · 6 weeks ago
  3. 5de3bc7 Remove unused dart:async imports. (#101) by Sam Rawlins · 8 weeks ago
  4. 13095f9 Remove unneeded dart:async import (#96) by Michael R Fairhurst · 8 weeks ago
  5. 89873d1 Allow dart_internal 0.2.0 & fix analyzer/formatter issues (#102) by lukaszkolodziejczyk · 2 months ago

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