mirror of
https://github.com/gantry/gantry5.git
synced 2026-08-19 01:15:04 -05:00
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:
@@ -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 ? []
|
||||
: [{
|
||||
|
||||
Vendored
+705
-282
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user