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.
29 lines
760 B
29 lines
760 B
4 years ago
|
'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);
|
||
|
};
|