A zero-allocation change detection library for plain javascript objects.
npm install change-treadmilljavascript
"use strict";
var Treadmill = require('change-treadmill');Treadmill.start();
var test = {
foo: 'bar'
}
Treadmill.observe(test);
Treadmill.changes.each(function(change){
console.log(change.obj, change.field, change.lastValue, change.getter())
});
test.baz = 'new prop'
test.foo = 'changed prop'
Treadmill.unObserve(test);
Treadmill.pause();
`
`
{foo: 'bar'} size 1 2
{foo: 'bar'} baz undefined 'new prop'
{foo: 'bar', baz: 'new prop'} foo 'bar' 'changed prop'
``