@@ -93,31 +93,17 @@ protected function configureOptions(OptionsResolver $resolver)
93
93
$ resolver ->setAllowedTypes ('debug ' , 'bool ' );
94
94
$ resolver ->setDefault ('referrals ' , false );
95
95
$ resolver ->setAllowedTypes ('referrals ' , 'bool ' );
96
+ $ resolver ->setDefault ('options ' , function (OptionsResolver $ options , Options $ parent ) {
97
+ $ options ->setDefined (array_map ('strtolower ' , array_keys ((new \ReflectionClass (ConnectionOptions::class))->getConstants ())));
96
98
97
- $ resolver ->setNormalizer ('options ' , function (Options $ options , $ value ) {
98
- if (true === $ options ['debug ' ]) {
99
- $ value ['debug_level ' ] = 7 ;
99
+ if (true === $ parent ['debug ' ]) {
100
+ $ options ->setDefault ('debug_level ' , 7 );
100
101
}
101
102
102
- if (!isset ($ value ['protocol_version ' ])) {
103
- $ value ['protocol_version ' ] = $ options ['version ' ];
104
- }
105
-
106
- if (!isset ($ value ['referrals ' ])) {
107
- $ value ['referrals ' ] = $ options ['referrals ' ];
108
- }
109
-
110
- return $ value ;
111
- });
112
-
113
- $ resolver ->setAllowedValues ('options ' , function (array $ values ) {
114
- foreach ($ values as $ name => $ value ) {
115
- if (!ConnectionOptions::isOption ($ name )) {
116
- return false ;
117
- }
118
- }
119
-
120
- return true ;
103
+ $ options ->setDefaults (array (
104
+ 'protocol_version ' => $ parent ['version ' ],
105
+ 'referrals ' => $ parent ['referrals ' ],
106
+ ));
121
107
});
122
108
}
123
109
0 commit comments