@@ -8,27 +8,17 @@ import { createLoggerAPI } from '../logger/sdkLogger';
88import { NEW_FACTORY } from '../logger/constants' ;
99import { SDK_SPLITS_ARRIVED , SDK_SEGMENTS_ARRIVED , SDK_SPLITS_CACHE_LOADED } from '../readiness/constants' ;
1010import { objectAssign } from '../utils/lang/objectAssign' ;
11- import { strategyDebugFactory } from '../trackers/strategy/strategyDebug' ;
12- import { strategyOptimizedFactory } from '../trackers/strategy/strategyOptimized' ;
13- import { strategyNoneFactory } from '../trackers/strategy/strategyNone' ;
14- import { uniqueKeysTrackerFactory } from '../trackers/uniqueKeysTracker' ;
15- import { DEBUG , OPTIMIZED } from '../utils/constants' ;
16- import { setRolloutPlan } from '../storages/setRolloutPlan' ;
17- import { IStorageSync } from '../storages/types' ;
18- import { getMatching } from '../utils/key' ;
1911import { FallbackTreatmentsCalculator } from '../evaluator/fallbackTreatmentsCalculator' ;
2012import { sdkLifecycleFactory } from '../sdkClient/sdkLifecycle' ;
2113
2214/**
2315 * Modular SDK factory
2416 */
25- export function sdkConfigFactory ( params : ISdkFactoryParams ) : SplitIO . ConfigSDKClient {
17+ export function sdkConfigFactory ( params : ISdkFactoryParams ) : SplitIO . ConfigsClient {
2618
2719 const { settings, platform, storageFactory, splitApiFactory, extraProps,
28- syncManagerFactory, SignalListener, impressionsObserverFactory,
29- integrationsManagerFactory,
30- filterAdapterFactory } = params ;
31- const { log, sync : { impressionsMode } , initialRolloutPlan, core : { key } } = settings ;
20+ syncManagerFactory, SignalListener, integrationsManagerFactory } = params ;
21+ const { log } = settings ;
3222
3323 // @TODO handle non-recoverable errors, such as, global `fetch` not available, invalid SDK Key, etc.
3424 // On non-recoverable errors, we should mark the SDK as destroyed and not start synchronization.
@@ -54,31 +44,16 @@ export function sdkConfigFactory(params: ISdkFactoryParams): SplitIO.ConfigSDKCl
5444
5545 const fallbackTreatmentsCalculator = new FallbackTreatmentsCalculator ( settings . fallbackTreatments ) ;
5646
57- if ( initialRolloutPlan ) {
58- setRolloutPlan ( log , initialRolloutPlan , storage as IStorageSync , key && getMatching ( key ) ) ;
59- if ( ( storage as IStorageSync ) . splits . getChangeNumber ( ) > - 1 ) readiness . splits . emit ( SDK_SPLITS_CACHE_LOADED , { initialCacheLoad : false /* Not an initial load, cache exists */ } ) ;
60- }
61-
6247 const telemetryTracker = telemetryTrackerFactory ( storage . telemetry , platform . now ) ;
6348 const integrationsManager = integrationsManagerFactory && integrationsManagerFactory ( { settings, storage, telemetryTracker } ) ;
6449
65- const observer = impressionsObserverFactory ( ) ;
66- const uniqueKeysTracker = uniqueKeysTrackerFactory ( log , storage . uniqueKeys , filterAdapterFactory && filterAdapterFactory ( ) ) ;
67-
68- const noneStrategy = strategyNoneFactory ( storage . impressionCounts , uniqueKeysTracker ) ;
69- const strategy = impressionsMode === OPTIMIZED ?
70- strategyOptimizedFactory ( observer , storage . impressionCounts ) :
71- impressionsMode === DEBUG ?
72- strategyDebugFactory ( observer ) :
73- noneStrategy ;
74-
75- const impressionsTracker = impressionsTrackerFactory ( settings , storage . impressions , noneStrategy , strategy , integrationsManager , storage . telemetry ) ;
50+ const impressionsTracker = impressionsTrackerFactory ( params , storage , integrationsManager ) ;
7651 const eventTracker = eventTrackerFactory ( settings , storage . events , integrationsManager , storage . telemetry ) ;
7752
7853 // splitApi is used by SyncManager and Browser signal listener
7954 const splitApi = splitApiFactory && splitApiFactory ( settings , platform , telemetryTracker ) ;
8055
81- const ctx : ISdkFactoryContext = { clients : { } , splitApi, eventTracker, impressionsTracker, telemetryTracker, uniqueKeysTracker , sdkReadinessManager, readiness, settings, storage, platform, fallbackTreatmentsCalculator } ;
56+ const ctx : ISdkFactoryContext = { clients : { } , splitApi, eventTracker, impressionsTracker, telemetryTracker, sdkReadinessManager, readiness, settings, storage, platform, fallbackTreatmentsCalculator } ;
8257
8358 const syncManager = syncManagerFactory && syncManagerFactory ( ctx as ISdkFactoryContextSync ) ;
8459 ctx . syncManager = syncManager ;
0 commit comments