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