13
13
* See the License for the specific language governing permissions and
14
14
* limitations under the License.
15
15
*/
16
-
17
- import { LoggerFacade } from "./logging/logger" ;
18
16
import { Client , Config } from "./shared_types" ;
19
- import { Maybe } from "./utils/type" ;
20
- import configValidator from './utils/config_validator' ;
21
17
import { extractLogger } from "./logging/logger_factory" ;
22
18
import { extractErrorNotifier } from "./error/error_notifier_factory" ;
23
19
import { extractConfigManager } from "./project_config/config_manager_factory" ;
@@ -35,61 +31,50 @@ export type OptimizelyFactoryConfig = Config & {
35
31
requestHandler : RequestHandler ;
36
32
}
37
33
38
- export const getOptimizelyInstance = ( config : OptimizelyFactoryConfig ) : Client | null => {
39
- let logger : Maybe < LoggerFacade > ;
40
-
41
- try {
42
- logger = config . logger ? extractLogger ( config . logger ) : undefined ;
43
-
44
- configValidator . validate ( config ) ;
45
-
46
- const {
47
- clientEngine,
48
- clientVersion,
49
- jsonSchemaValidator,
50
- userProfileService,
51
- userProfileServiceAsync,
52
- defaultDecideOptions,
53
- disposable,
54
- requestHandler,
55
- } = config ;
56
-
57
- const errorNotifier = config . errorNotifier ? extractErrorNotifier ( config . errorNotifier ) : undefined ;
58
-
59
- const projectConfigManager = extractConfigManager ( config . projectConfigManager ) ;
60
- const eventProcessor = config . eventProcessor ? extractEventProcessor ( config . eventProcessor ) : undefined ;
61
- const odpManager = config . odpManager ? extractOdpManager ( config . odpManager ) : undefined ;
62
- const vuidManager = config . vuidManager ? extractVuidManager ( config . vuidManager ) : undefined ;
34
+ export const getOptimizelyInstance = ( config : OptimizelyFactoryConfig ) : Client => {
35
+ const {
36
+ clientEngine,
37
+ clientVersion,
38
+ jsonSchemaValidator,
39
+ userProfileService,
40
+ userProfileServiceAsync,
41
+ defaultDecideOptions,
42
+ disposable,
43
+ requestHandler,
44
+ } = config ;
45
+
46
+ const projectConfigManager = extractConfigManager ( config . projectConfigManager ) ;
47
+ const eventProcessor = extractEventProcessor ( config . eventProcessor ) ;
48
+ const odpManager = extractOdpManager ( config . odpManager ) ;
49
+ const vuidManager = extractVuidManager ( config . vuidManager ) ;
50
+ const errorNotifier = extractErrorNotifier ( config . errorNotifier ) ;
51
+ const logger = extractLogger ( config . logger ) ;
63
52
64
- const cmabClient = new DefaultCmabClient ( {
65
- requestHandler,
66
- } ) ;
53
+ const cmabClient = new DefaultCmabClient ( {
54
+ requestHandler,
55
+ } ) ;
67
56
68
- const cmabService = new DefaultCmabService ( {
69
- cmabClient,
70
- cmabCache : new InMemoryLruCache < CmabCacheValue > ( DEFAULT_CMAB_CACHE_SIZE , DEFAULT_CMAB_CACHE_TIMEOUT ) ,
71
- } ) ;
57
+ const cmabService = new DefaultCmabService ( {
58
+ cmabClient,
59
+ cmabCache : new InMemoryLruCache < CmabCacheValue > ( DEFAULT_CMAB_CACHE_SIZE , DEFAULT_CMAB_CACHE_TIMEOUT ) ,
60
+ } ) ;
72
61
73
- const optimizelyOptions = {
74
- cmabService,
75
- clientEngine : clientEngine || JAVASCRIPT_CLIENT_ENGINE ,
76
- clientVersion : clientVersion || CLIENT_VERSION ,
77
- jsonSchemaValidator,
78
- userProfileService,
79
- userProfileServiceAsync,
80
- defaultDecideOptions,
81
- disposable,
82
- logger,
83
- errorNotifier,
84
- projectConfigManager,
85
- eventProcessor,
86
- odpManager,
87
- vuidManager,
88
- } ;
62
+ const optimizelyOptions = {
63
+ cmabService,
64
+ clientEngine : clientEngine || JAVASCRIPT_CLIENT_ENGINE ,
65
+ clientVersion : clientVersion || CLIENT_VERSION ,
66
+ jsonSchemaValidator,
67
+ userProfileService,
68
+ userProfileServiceAsync,
69
+ defaultDecideOptions,
70
+ disposable,
71
+ logger,
72
+ errorNotifier,
73
+ projectConfigManager,
74
+ eventProcessor,
75
+ odpManager,
76
+ vuidManager,
77
+ } ;
89
78
90
- return new Optimizely ( optimizelyOptions ) ;
91
- } catch ( e ) {
92
- logger ?. error ( e ) ;
93
- return null ;
94
- }
79
+ return new Optimizely ( optimizelyOptions ) ;
95
80
}
0 commit comments