mirror of
https://github.com/wahyd4/cdnjs.git
synced 2026-08-10 21:35:56 +10:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 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,
|
|
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;
|
|
|
|
}());
|