pool_config.js 988 B

12345678910111213141516171819202122232425262728293031323334
  1. 'use strict';
  2. const ConnectionConfig = require('./connection_config.js');
  3. class PoolConfig {
  4. constructor(options) {
  5. if (typeof options === 'string') {
  6. options = ConnectionConfig.parseUrl(options);
  7. }
  8. this.connectionConfig = new ConnectionConfig(options);
  9. this.waitForConnections =
  10. options.waitForConnections === undefined
  11. ? true
  12. : Boolean(options.waitForConnections);
  13. this.connectionLimit = isNaN(options.connectionLimit)
  14. ? 10
  15. : Number(options.connectionLimit);
  16. this.maxIdle = isNaN(options.maxIdle)
  17. ? this.connectionLimit
  18. : Number(options.maxIdle);
  19. this.idleTimeout = isNaN(options.idleTimeout)
  20. ? 60000
  21. : Number(options.idleTimeout);
  22. this.queueLimit = isNaN(options.queueLimit)
  23. ? 0
  24. : Number(options.queueLimit);
  25. this.resetOnRelease =
  26. options.resetOnRelease === undefined
  27. ? false
  28. : Boolean(options.resetOnRelease);
  29. }
  30. }
  31. module.exports = PoolConfig;