Skip to content

Commit 159df11

Browse files
committed
wip
1 parent 953c4e4 commit 159df11

File tree

4 files changed

+26
-17
lines changed

4 files changed

+26
-17
lines changed

src/client-options-converter.spec.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
} from '@eppo/js-client-sdk-common';
77
import * as td from 'testdouble';
88

9-
import { clientOptionsToParameters } from './client-options-converter';
9+
import { clientOptionsToEppoClientParameters } from './client-options-converter';
1010
import { IClientOptions } from './i-client-config';
1111
import { sdkName, sdkVersion } from './sdk-data';
1212

@@ -20,7 +20,7 @@ describe('clientOptionsToParameters', () => {
2020
assignmentLogger: { logAssignment: jest.fn() },
2121
};
2222

23-
const result = clientOptionsToParameters(options, mockStore);
23+
const result = clientOptionsToEppoClientParameters(options, mockStore);
2424

2525
expect(result.isObfuscated).toBe(true);
2626
expect(result.flagConfigurationStore).toBeDefined();
@@ -46,7 +46,7 @@ describe('clientOptionsToParameters', () => {
4646
assignmentLogger: { logAssignment: jest.fn() },
4747
};
4848

49-
const result = clientOptionsToParameters(options, mockStore);
49+
const result = clientOptionsToEppoClientParameters(options, mockStore);
5050

5151
expect(result.flagConfigurationStore).toBe(mockStore);
5252
});
@@ -58,7 +58,7 @@ describe('clientOptionsToParameters', () => {
5858
};
5959
const mockDispatcher: EventDispatcher = td.object<EventDispatcher>();
6060

61-
const result = clientOptionsToParameters(options, mockStore, mockDispatcher);
61+
const result = clientOptionsToEppoClientParameters(options, mockStore, mockDispatcher);
6262

6363
expect(result.eventDispatcher).toBeDefined();
6464
});
@@ -73,7 +73,7 @@ describe('clientOptionsToParameters', () => {
7373
skipInitialRequest: true,
7474
};
7575

76-
const result = clientOptionsToParameters(options, mockStore);
76+
const result = clientOptionsToEppoClientParameters(options, mockStore);
7777

7878
expect(result.configurationRequestParameters).toMatchObject({
7979
pollingIntervalMs: 30000,
@@ -92,7 +92,7 @@ describe('clientOptionsToParameters', () => {
9292
numPollRequestRetries: 2,
9393
};
9494

95-
const result = clientOptionsToParameters(options, mockStore);
95+
const result = clientOptionsToEppoClientParameters(options, mockStore);
9696

9797
expect(result.configurationRequestParameters).toMatchObject({
9898
requestTimeoutMs: 5000,
@@ -107,7 +107,7 @@ describe('clientOptionsToParameters', () => {
107107
assignmentLogger: { logAssignment: jest.fn() },
108108
};
109109

110-
const result = clientOptionsToParameters(options, mockStore);
110+
const result = clientOptionsToEppoClientParameters(options, mockStore);
111111

112112
expect(result.configurationRequestParameters).toMatchObject({
113113
baseUrl: undefined,
@@ -124,7 +124,7 @@ describe('clientOptionsToParameters', () => {
124124
assignmentLogger: { logAssignment: jest.fn() },
125125
};
126126

127-
const result = clientOptionsToParameters(options, mockStore);
127+
const result = clientOptionsToEppoClientParameters(options, mockStore);
128128

129129
expect(result.configurationRequestParameters).toMatchObject({
130130
sdkName,

src/client-options-converter.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
import {
2-
BanditParameters,
3-
BanditVariation, EppoClientParameters,
2+
EppoClientParameters,
43
EventDispatcher,
54
Flag,
6-
FlagConfigurationRequestParameters,
75
IConfigurationStore,
8-
ObfuscatedFlag,
96
} from '@eppo/js-client-sdk-common';
107

118
import { IClientOptions } from './i-client-config';
@@ -15,7 +12,7 @@ import { sdkName, sdkVersion } from './sdk-data';
1512
* Converts IClientOptions to EppoClientParameters
1613
* @internal
1714
*/
18-
export function clientOptionsToParameters(
15+
export function clientOptionsToEppoClientParameters(
1916
options: IClientOptions,
2017
flagConfigurationStore: IConfigurationStore<Flag>,
2118
eventDispatcher?: EventDispatcher,

src/i-client-config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ export type IClientOptions = IApiOptions &
258258
* @public
259259
*/
260260
export type IClientConfig = Omit<IClientOptions, 'sdkKey' | 'offline'> &
261-
Pick<IBaseRequestConfig, 'apiKey'>;
261+
Pick<IBaseRequestConfig, 'apiKey'>; // Could also just use `& IBaseRequestConfig` here instead of picking just `apiKey`.
262262

263263
export function convertClientOptionsToClientConfig(options: IClientOptions): IClientConfig {
264264
return {

src/index.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ import {
2121
IConfigurationWire,
2222
Subject,
2323
IBanditLogger,
24-
IObfuscatedPrecomputedConfigurationResponse, buildStorageKeySuffix, EppoClientParameters,
24+
IObfuscatedPrecomputedConfigurationResponse,
25+
buildStorageKeySuffix,
26+
EppoClientParameters,
2527
} from '@eppo/js-client-sdk-common';
2628

2729
import { assignmentCacheFactory } from './cache/assignment-cache-factory';
2830
import HybridAssignmentCache from './cache/hybrid-assignment-cache';
29-
import { clientOptionsToParameters } from './client-options-converter';
31+
import { clientOptionsToEppoClientParameters } from './client-options-converter';
3032
import {
3133
ConfigLoaderStatus,
3234
ConfigLoadResult,
@@ -105,7 +107,17 @@ const memoryOnlyPrecomputedBanditsStore = precomputedBanditStoreFactory();
105107
* @public
106108
*/
107109
export class EppoJSClient extends EppoClient {
110+
/**
111+
* Resolved when the client is initialized
112+
* @private
113+
*/
108114
private readonly readyPromise: Promise<void>;
115+
116+
/**
117+
* Used when the client is initialized from outside the constructor, namely, from the `init` or
118+
* `EppoJSClient.initializeClient` methods.
119+
* @private
120+
*/
109121
private readyPromiseResolver: (() => void) | null = null;
110122

111123
public static instance = new EppoJSClient({
@@ -119,7 +131,7 @@ export class EppoJSClient extends EppoClient {
119131

120132
super(
121133
v2Constructor
122-
? clientOptionsToParameters(
134+
? clientOptionsToEppoClientParameters(
123135
optionsOrConfig, // The IClientOptions wrapper
124136
optionsOrConfig.flagConfigurationStore ?? // create a new, memory only FCS if none was provided
125137
configurationStorageFactory({

0 commit comments

Comments
 (0)