@@ -12,7 +12,8 @@ import { ISdkFactoryContextSync } from '../sdkFactory/types';
1212import { SDK_DEFINITIONS_CACHE_LOADED } from '../readiness/constants' ;
1313import { usesSegmentsSync } from '../storages/AbstractDefinitionsCacheSync' ;
1414import { splitChangesFetcherFactory } from './polling/fetchers/splitChangesFetcher' ;
15- import { IDefinitionChangesFetcher } from './polling/fetchers/types' ;
15+ import { IDefinitionChangesFetcher , ISegmentChangesFetcher } from './polling/fetchers/types' ;
16+ import { segmentChangesFetcherFactory } from './polling/fetchers/segmentChangesFetcher' ;
1617
1718/**
1819 * Online SyncManager factory.
@@ -24,9 +25,10 @@ import { IDefinitionChangesFetcher } from './polling/fetchers/types';
2425 * @param definitionChangesFetcherFactory - optional to replace the default split changes fetcher
2526 */
2627export function syncManagerOnlineFactory (
27- pollingManagerFactory ?: ( params : ISdkFactoryContextSync , definitionChangesFetcher : IDefinitionChangesFetcher ) => IPollingManager ,
28+ pollingManagerFactory ?: ( params : ISdkFactoryContextSync , definitionChangesFetcher : IDefinitionChangesFetcher , segmentChangesFetcher : ISegmentChangesFetcher ) => IPollingManager ,
2829 pushManagerFactory ?: ( params : ISdkFactoryContextSync , pollingManager : IPollingManager ) => IPushManager | undefined ,
29- definitionChangesFetcherFactory = splitChangesFetcherFactory
30+ definitionFetcherFactory = splitChangesFetcherFactory ,
31+ segmentFetcherFactory = ( params : ISdkFactoryContextSync ) => segmentChangesFetcherFactory ( params . splitApi . fetchSegmentChanges )
3032) : ( params : ISdkFactoryContextSync ) => ISyncManagerCS {
3133
3234 /**
@@ -37,15 +39,15 @@ export function syncManagerOnlineFactory(
3739 const { settings, settings : { log, streamingEnabled, sync : { enabled : syncEnabled } } , telemetryTracker, storage, readiness } = params ;
3840
3941 /** Polling Manager */
40- const pollingManager = pollingManagerFactory && pollingManagerFactory ( params , definitionChangesFetcherFactory ( params ) ) ;
42+ const pollingManager = pollingManagerFactory && pollingManagerFactory ( params , definitionFetcherFactory ( params ) , segmentFetcherFactory ( params ) ) ;
4143
4244 /** Push Manager */
4345 const pushManager = syncEnabled && streamingEnabled && pollingManager && pushManagerFactory ?
4446 pushManagerFactory ( params , pollingManager ) :
4547 undefined ;
4648
4749 /** Submitter Manager */
48- // It is not inyected as push and polling managers, because at the moment it is required
50+ // It is not injected as push and polling managers, because at the moment it is required
4951 const submitterManager = submitterManagerFactory ( params ) ;
5052
5153 /** Sync Manager logic */
0 commit comments