31 lines
		
	
	
		
			860 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			860 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const ConnectionConfig = require('./connection_config.js');
 | |
| 
 | |
| class PoolConfig {
 | |
|   constructor(options) {
 | |
|     if (typeof options === 'string') {
 | |
|       options = ConnectionConfig.parseUrl(options);
 | |
|     }
 | |
|     this.connectionConfig = new ConnectionConfig(options);
 | |
|     this.waitForConnections =
 | |
|       options.waitForConnections === undefined
 | |
|         ? true
 | |
|         : Boolean(options.waitForConnections);
 | |
|     this.connectionLimit = isNaN(options.connectionLimit)
 | |
|       ? 10
 | |
|       : Number(options.connectionLimit);
 | |
|     this.maxIdle = isNaN(options.maxIdle)
 | |
|       ? this.connectionLimit
 | |
|       : Number(options.maxIdle);
 | |
|     this.idleTimeout = isNaN(options.idleTimeout)
 | |
|       ? 60000
 | |
|       : Number(options.idleTimeout);
 | |
|     this.queueLimit = isNaN(options.queueLimit)
 | |
|       ? 0
 | |
|       : Number(options.queueLimit);
 | |
|   }
 | |
| }
 | |
| 
 | |
| module.exports = PoolConfig;
 |