You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
760 B
28 lines
760 B
'use strict';
|
|
|
|
var ReadableStream = require('stream').Readable,
|
|
inherits = require('util').inherits,
|
|
Serializer = require('./index');
|
|
|
|
var SerializerStream = module.exports = function (node, options) {
|
|
ReadableStream.call(this);
|
|
|
|
this.serializer = new Serializer(node, options);
|
|
|
|
Object.defineProperty(this.serializer, 'html', {
|
|
//NOTE: To make `+=` concat operator work properly we define
|
|
//getter which always returns empty string
|
|
get: function () {
|
|
return '';
|
|
},
|
|
set: this.push.bind(this)
|
|
});
|
|
};
|
|
|
|
inherits(SerializerStream, ReadableStream);
|
|
|
|
//Readable stream implementation
|
|
SerializerStream.prototype._read = function () {
|
|
this.serializer.serialize();
|
|
this.push(null);
|
|
};
|
|
|