Skip to content

Commit 30d3a85

Browse files
authored
Refactor event tracking config options for clarity. disabled by default (#188)
refactor event tracking config options for clarity. disabled by default
1 parent 75fcfcc commit 30d3a85

File tree

7 files changed

+24
-26
lines changed

7 files changed

+24
-26
lines changed

docs/js-client-sdk.iclientconfig.eventingestionconfig.md renamed to docs/js-client-sdk.iclientconfig.eventtracking.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
22

3-
[Home](./index.md) &gt; [@eppo/js-client-sdk](./js-client-sdk.md) &gt; [IClientConfig](./js-client-sdk.iclientconfig.md) &gt; [eventIngestionConfig](./js-client-sdk.iclientconfig.eventingestionconfig.md)
3+
[Home](./index.md) &gt; [@eppo/js-client-sdk](./js-client-sdk.md) &gt; [IClientConfig](./js-client-sdk.iclientconfig.md) &gt; [eventTracking](./js-client-sdk.iclientconfig.eventtracking.md)
44

5-
## IClientConfig.eventIngestionConfig property
5+
## IClientConfig.eventTracking property
66

77
Configuration settings for the event dispatcher
88

99
**Signature:**
1010

1111
```typescript
12-
eventIngestionConfig?: {
12+
eventTracking?: {
1313
batchSize?: number;
1414
deliveryIntervalMs?: number;
15-
disabled?: boolean;
15+
enabled?: boolean;
1616
maxQueueSize?: number;
1717
maxRetries?: number;
1818
maxRetryDelayMs?: number;

docs/js-client-sdk.iclientconfig.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ _(Optional)_ Enable the Overrides Store for local flag overrides. (default: fals
5757
</td></tr>
5858
<tr><td>
5959
60-
[eventIngestionConfig?](./js-client-sdk.iclientconfig.eventingestionconfig.md)
60+
[eventTracking?](./js-client-sdk.iclientconfig.eventtracking.md)
6161
6262
6363
</td><td>
6464
6565
6666
</td><td>
6767
68-
{ batchSize?: number; deliveryIntervalMs?: number; disabled?: boolean; maxQueueSize?: number; maxRetries?: number; maxRetryDelayMs?: number; retryIntervalMs?: number; }
68+
{ batchSize?: number; deliveryIntervalMs?: number; enabled?: boolean; maxQueueSize?: number; maxRetries?: number; maxRetryDelayMs?: number; retryIntervalMs?: number; }
6969
7070
7171
</td><td>

js-client-sdk.api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,10 @@ export { IBanditLogger }
146146
// @public
147147
export interface IClientConfig extends IBaseRequestConfig {
148148
enableOverrides?: boolean;
149-
eventIngestionConfig?: {
149+
eventTracking?: {
150150
batchSize?: number;
151151
deliveryIntervalMs?: number;
152-
disabled?: boolean;
152+
enabled?: boolean;
153153
maxQueueSize?: number;
154154
maxRetries?: number;
155155
maxRetryDelayMs?: number;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eppo/js-client-sdk",
3-
"version": "3.13.2",
3+
"version": "3.14.0",
44
"description": "Eppo SDK for client-side JavaScript applications",
55
"main": "dist/index.js",
66
"files": [

src/i-client-config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,13 @@ export interface IClientConfig extends IBaseRequestConfig {
158158
forceReinitialize?: boolean;
159159

160160
/** Configuration settings for the event dispatcher */
161-
eventIngestionConfig?: {
161+
eventTracking?: {
162162
/** Maximum number of events to send per delivery request. Defaults to 1000 events. */
163163
batchSize?: number;
164164
/** Number of milliseconds to wait between each batch delivery. Defaults to 10 seconds. */
165165
deliveryIntervalMs?: number;
166-
/** Whether to disable event ingestion. Defaults to false. */
167-
disabled?: boolean;
166+
/** Whether to enable event ingestion. Defaults to false. */
167+
enabled?: boolean;
168168
/**
169169
* Maximum number of events to queue in memory before starting to drop events.
170170
* Note: This is only used if localStorage is not available.

src/index.spec.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1451,7 +1451,8 @@ describe('EppoClient config', () => {
14511451
forceReinitialize: true,
14521452
apiKey: 'zCsQuoHJxVPp895.ZWg9MTIzNDU2LmUudGVzdGluZy5lcHBvLmNsb3Vk',
14531453
assignmentLogger: td.object<IAssignmentLogger>(),
1454-
eventIngestionConfig: {
1454+
eventTracking: {
1455+
enabled: true,
14551456
deliveryIntervalMs: 1,
14561457
retryIntervalMs: 2,
14571458
maxRetryDelayMs: 3,
@@ -1758,28 +1759,25 @@ describe('enableOverrides', () => {
17581759
expect(assignment).toBe('override-value');
17591760
});
17601761

1761-
describe('eventIngestionConfig', () => {
1762-
it('should not be used if eventIngestionConfig.disabled is true', async () => {
1762+
describe('eventTracking', () => {
1763+
it('should be disabled by default', async () => {
17631764
const client = await init({
17641765
apiKey,
17651766
baseUrl: `http://127.0.0.1`,
17661767
assignmentLogger: td.object<IAssignmentLogger>(),
17671768
forceReinitialize: true,
1768-
eventIngestionConfig: {
1769-
disabled: true,
1770-
},
17711769
});
17721770
expect(client['eventDispatcher']).toEqual(NO_OP_EVENT_DISPATCHER);
17731771
});
17741772

