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);
							 | 
						||
| 
								 | 
							
								};
							 |