jscpd
Version:
Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages
41 lines • 4.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var bytes = require("bytes");
var safe_1 = require("colors/safe");
var events_1 = require("../events");
var VerboseReporter = /** @class */ (function () {
function VerboseReporter(options) {
this.options = options;
this.sourceCount = 0;
this.startTime = process.hrtime();
}
VerboseReporter.prototype.attach = function (eventEmitter) {
eventEmitter.on(events_1.MATCH_SOURCE_EVENT, this.matchSource.bind(this));
eventEmitter.on(events_1.CLONE_FOUND_EVENT, this.cloneFound.bind(this));
eventEmitter.on(events_1.SOURCE_SKIPPED_EVENT, this.skipSource.bind(this));
};
VerboseReporter.prototype.report = function () { };
VerboseReporter.prototype.matchSource = function (source) {
this.sourceCount++;
console.log(safe_1.green('Source matched:'));
console.log(safe_1.grey(JSON.stringify(source, null, '\t')));
this.generateStatistic(source.format);
};
VerboseReporter.prototype.skipSource = function (source) {
console.log(safe_1.grey("Source skipped " + source.path + " (Size: " + bytes(source.size) + (source.lines ? ', Lines: ' + source.lines : '') + ")"));
};
VerboseReporter.prototype.cloneFound = function (clone) {
console.log(safe_1.red('Clone found:'));
console.log(safe_1.grey(JSON.stringify(clone, null, '\t')));
this.generateStatistic(clone.format);
};
VerboseReporter.prototype.generateStatistic = function (format) {
console.log(safe_1.bgBlue([parseHrtimeToSeconds(process.hrtime(this.startTime)), 'sec', format, this.sourceCount].join(' ')));
};
return VerboseReporter;
}());
exports.VerboseReporter = VerboseReporter;
function parseHrtimeToSeconds(hrtime) {
return (hrtime[0] + hrtime[1] / 1e9).toFixed(3);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYm9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvcnRlcnMvdmVyYm9zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUFnQztBQUNoQyxvQ0FBdUQ7QUFHdkQsb0NBQXdGO0FBSXhGO0lBSUUseUJBQXNCLE9BQWlCO1FBQWpCLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFGL0IsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFHOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGdDQUFNLEdBQWIsVUFBYyxZQUEwQjtRQUN0QyxZQUFZLENBQUMsRUFBRSxDQUFDLDJCQUFrQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakUsWUFBWSxDQUFDLEVBQUUsQ0FBQywwQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELFlBQVksQ0FBQyxFQUFFLENBQUMsNkJBQW9CLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sZ0NBQU0sR0FBYixjQUF1QixDQUFDO0lBRWhCLHFDQUFXLEdBQW5CLFVBQW9CLE1BQXNCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxvQ0FBVSxHQUFsQixVQUFtQixNQUFXO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQ1QsV0FBSSxDQUNGLG9CQUFrQixNQUFNLENBQUMsSUFBSSxnQkFBVyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQUcsQ0FDL0csQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG9DQUFVLEdBQWxCLFVBQW1CLEtBQWE7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLDJDQUFpQixHQUF6QixVQUEwQixNQUFjO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsYUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDMUcsQ0FBQztJQUNKLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUExQ0QsSUEwQ0M7QUExQ1ksMENBQWU7QUE0QzVCLFNBQVMsb0JBQW9CLENBQUMsTUFBd0I7SUFDcEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMifQ==
;