UNPKG

mecano

Version:

Common functions for system deployment.

61 lines (56 loc) 1.64 kB
// Generated by CoffeeScript 1.9.1 var diff, pad, string; module.exports = function(source, target, options) { var count_added, count_removed, i, len, line, lines, ls, padsize, results; if (!options.diff) { return; } lines = diff.diffLines(target, source); if (typeof options.diff === 'function') { options.diff(lines); } if (options.stdout) { count_added = count_removed = 0; padsize = Math.ceil(lines.length / 10); results = []; for (i = 0, len = lines.length; i < len; i++) { line = lines[i]; if (line.value === null) { continue; } if (!line.added && !line.removed) { count_added++; count_removed++; continue; } ls = string.lines(line.value); if (line.added) { results.push((function() { var j, len1, results1; results1 = []; for (j = 0, len1 = ls.length; j < len1; j++) { line = ls[j]; count_added++; results1.push(options.stdout.write((pad(padsize, '' + count_added)) + " + " + line + "\n")); } return results1; })()); } else { results.push((function() { var j, len1, results1; results1 = []; for (j = 0, len1 = ls.length; j < len1; j++) { line = ls[j]; count_removed++; results1.push(options.stdout.write((pad(padsize, '' + count_removed)) + " - " + line + "\n")); } return results1; })()); } } return results; } }; pad = require('pad'); diff = require('diff'); string = require('./string');