Skip to content

Commit c2f1e62

Browse files
uniqueKeysTracker required
1 parent b4c0350 commit c2f1e62

File tree

5 files changed

+13
-8
lines changed

5 files changed

+13
-8
lines changed

src/sdkClient/__tests__/sdkClientMethod.spec.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ const paramMocks = [
1616
signalListener: undefined,
1717
settings: { mode: CONSUMER_MODE, log: loggerMock, core: { authorizationKey: 'sdk key '} },
1818
telemetryTracker: telemetryTrackerFactory(),
19-
clients: {}
19+
clients: {},
20+
uniqueKeysTracker: { start: jest.fn(), stop: jest.fn() }
2021
},
2122
// SyncManager (i.e., Sync SDK) and Signal listener
2223
{
@@ -26,7 +27,8 @@ const paramMocks = [
2627
signalListener: { stop: jest.fn() },
2728
settings: { mode: STANDALONE_MODE, log: loggerMock, core: { authorizationKey: 'sdk key '} },
2829
telemetryTracker: telemetryTrackerFactory(),
29-
clients: {}
30+
clients: {},
31+
uniqueKeysTracker: { start: jest.fn(), stop: jest.fn() }
3032
}
3133
];
3234

@@ -70,6 +72,7 @@ test.each(paramMocks)('sdkClientMethodFactory', (params, done: any) => {
7072
client.destroy().then(() => {
7173
expect(params.sdkReadinessManager.readinessManager.destroy).toBeCalledTimes(1);
7274
expect(params.storage.destroy).toBeCalledTimes(1);
75+
expect(params.uniqueKeysTracker.stop).toBeCalledTimes(1);
7376

7477
if (params.syncManager) {
7578
expect(params.syncManager.stop).toBeCalledTimes(1);

src/sdkClient/__tests__/sdkClientMethodCS.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ const params = {
4646
settings: settingsWithKey,
4747
telemetryTracker: telemetryTrackerFactory(),
4848
clients: {},
49+
uniqueKeysTracker: { start: jest.fn(), stop: jest.fn() }
4950
};
5051

5152
const invalidAttributes = [
@@ -95,6 +96,7 @@ describe('sdkClientMethodCSFactory', () => {
9596
expect(params.syncManager.stop).toBeCalledTimes(1);
9697
expect(params.syncManager.flush).toBeCalledTimes(1);
9798
expect(params.signalListener.stop).toBeCalledTimes(1);
99+
expect(params.uniqueKeysTracker.stop).toBeCalledTimes(1);
98100
});
99101

100102
});

src/sdkClient/sdkClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export function sdkClientFactory(params: ISdkFactoryContext, isSharedClient?: bo
6161
releaseApiKey(settings.core.authorizationKey);
6262
telemetryTracker.sessionLength();
6363
signalListener && signalListener.stop();
64-
uniqueKeysTracker && uniqueKeysTracker.stop();
64+
uniqueKeysTracker.stop();
6565
}
6666

6767
// Stop background jobs

src/sdkFactory/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ export function sdkFactory(params: ISdkFactoryParams): SplitIO.ISDK | SplitIO.IA
5959
const integrationsManager = integrationsManagerFactory && integrationsManagerFactory({ settings, storage, telemetryTracker });
6060

6161
const observer = impressionsObserverFactory();
62-
const uniqueKeysTracker = impressionsMode === NONE ? uniqueKeysTrackerFactory(log, storage.uniqueKeys!, filterAdapterFactory && filterAdapterFactory()) : undefined;
62+
const uniqueKeysTracker = uniqueKeysTrackerFactory(log, storage.uniqueKeys, filterAdapterFactory && filterAdapterFactory());
6363

6464
let strategy;
6565
switch (impressionsMode) {
6666
case OPTIMIZED:
67-
strategy = strategyOptimizedFactory(observer, storage.impressionCounts!);
67+
strategy = strategyOptimizedFactory(observer, storage.impressionCounts);
6868
break;
6969
case NONE:
70-
strategy = strategyNoneFactory(storage.impressionCounts!, uniqueKeysTracker!);
70+
strategy = strategyNoneFactory(storage.impressionCounts, uniqueKeysTracker);
7171
break;
7272
default:
7373
strategy = strategyDebugFactory(observer);
@@ -99,7 +99,7 @@ export function sdkFactory(params: ISdkFactoryParams): SplitIO.ISDK | SplitIO.IA
9999
// We will just log and allow for the SDK to end up throwing an SDK_TIMEOUT event for devs to handle.
100100
validateAndTrackApiKey(log, settings.core.authorizationKey);
101101
readiness.init();
102-
uniqueKeysTracker && uniqueKeysTracker.start();
102+
uniqueKeysTracker.start();
103103
syncManager && syncManager.start();
104104
signalListener && signalListener.start();
105105

src/sdkFactory/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export interface ISdkFactoryContext {
4646
eventTracker: IEventTracker,
4747
telemetryTracker: ITelemetryTracker,
4848
storage: IStorageSync | IStorageAsync,
49-
uniqueKeysTracker?: IUniqueKeysTracker,
49+
uniqueKeysTracker: IUniqueKeysTracker,
5050
signalListener?: ISignalListener
5151
splitApi?: ISplitApi
5252
syncManager?: ISyncManager,

0 commit comments

Comments
 (0)