observable-value
Object representation of mutable value
Usage
var ObservableValue = ; var observable = 'foo';
Current value is accessible at value
property:
observablevalue; // 'foo'
change
events are emitted on any change
var emitted;observable;objvalue = 'bar';console; // { newValue: 'bar', oldValue: 'foo' };
Installation
$ npm install observable-value
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack
Additional utilities
isObservableValue (observable-value/is-observable-value)
Whether object shares ObservableValue interface
var isObservableValue = ; console; // falseconsole; // true
eq
Create observable value out of two different values that may share ObservableValue but don't have to. If both values do not represent ObservableValue, plain boolean value is returned
var eq = ; console; // falseconsole; // falseconsole; // true var m1 = ; var em = ;console; // trueconsole; // falseem;m1value = 'foo';console; // trueconsole; // truem1value = 'bar';console; // falseconsole; // false emitted = null;m1value = 'other';console; // nullconsole; // false var m2 = ;m2value = 'other';em = ;console; // truem2value = 'foo';console; // falsem1value = 'foo';console; // true
Tests
$ npm test