Skip to content

Commit 2c8335e

Browse files
Add factory.destroy method
1 parent 76f785d commit 2c8335e

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

src/sdkClient/__tests__/sdkClientMethod.spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ const paramMocks = [
1414
sdkReadinessManager: { sdkStatus: jest.fn(), readinessManager: { destroy: jest.fn() } },
1515
signalListener: undefined,
1616
settings: { mode: CONSUMER_MODE, log: loggerMock, core: { authorizationKey: 'sdk key '} },
17-
telemetryTracker: telemetryTrackerFactory()
17+
telemetryTracker: telemetryTrackerFactory(),
18+
clients: {}
1819
},
1920
// SyncManager (i.e., Sync SDK) and Signal listener
2021
{
@@ -23,7 +24,8 @@ const paramMocks = [
2324
sdkReadinessManager: { sdkStatus: jest.fn(), readinessManager: { destroy: jest.fn() } },
2425
signalListener: { stop: jest.fn() },
2526
settings: { mode: STANDALONE_MODE, log: loggerMock, core: { authorizationKey: 'sdk key '} },
26-
telemetryTracker: telemetryTrackerFactory()
27+
telemetryTracker: telemetryTrackerFactory(),
28+
clients: {}
2729
}
2830
];
2931

src/sdkClient/sdkClientMethodCS.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,6 @@ export function sdkClientMethodCSFactory(params: ISdkFactoryContext): (key?: Spl
8383
log.debug(RETRIEVE_CLIENT_EXISTING);
8484
}
8585

86-
return clients[instanceId];
86+
return clients[instanceId] as SplitIO.ICsClient;
8787
};
8888
}

src/sdkClient/sdkClientMethodCSWithTT.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,6 @@ export function sdkClientMethodCSFactory(params: ISdkFactoryContext): (key?: Spl
9494
log.debug(RETRIEVE_CLIENT_EXISTING);
9595
}
9696

97-
return clients[instanceId];
97+
return clients[instanceId] as SplitIO.ICsClient;
9898
};
9999
}

src/sdkFactory/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,9 @@ export function sdkFactory(params: ISdkFactoryParams): SplitIO.ICsSDK | SplitIO.
105105
Logger: createLoggerAPI(log),
106106

107107
settings,
108+
109+
destroy() {
110+
return Promise.all(Object.keys(clients).map(key => clients[key].destroy())).then(() => {});
111+
}
108112
}, extraProps && extraProps(ctx));
109113
}

0 commit comments

Comments
 (0)