94 lines
1.5 KiB
JavaScript
94 lines
1.5 KiB
JavaScript
|
/**
|
||
|
* TODO license
|
||
|
* Outputter.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Outputter class.
|
||
|
* Abstract (not exported).
|
||
|
*/
|
||
|
function Outputter() {
|
||
|
//
|
||
|
// ATTRIBUTES
|
||
|
//
|
||
|
/**
|
||
|
* Output stream.
|
||
|
*/
|
||
|
this.out = null;
|
||
|
};
|
||
|
Outputter.prototype = {
|
||
|
//
|
||
|
// FUNCTIONS
|
||
|
//
|
||
|
|
||
|
/**
|
||
|
* Add header to request.
|
||
|
* Available before calling outputTo().
|
||
|
*/
|
||
|
addHeader: function (name, value) {},
|
||
|
|
||
|
/**
|
||
|
* Listen action 'data' event.
|
||
|
* Receive resource instance to output.
|
||
|
*/
|
||
|
output: function (resource) {
|
||
|
//TODO
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Listen action 'end' event.
|
||
|
* End of action data transmission.
|
||
|
*/
|
||
|
end: function() {
|
||
|
logger.debug('Action ended');
|
||
|
//TODO
|
||
|
this.out.end();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Set target stream and start outputting.
|
||
|
*/
|
||
|
outputTo: function(stream) {
|
||
|
this.out = stream;
|
||
|
}
|
||
|
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Outputter in json format.
|
||
|
*/
|
||
|
var JSONOutputter = function() {
|
||
|
Outputter.call(this);
|
||
|
logger.debug('JSON');
|
||
|
};
|
||
|
// inherits Outputter
|
||
|
JSONOutputter.prototype = Object.create(Outputter.prototype, {
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* Outputter in html.
|
||
|
*/
|
||
|
var HtmlOutputter = function() {
|
||
|
Outputter.call(this);
|
||
|
};
|
||
|
// inherits Outputter
|
||
|
HtmlOutputter.prototype = Object.create(Outputter.prototype, {
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* Outputter in text.
|
||
|
*/
|
||
|
var TextOutputter = function() {
|
||
|
Outputter.call(this);
|
||
|
};
|
||
|
// inherits Outputter
|
||
|
TextOutputter.prototype = Object.create(Outputter.prototype, {
|
||
|
});
|
||
|
|
||
|
//module.exports.JSONOutputter = JSONOutputter;
|
||
|
module.exports = {
|
||
|
JSONOutputter: JSONOutputter,
|
||
|
TextOutputter: TextOutputter,
|
||
|
HtmlOutputter: HtmlOutputter
|
||
|
};
|