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.
		
		
		
		
		
			
		
			
				
					27 lines
				
				749 B
			
		
		
			
		
	
	
					27 lines
				
				749 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; | ||
|  | 
 | ||
|  | function highWaterMarkFrom(options, isDuplex, duplexKey) { | ||
|  |   return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; | ||
|  | } | ||
|  | 
 | ||
|  | function getHighWaterMark(state, options, duplexKey, isDuplex) { | ||
|  |   var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); | ||
|  | 
 | ||
|  |   if (hwm != null) { | ||
|  |     if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { | ||
|  |       var name = isDuplex ? duplexKey : 'highWaterMark'; | ||
|  |       throw new ERR_INVALID_OPT_VALUE(name, hwm); | ||
|  |     } | ||
|  | 
 | ||
|  |     return Math.floor(hwm); | ||
|  |   } // Default value
 | ||
|  | 
 | ||
|  | 
 | ||
|  |   return state.objectMode ? 16 : 16 * 1024; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = { | ||
|  |   getHighWaterMark: getHighWaterMark | ||
|  | }; |