// 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,
JSONReportStream;
JSONReportStream = function JSONReportStream_constructor(options) {
if (!(this instanceof JSONReportStream)) {
return new JSONReportStream(options);
}
Transform.call(this, {objectMode: true});
this.allOK = true;
};
util.inherits(JSONReportStream, Transform);
function JSONReportStream_transform(chunk, encoding, callback) {
// chunk: a package of lint data from JSLint
this.emit('data', JSON.stringify([chunk.file, chunk.linted.errors]));
this.allOK = this.allOK && chunk.linted.ok;
callback();
}
/*jslint nomen: true */
JSONReportStream.prototype._transform = JSONReportStream_transform;
module.exports = JSONReportStream;
}());