Merge pull request #108 from google/google

Integrate internal changes
tree: 2500b70d0be3417406f1628289aae0b80b24cec8
  1. lib/
  2. test/
  3. analysis_options.yaml
  4. AUTHORS
  5. CHANGELOG.md
  6. dart_test.yaml
  7. LICENSE
  8. pubspec.yaml
  9. README.md
README.md

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.

Usage

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