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.
		
		
		
		
		
			
		
			
				
					30 lines
				
				765 B
			
		
		
			
		
	
	
					30 lines
				
				765 B
			| 
								 
											3 years ago
										 
									 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * node-compress-commons
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 2014 Chris Talkington, contributors.
							 | 
						||
| 
								 | 
							
								 * Licensed under the MIT license.
							 | 
						||
| 
								 | 
							
								 * https://github.com/archiverjs/node-compress-commons/blob/master/LICENSE-MIT
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								var Stream = require('stream').Stream;
							 | 
						||
| 
								 | 
							
								var PassThrough = require('readable-stream').PassThrough;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var util = module.exports = {};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								util.isStream = function(source) {
							 | 
						||
| 
								 | 
							
								  return source instanceof Stream;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								util.normalizeInputSource = function(source) {
							 | 
						||
| 
								 | 
							
								  if (source === null) {
							 | 
						||
| 
								 | 
							
								    return Buffer.alloc(0);
							 | 
						||
| 
								 | 
							
								  } else if (typeof source === 'string') {
							 | 
						||
| 
								 | 
							
								    return Buffer.from(source);
							 | 
						||
| 
								 | 
							
								  } else if (util.isStream(source) && !source._readableState) {
							 | 
						||
| 
								 | 
							
								    var normalized = new PassThrough();
							 | 
						||
| 
								 | 
							
								    source.pipe(normalized);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return normalized;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return source;
							 | 
						||
| 
								 | 
							
								};
							 |