29 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			760 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'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);
 | 
						|
};
 |