[For Consideration] Merging internal fork (#50)

* Revert to version 0.17.0+1.

Fixes for Dart 2.
Resolves fork at version 0.18.0 that prevented support from the package authors.

* Update travis config to ignore failures on stable SDK for now
33 files changed
tree: bb186aaf05483702d0b3c9793da8a6db2115bb55
  1. lib/
  2. test/
  3. .gitignore
  4. .travis.yml
  5. analysis_options.yaml
  6. AUTHORS
  7. CHANGELOG.md
  8. CONTRIBUTING.md
  9. LICENSE
  10. PATENTS
  11. pubspec.yaml
  12. 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