mirror of
https://github.com/wahyd4/cdnjs.git
synced 2026-08-10 21:35:56 +10:00
61 lines
1.4 KiB
JavaScript
61 lines
1.4 KiB
JavaScript
// this file is lib/reportstream.js
|
|
// provides a stream interface to JSLint
|
|
//
|
|
// Copyright 2014 Cubane Canada Inc.
|
|
//
|
|
// Released under modified MIT/BSD 3-clause license
|
|
// See LICENSE for details.
|
|
|
|
/*jslint unparam: true*/
|
|
|
|
(function () {
|
|
'use strict';
|
|
|
|
var util = require('util'),
|
|
Transform = require('stream').Transform,
|
|
reporter = require('./reporter'),
|
|
ReportStream;
|
|
|
|
|
|
ReportStream = function ReportStream_constructor(options) {
|
|
var stream = this;
|
|
|
|
if (!(this instanceof ReportStream)) {
|
|
return new ReportStream(options);
|
|
}
|
|
|
|
options = options || {};
|
|
options.objectMode = true;
|
|
Transform.call(this, options);
|
|
|
|
this.reporter = reporter.makeReporter(
|
|
{
|
|
log: function (s) { stream.emit('data', s); },
|
|
err: function (s) { stream.emit('data', s); }
|
|
},
|
|
options.color,
|
|
options.terse
|
|
);
|
|
|
|
this.allOK = true;
|
|
|
|
};
|
|
util.inherits(ReportStream, Transform);
|
|
|
|
function ReportStream_transform(chunk, encoding, callback) {
|
|
// chunk: a package of lint data from JSLint
|
|
|
|
this.reporter.report(chunk.file, chunk.linted);
|
|
|
|
this.allOK = this.allOK && chunk.linted.ok;
|
|
|
|
callback();
|
|
}
|
|
|
|
/*jslint nomen: true */
|
|
ReportStream.prototype._transform = ReportStream_transform;
|
|
|
|
module.exports = ReportStream;
|
|
|
|
}());
|