1775-
it('should be used if eventIngestionConfig.disabled is false', async () => {
1773+
it('should be used if eventTracking.enabled is true', async () => {
17761774
const client = await init({
17771775
apiKey,
17781776
baseUrl: `http://127.0.0.1`,
17791777
assignmentLogger: td.object<IAssignmentLogger>(),
17801778
forceReinitialize: true,
1781-
eventIngestionConfig: {
1782-
disabled: false,
1779+
eventTracking: {
1780+
enabled: true,
17831781
},
17841782
});
17851783
expect(client['eventDispatcher']).not.toEqual(NO_OP_EVENT_DISPATCHER);

src/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ export class EppoJSClient extends EppoClient {
302302
pollAfterSuccessfulInitialization = false,
303303
pollAfterFailedInitialization = false,
304304
skipInitialRequest = false,
305-
eventIngestionConfig,
305+
eventTracking,
306306
enableOverrides = false,
307307
} = config;
308308
try {
@@ -386,7 +386,7 @@ export class EppoJSClient extends EppoClient {
386386
skipInitialPoll: skipInitialRequest,
387387
};
388388
this.setConfigurationRequestParameters(requestConfiguration);
389-
this.setEventDispatcher(newEventDispatcher(apiKey, eventIngestionConfig));
389+
this.setEventDispatcher(newEventDispatcher(apiKey, eventTracking));
390390

391391
// We have two at-bats for initialization: from the configuration store and from fetching
392392
// We can resolve the initialization promise as soon as either one succeeds
@@ -985,19 +985,19 @@ export function getPrecomputedInstance(): EppoPrecomputedClient {
985985

986986
function newEventDispatcher(
987987
sdkKey: string,
988-
config: IClientConfig['eventIngestionConfig'] = {},
988+
config: IClientConfig['eventTracking'] = {},
989989
): EventDispatcher {
990990
// initialize config with default values
991991
const {
992992
batchSize = 1_000,
993993
deliveryIntervalMs = 10_000,
994-
disabled = false,
994+
enabled = false,
995995
maxQueueSize = 10_000,
996996
maxRetries = 3,
997997
maxRetryDelayMs = 30_000,
998998
retryIntervalMs = 5_000,
999999
} = config;
1000-
if (disabled) {
1000+
if (!enabled) {
10011001
return NO_OP_EVENT_DISPATCHER;
10021002
}
10031003
const eventQueue = hasWindowLocalStorage()

0 commit comments

Comments
 (0)