Skip to content

Commit 16d5c3b

Browse files
fix: build issues
1 parent a3a55d6 commit 16d5c3b

File tree

2 files changed

+33
-15
lines changed

2 files changed

+33
-15
lines changed

sdk/edge-worker-server/src/client.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
} from '@devcycle/server-request'
2525
import { generateBucketedConfig } from '@devcycle/bucketing'
2626
import { generateAggEvent, publishDevCycleEvents } from './eventsPublisher'
27+
import isArray from 'lodash/isArray'
2728

2829
const castIncomingUser = (user: DevCycleUser) => {
2930
if (!(user instanceof DevCycleUser)) {
@@ -141,7 +142,7 @@ export class DevCycleEdgeClient {
141142

142143
const dvcVariable = new DVCVariable(options)
143144

144-
const aggEvents = generateAggEvent(
145+
const aggEvent = generateAggEvent(
145146
populatedUser.user_id,
146147
dvcVariable.isDefaulted
147148
? EventTypes.aggVariableDefaulted
@@ -154,7 +155,7 @@ export class DevCycleEdgeClient {
154155
this.logger,
155156
this.sdkKey,
156157
populatedUser,
157-
aggEvents,
158+
[aggEvent],
158159
bucketedConfig.featureVariationMap,
159160
)
160161

@@ -199,6 +200,10 @@ export class DevCycleEdgeClient {
199200
return bucketedConfig?.features || {}
200201
}
201202

203+
private static checkDevCycleEvent(event: DevCycleEvent): void {
204+
checkParamDefined('type', event.type)
205+
}
206+
202207
async track(
203208
user: DevCycleUser,
204209
event: DevCycleEvent | DevCycleEvent[],
@@ -212,7 +217,11 @@ export class DevCycleEdgeClient {
212217
return
213218
}
214219

215-
checkParamDefined('type', event.type)
220+
if (isArray(event)) {
221+
event.forEach(DevCycleEdgeClient.checkDevCycleEvent)
222+
} else {
223+
DevCycleEdgeClient.checkDevCycleEvent(event)
224+
}
216225
const populatedUser = DVCPopulatedUserFromDevCycleUser(
217226
incomingUser,
218227
this.options,
@@ -226,7 +235,7 @@ export class DevCycleEdgeClient {
226235
this.logger,
227236
this.sdkKey,
228237
populatedUser,
229-
typeof event === 'object' ? [event] : event,
238+
isArray(event) ? event : [event],
230239
bucketedConfig.featureVariationMap,
231240
)
232241
}

sdk/edge-worker-server/src/eventsPublisher.ts

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,27 @@ import {
44
DVCRequestEvent,
55
publishEvents,
66
} from '@devcycle/server-request'
7-
import { BucketedUserConfig, DVCLogger, SDKEventBatchRequestBody } from '@devcycle/types'
7+
import {
8+
BucketedUserConfig,
9+
DVCLogger,
10+
SDKEventBatchRequestBody,
11+
} from '@devcycle/types'
812

913
export function generateAggEvent(
1014
user_id: string,
1115
type: string,
1216
variableKey: string,
1317
variableVariationMap: BucketedUserConfig['variableVariationMap'],
14-
): DVCRequestEvent[] {
15-
return new DVCRequestEvent({
16-
type,
17-
target: variableKey,
18-
value: 1,
19-
metaData: variableVariationMap[variableKey]
20-
}, user_id)
18+
): DVCRequestEvent {
19+
return new DVCRequestEvent(
20+
{
21+
type,
22+
target: variableKey,
23+
value: 1,
24+
metaData: variableVariationMap[variableKey],
25+
},
26+
user_id,
27+
)
2128
}
2229

2330
export async function publishDevCycleEvents(
@@ -45,9 +52,11 @@ export async function publishDevCycleEvents(
4552
}, body: ${await res.text()}`,
4653
)
4754
} else {
48-
this.logger.debug(
49-
`DevCycle Flushed ${requestEvents.length} Events`,
50-
)
55+
this.logger.debug(`DevCycle Flushed ${requestEvents.length} Events`)
5156
}
57+
} catch (ex) {
58+
this.logger.error(
59+
`DevCycle Error Flushing Events response message: ${ex.message}`,
60+
)
5261
}
5362
}

0 commit comments

Comments
 (0)