jscpd
Version:
Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C languages
44 lines (40 loc) • 1.07 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var _;
_ = require('underscore');
module.exports = function() {
var clone, duplicates, fn, i, json, len, ref;
duplicates = [];
ref = this.map.clones;
fn = function(clone) {
return duplicates.push({
lines: clone.linesCount,
tokens: clone.tokensCount,
firstFile: {
start: clone.firstFileStart,
name: clone.firstFile
},
secondFile: {
start: clone.secondFileStart,
name: clone.secondFile
},
fragment: _.escape(clone.getLines())
});
};
for (i = 0, len = ref.length; i < len; i++) {
clone = ref[i];
fn(clone);
}
json = {
duplicates: duplicates,
statistics: {
clones: this.map.clones.length,
duplications: this.map.numberOfDuplication,
files: this.map.numberOfFiles,
percentage: this.map.getPercentage(),
lines: this.map.numberOfLines
}
};
return [json, JSON.stringify(json)];
};
}).call(this);