
Product
Introducing Immutable Scans
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.
track-changes
Advanced tools
Very simple API for tracking changes to the property of an object for use in debugging.
Very simple API for tracking changes to the property of an object for use in debugging.
npm i track-changes --save
This is a basic example showing how you might track changes to a value in your application.
var app = new Changes();
var a = 'a';
app.track('a', 'change #1', a);
a = 'b';
app.track('a', 'change #2', a);
a = 'c';
app.track('a', 'change #3', a);
a = 'd';
app.track('a', 'change #4', a);
console.log(app.getHistory('a'));
// { first: 'a',
// last: 'd',
// 'change #1': 'a',
// 'change #2': 'b',
// 'change #3': 'c',
// 'change #4': 'd' }
Tracking changes to an object
This example just shows how you might track changes to an object after using merge versus extend.
var app = new Changes();
// objects with properties to track. These are both the same.
var foo = {b: {c: 'd'}};
var bar = {b: {c: 'd'}};
// We're going to use `merge` on foo, and `extend` on bar
app.track('foo', 'before merge:', foo);
app.track('bar', 'before extend:', bar);
// merge foo, and extend bar
merge(foo, {b: {e: 'f'}});
extend(bar, {b: {e: 'f'}});
// record changes
app.track('foo', 'after merge:', foo);
app.track('bar', 'after extend:', bar);
Results:
console.log(app.getHistory('foo'));
// { first: { b: { c: 'd' } },
// last: { b: { c: 'd', e: 'f' } },
//
// 'before merge:': { b: { c: 'd' } },
// 'after merge:': { b: { c: 'd', e: 'f' } } }
console.log(app.getHistory('bar'));
// { first: { b: { c: 'd' } },
// last: { b: { e: 'f' } },
//
// 'before extend:': { b: { c: 'd' } },
// 'after extend:': { b: { e: 'f' } } }
Create a new instance of Changes.
var app = new Changes();
Track the value of key with a comment.
key {String}comment {String}: Brief comment about where key is being tracked.value {*}returns {Object} Changes: for chaining.var foo = 'foo';
app.track('foo', 'one', foo);
foo = 'bar';
app.track('foo', 'two', foo);
foo = 'baz';
app.track('foo', 'three', foo);
// get history of tracked changes for `foo`
app.getHistory('foo');
Jon Schlinkert
Copyright (c) 2015 Jon Schlinkert
Released under the license
This file was generated by verb on February 21, 2015.
FAQs
Very simple API for tracking changes to the property of an object for use in debugging.
The npm package track-changes receives a total of 0 weekly downloads. As such, track-changes popularity was classified as not popular.
We found that track-changes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.

Product
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.