Comparing version 0.2.1 to 0.3.0
@@ -1,4 +0,4 @@ | ||
// Generated by IcedCoffeeScript 1.2.0t | ||
// Generated by IcedCoffeeScript 1.3.3f | ||
(function() { | ||
var colorizeWithAnsiEscapes, diff, fs, iced, tty, __iced_k, __iced_k_noop, | ||
var colorize, diff, fs, iced, tty, __iced_k, __iced_k_noop, | ||
__slice = [].slice; | ||
@@ -49,3 +49,3 @@ | ||
colorizeWithAnsiEscapes = require('./colorize').colorizeWithAnsiEscapes; | ||
colorize = require('./colorize').colorize; | ||
@@ -65,3 +65,3 @@ module.exports = function(argv) { | ||
parent: ___iced_passed_deferral, | ||
filename: "/Users/andreyvit/dev/mini/json-diff/lib/cli.iced", | ||
filename: "lib/cli.iced", | ||
funcname: "exports" | ||
@@ -89,2 +89,3 @@ }); | ||
})(function() { | ||
var _ref; | ||
if (err1) throw err1; | ||
@@ -98,3 +99,5 @@ if (err2) throw err2; | ||
result = diff(json1, json2); | ||
if (options.color == null) options.color = tty.isatty(process.stdout.fd); | ||
if ((_ref = options.color) == null) { | ||
options.color = tty.isatty(process.stdout.fd); | ||
} | ||
if (options.raw) { | ||
@@ -105,3 +108,3 @@ if (options.verbose) process.stderr.write("Serializing JSON output...\n"); | ||
if (options.verbose) process.stderr.write("Producing colored output...\n"); | ||
return process.stdout.write(colorizeWithAnsiEscapes(result, { | ||
return process.stdout.write(colorize(result, { | ||
color: options.color | ||
@@ -108,0 +111,0 @@ })); |
@@ -1,4 +0,4 @@ | ||
// Generated by IcedCoffeeScript 1.2.0t | ||
// Generated by IcedCoffeeScript 1.3.3f | ||
(function() { | ||
var Theme, color, colorize, colorizeToArray, colorizeWithAnsiEscapes, extendedTypeOf, subcolorize, | ||
var Theme, color, colorize, colorizeToArray, colorizeToCallback, extendedTypeOf, subcolorizeToCallback, | ||
__hasProp = {}.hasOwnProperty; | ||
@@ -18,4 +18,4 @@ | ||
subcolorize = function(key, diff, output, color, indent) { | ||
var item, looksLikeDiff, m, op, prefix, subindent, subkey, subvalue, _i, _j, _k, _len, _len2, _len3, _ref, _ref2; | ||
subcolorizeToCallback = function(key, diff, output, color, indent) { | ||
var item, looksLikeDiff, m, op, prefix, subindent, subkey, subvalue, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; | ||
prefix = key ? "" + key + ": " : ''; | ||
@@ -26,4 +26,4 @@ subindent = indent + ' '; | ||
if (('__old' in diff) && ('__new' in diff) && (Object.keys(diff).length === 2)) { | ||
subcolorize(key, diff.__old, output, '-', indent); | ||
return subcolorize(key, diff.__new, output, '+', indent); | ||
subcolorizeToCallback(key, diff.__old, output, '-', indent); | ||
return subcolorizeToCallback(key, diff.__new, output, '+', indent); | ||
} else { | ||
@@ -35,7 +35,7 @@ output(color, "" + indent + prefix + "{"); | ||
if (m = subkey.match(/^(.*)__deleted$/)) { | ||
subcolorize(m[1], subvalue, output, '-', subindent); | ||
subcolorizeToCallback(m[1], subvalue, output, '-', subindent); | ||
} else if (m = subkey.match(/^(.*)__added$/)) { | ||
subcolorize(m[1], subvalue, output, '+', subindent); | ||
subcolorizeToCallback(m[1], subvalue, output, '+', subindent); | ||
} else { | ||
subcolorize(subkey, subvalue, output, color, subindent); | ||
subcolorizeToCallback(subkey, subvalue, output, color, subindent); | ||
} | ||
@@ -56,6 +56,6 @@ } | ||
if (looksLikeDiff) { | ||
for (_j = 0, _len2 = diff.length; _j < _len2; _j++) { | ||
_ref2 = diff[_j], op = _ref2[0], subvalue = _ref2[1]; | ||
for (_j = 0, _len1 = diff.length; _j < _len1; _j++) { | ||
_ref1 = diff[_j], op = _ref1[0], subvalue = _ref1[1]; | ||
if (op === ' ' && !(subvalue != null)) { | ||
subcolorize('', '...', output, ' ', subindent); | ||
subcolorizeToCallback('', '...', output, ' ', subindent); | ||
} else { | ||
@@ -66,9 +66,9 @@ if (op !== ' ' && op !== '~' && op !== '+' && op !== '-') { | ||
if (op === '~') op = ' '; | ||
subcolorize('', subvalue, output, op, subindent); | ||
subcolorizeToCallback('', subvalue, output, op, subindent); | ||
} | ||
} | ||
} else { | ||
for (_k = 0, _len3 = diff.length; _k < _len3; _k++) { | ||
for (_k = 0, _len2 = diff.length; _k < _len2; _k++) { | ||
subvalue = diff[_k]; | ||
subcolorize('', subvalue, output, color, subindent); | ||
subcolorizeToCallback('', subvalue, output, color, subindent); | ||
} | ||
@@ -82,4 +82,4 @@ } | ||
colorize = function(diff, output) { | ||
return subcolorize('', diff, output, ' ', ''); | ||
colorizeToCallback = function(diff, output) { | ||
return subcolorizeToCallback('', diff, output, ' ', ''); | ||
}; | ||
@@ -90,3 +90,3 @@ | ||
output = []; | ||
colorize(diff, function(color, line) { | ||
colorizeToCallback(diff, function(color, line) { | ||
return output.push("" + color + line); | ||
@@ -97,9 +97,10 @@ }); | ||
colorizeWithAnsiEscapes = function(diff, options) { | ||
colorize = function(diff, options) { | ||
var output; | ||
if (options == null) options = {}; | ||
output = []; | ||
colorize(diff, function(color, line) { | ||
if (options.color) { | ||
return output.push(Theme[color]("" + color + line) + "\n"); | ||
colorizeToCallback(diff, function(color, line) { | ||
var _ref, _ref1, _ref2; | ||
if ((_ref = options.color) != null ? _ref : true) { | ||
return output.push(((_ref1 = (_ref2 = options.theme) != null ? _ref2[color] : void 0) != null ? _ref1 : Theme[color])("" + color + line) + "\n"); | ||
} else { | ||
@@ -115,5 +116,5 @@ return output.push("" + color + line + "\n"); | ||
colorizeToArray: colorizeToArray, | ||
colorizeWithAnsiEscapes: colorizeWithAnsiEscapes | ||
colorizeToCallback: colorizeToCallback | ||
}; | ||
}).call(this); |
@@ -1,4 +0,4 @@ | ||
// Generated by IcedCoffeeScript 1.2.0t | ||
// Generated by IcedCoffeeScript 1.3.3f | ||
(function() { | ||
var SequenceMatcher, arrayDiff, descalarize, diff, diffScore, diffWithScore, extendedTypeOf, findMatchingObject, isScalar, isScalarized, objectDiff, scalarize, | ||
var SequenceMatcher, arrayDiff, colorize, descalarize, diff, diffScore, diffString, diffWithScore, extendedTypeOf, findMatchingObject, isScalar, isScalarized, objectDiff, scalarize, | ||
__hasProp = {}.hasOwnProperty; | ||
@@ -10,2 +10,4 @@ | ||
colorize = require('./colorize').colorize; | ||
isScalar = function(obj) { | ||
@@ -16,3 +18,3 @@ return typeof obj !== 'object'; | ||
objectDiff = function(obj1, obj2) { | ||
var change, key, keys1, keys2, result, score, subscore, value1, value2, _ref, _ref2; | ||
var change, key, keys1, keys2, result, score, subscore, value1, value2, _ref, _ref1; | ||
result = {}; | ||
@@ -47,3 +49,3 @@ score = 0; | ||
if (Object.keys(result).length === 0) { | ||
_ref2 = [100 * Object.keys(obj1).length, void 0], score = _ref2[0], result = _ref2[1]; | ||
_ref1 = [100 * Object.keys(obj1).length, void 0], score = _ref1[0], result = _ref1[1]; | ||
} else { | ||
@@ -215,6 +217,11 @@ score = Math.max(0, score); | ||
diffString = function(obj1, obj2, options) { | ||
return colorize(diff(obj1, obj2), options); | ||
}; | ||
module.exports = { | ||
diff: diff | ||
diff: diff, | ||
diffString: diffString | ||
}; | ||
}).call(this); |
@@ -1,2 +0,2 @@ | ||
// Generated by IcedCoffeeScript 1.2.0t | ||
// Generated by IcedCoffeeScript 1.3.3f | ||
(function() { | ||
@@ -3,0 +3,0 @@ var extendedTypeOf; |
@@ -5,3 +5,3 @@ { | ||
"description": "JSON diff", | ||
"version": "0.2.1", | ||
"version": "0.3.0", | ||
"homepage": "https://github.com/andreyvit/json-diff", | ||
@@ -14,3 +14,4 @@ "repository": { | ||
"scripts": { | ||
"test": "./node_modules/mocha/bin/mocha" | ||
"test": "./node_modules/mocha/bin/mocha", | ||
"cov": "rm -rf lib-cov; jscoverage lib lib-cov; env JSLIB=lib-cov mocha -R dot && env JSLIB=lib-cov mocha -R html-cov >coverage.html; open coverage.html" | ||
}, | ||
@@ -23,3 +24,3 @@ "dependencies": { | ||
"devDependencies": { | ||
"mocha": "~1.0.1" | ||
"mocha": "~1.7.0" | ||
}, | ||
@@ -26,0 +27,0 @@ "optionalDependencies": {}, |
@@ -53,2 +53,6 @@ JSON structural diff | ||
Test coverage report: | ||
npm run-script cov | ||
Output: | ||
@@ -55,0 +59,0 @@ |
Sorry, the diff of this file is not supported yet
99
19533
8
429