1 |
|
2 | (function(){
|
3 | var ref$, red, green, grey, diff, logDifferences;
|
4 | ref$ = require('chalk'), red = ref$.red, green = ref$.green, grey = ref$.grey;
|
5 | diff = require('diff');
|
6 | logDifferences = function(differences){
|
7 | var i$, len$, part, color;
|
8 | console.log(red('\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'));
|
9 | console.log(red('Mismatching call records!\n'));
|
10 | for (i$ = 0, len$ = differences.length; i$ < len$; ++i$) {
|
11 | part = differences[i$];
|
12 | color = (fn$());
|
13 | process.stdout.write(color(part.value));
|
14 | }
|
15 | return console.log(red('\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n'));
|
16 | function fn$(){
|
17 | switch (false) {
|
18 | case !part.added:
|
19 | return green;
|
20 | case !part.removed:
|
21 | return red;
|
22 | default:
|
23 | return grey;
|
24 | }
|
25 | }
|
26 | };
|
27 | module.exports = function(actual, expected, done){
|
28 | var differences;
|
29 | switch (false) {
|
30 | case !!actual:
|
31 | throw new Error("JsDiffConsole: parameter 2 is falsy");
|
32 | case !!expected:
|
33 | throw new Error("JsDiffConsole: parameter 1 is falsy");
|
34 | }
|
35 | differences = diff.diffJson(actual, expected);
|
36 | if (differences.length === 1) {
|
37 | return done();
|
38 | } else {
|
39 | logDifferences(differences);
|
40 | return done('mismatching records');
|
41 | }
|
42 | };
|
43 | }).call(this);
|