Objects that you can subscribe to changes. See also: new-list
$ npm install new-objectprices = newObject({ apple: 3, grape: 4 })
prices('banana', 1)
prices('apple')
// => 3
prices('banana')
// => 1Subscribing to changes:
prices('cherry', 5)
prices('apple', 2)
prices.rm('banana')
prices.subscribe(function(update){
update.set
// => { cherry: 5, apple: 2 }
update.rm
// => ['banana']
})people = newObject({ john: { age: 21 city: 'SF' }, smith: { age: 23, city: 'NYC' } })
people.subscribe(function(update){
if(update.person)
debug('%s was updated', update.person)
})
people('john').age = 22;
people.publish({ person: 'john' })See tests for more information.