UNPKG

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
"use strict"; 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==