LM History: Added diff method to get an Object comparison and understand what has changed. Useful for debugging. Can be used via console through the command G5.lm.history.diff()

This commit is contained in:
Djamil Legato
2016-05-04 16:26:20 -07:00
parent 146574c934
commit aca7aea48f
3 changed files with 717 additions and 284 deletions
+11 -2
View File
@@ -2,7 +2,8 @@ var prime = require('prime'),
Emitter = require('prime/emitter'),
slice = require('mout/array/slice'),
merge = require('mout/object/merge'),
deepEquals = require('mout/lang/deepEquals');
deepEquals = require('mout/lang/deepEquals'),
deepDiff = require('deep-diff').diff;
var History = new prime({
@@ -62,7 +63,7 @@ var History = new prime({
},
get: function(index) {
return this.session[index || this.index] || false;
return this.session[typeof index !== 'undefined' ? index : this.index] || false;
},
equals: function(session, compare) {
@@ -71,6 +72,14 @@ var History = new prime({
return deepEquals(session, compare);
},
diff: function(obj1, obj2) {
if (!obj1 && !obj2 && this.session.length <= 1) { return 'Not enough sessions to diff'; }
if (!obj2) { obj2 = this.get(); }
if (!obj1) { obj1 = this.get(this.index - 1); }
return deepDiff(obj1, obj2);
},
setSession: function(session, preset) {
session = !session ? []
: [{
+705 -282
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -17,6 +17,7 @@
},
"devDependencies": {
"browserify": "^13.0.0",
"deep-diff": "^0.3.3",
"gulp": "^3.9.1",
"gulp-if": "^2.0.0",
"gulp-rename": "^1.2.2",