initial commit
This commit is contained in:
48
node_modules/deep-diff/examples/issue-48.js
generated
vendored
Normal file
48
node_modules/deep-diff/examples/issue-48.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
var dd = require('../'); // deep-diff
|
||||
var inspect = require('util').inspect;
|
||||
var expect = require('expect.js');
|
||||
|
||||
var before = {
|
||||
name: 'my object',
|
||||
description: 'it\'s an object!',
|
||||
details: {
|
||||
it: 'has',
|
||||
an: 'array',
|
||||
with: ['a', 'few', 'elements']
|
||||
}
|
||||
};
|
||||
|
||||
var after = {
|
||||
name: 'updated object',
|
||||
description: 'it\'s an object!',
|
||||
details: {
|
||||
it: 'has',
|
||||
an: 'array',
|
||||
with: ['a', 'few', 'more', 'elements', { than: 'before' }]
|
||||
}
|
||||
};
|
||||
|
||||
var revertDiff = function (src, d) {
|
||||
d.forEach(function (change) {
|
||||
dd.revertChange(src, true, change);
|
||||
});
|
||||
return src;
|
||||
};
|
||||
|
||||
var clone = function (src) {
|
||||
return JSON.parse(JSON.stringify(src));
|
||||
};
|
||||
|
||||
var df = dd.diff(before, after);
|
||||
var b1 = clone(before);
|
||||
var a1 = clone(after);
|
||||
|
||||
console.log(inspect(a1, false, 9)); // eslint-disable-line no-console
|
||||
|
||||
var reverted = revertDiff(a1, df);
|
||||
console.log(inspect(reverted, false, 9)); // eslint-disable-line no-console
|
||||
console.log(inspect(b1, false, 9)); // eslint-disable-line no-console
|
||||
|
||||
expect(reverted).to.eql(b1);
|
||||
|
||||
Reference in New Issue
Block a user