Skip to content
Keep track of object property changes in Node.js
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
.travis.yml
README.md
dirtyable.js
package.json
test.js

README.md

Build Status

dirtyable.js

dirtyable.js helps you keep track of changes to properties on objects.

It aims to be a javascript equivalent to ActiveModel::Dirty

Get it.

npm install dirtyable

Track your objects.

dirtyable.extend(object, ['foo', 'bar'])

How to use it

var dirtyable = require('dirtyable');

var obj = {
    foo: 'fizzle',
    bar: 42,
    baz: 'black sheep'
};
dirtyable.extend(obj, ['foo', 'bar']);

obj.foo // => 'fizzle'
obj.foo_isChanged // => false
obj.foo = 'fo shizzle'
obj.foo_isChanged // => true

What it does

On the object, it defines the following getters

  • .isChanged
  • .changes
  • .changed

And for each property it extends, it overrides the property with a getter/setter, then adds the following

  • .<property>_isChanged
  • .<property>_change
  • .<property>_was
Something went wrong with that request. Please try again.