@@ -13,7 +13,7 @@ var defaults = require('./defaults')
13
13
14
14
var parse = require ( 'pg-connection-string' ) . parse // parses a connection string
15
15
16
- var val = function ( key , config , envVar ) {
16
+ var val = function ( key , config , envVar , computed ) {
17
17
if ( envVar === undefined ) {
18
18
envVar = process . env [ 'PG' + key . toUpperCase ( ) ]
19
19
} else if ( envVar === false ) {
@@ -22,9 +22,13 @@ var val = function (key, config, envVar) {
22
22
envVar = process . env [ envVar ]
23
23
}
24
24
25
+ if ( computed === undefined ) {
26
+ computed = function ( key ) { return defaults [ key ] }
27
+ }
28
+
25
29
return config [ key ] ||
26
30
envVar ||
27
- defaults [ key ]
31
+ computed ( key )
28
32
}
29
33
30
34
var useSsl = function ( ) {
@@ -50,8 +54,11 @@ var ConnectionParameters = function (config) {
50
54
config = Object . assign ( { } , config , parse ( config . connectionString ) )
51
55
}
52
56
57
+ var dbDefaulting = function ( ) { return this . user || defaults [ 'database' ] }
58
+ dbDefaulting . bind ( this ) ;
59
+
53
60
this . user = val ( 'user' , config )
54
- this . database = val ( 'database' , config )
61
+ this . database = val ( 'database' , config , undefined , dbDefaulting )
55
62
this . port = parseInt ( val ( 'port' , config ) , 10 )
56
63
this . host = val ( 'host' , config )
57
64
this . password = val ( 'password' , config )
0 commit comments