mirror of
https://github.com/brianc/node-postgres.git
synced 2026-01-25 16:03:13 +00:00
Use class-extends to wrap Pool (#1541)
* Use class-extends to wrap Pool * Minimize diff * Test `BoundPool` inheritance Co-authored-by: Charmander <~@charmander.me> Co-authored-by: Brian C <brian.m.carlson@gmail.com>
This commit is contained in:
parent
e85afe157f
commit
224703fc63
@ -7,25 +7,18 @@
|
||||
* README.md file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
var util = require('util')
|
||||
var Client = require('./client')
|
||||
var defaults = require('./defaults')
|
||||
var Connection = require('./connection')
|
||||
var Pool = require('pg-pool')
|
||||
const checkConstructor = require('./compat/check-constructor')
|
||||
|
||||
const poolFactory = (Client) => {
|
||||
var BoundPool = function (options) {
|
||||
// eslint-disable-next-line no-eval
|
||||
checkConstructor('pg.Pool', 'PG-POOL-NEW', () => eval('new.target'))
|
||||
|
||||
var config = Object.assign({ Client: Client }, options)
|
||||
return new Pool(config)
|
||||
return class BoundPool extends Pool {
|
||||
constructor (options) {
|
||||
var config = Object.assign({ Client: Client }, options)
|
||||
super(config)
|
||||
}
|
||||
}
|
||||
|
||||
util.inherits(BoundPool, Pool)
|
||||
|
||||
return BoundPool
|
||||
}
|
||||
|
||||
var PG = function (clientConstructor) {
|
||||
|
||||
25
packages/pg/test/integration/gh-issues/1542-tests.js
Normal file
25
packages/pg/test/integration/gh-issues/1542-tests.js
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
"use strict"
|
||||
const helper = require('./../test-helper')
|
||||
const assert = require('assert')
|
||||
|
||||
const suite = new helper.Suite()
|
||||
|
||||
suite.testAsync('BoundPool can be subclassed', async () => {
|
||||
const Pool = helper.pg.Pool;
|
||||
class SubPool extends Pool {
|
||||
|
||||
}
|
||||
const subPool = new SubPool()
|
||||
const client = await subPool.connect()
|
||||
client.release()
|
||||
await subPool.end()
|
||||
assert(subPool instanceof helper.pg.Pool)
|
||||
})
|
||||
|
||||
suite.test('calling pg.Pool without new throws', () => {
|
||||
const Pool = helper.pg.Pool;
|
||||
assert.throws(() => {
|
||||
const pool = Pool()
|
||||
})
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user