Skip to content

Commit 760d89f

Browse files
committed
Responding to code review comments
1 parent 7cd64e3 commit 760d89f

1 file changed

Lines changed: 5 additions & 42 deletions

File tree

packages/sdk/server-node/contract-tests/src/sdkClientEntity.ts

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -142,14 +142,6 @@ interface CommandParams {
142142
};
143143
registerFlagChangeListener?: {
144144
listenerId: string;
145-
flagKey: string;
146-
callbackUri: string;
147-
};
148-
registerFlagValueChangeListener?: {
149-
listenerId: string;
150-
flagKey: string;
151-
context: LDContext;
152-
defaultValue: LDFlagValue;
153145
callbackUri: string;
154146
};
155147
unregisterListener?: {
@@ -542,8 +534,7 @@ export async function newSdkClientEntity(options: any): Promise<SdkClientEntity>
542534

543535
case 'registerFlagChangeListener': {
544536
const p = params.registerFlagChangeListener!;
545-
// 'update:key' fires for a specific flag; 'update' (no key) fires for any flag change.
546-
const eventName = p.flagKey ? `update:${p.flagKey}` : 'update';
537+
const eventName = 'update';
547538

548539
const handler = (eventParams: { key: string }) => {
549540
got
@@ -556,38 +547,10 @@ export async function newSdkClientEntity(options: any): Promise<SdkClientEntity>
556547
.catch(() => {});
557548
};
558549

559-
listeners.set(p.listenerId, { eventName, handler });
560-
client.on(eventName, handler);
561-
return undefined;
562-
}
563-
564-
case 'registerFlagValueChangeListener': {
565-
const p = params.registerFlagValueChangeListener!;
566-
const eventName = `update:${p.flagKey}`;
567-
568-
// Snapshot the current evaluated value so we can detect actual value changes.
569-
// On each SDK update event, re-evaluate and only notify the harness if the
570-
// evaluated value differs (using JSON comparison for deep equality).
571-
let oldValue = await client.variation(p.flagKey, p.context, p.defaultValue);
572-
573-
const handler = async () => {
574-
const newValue = await client.variation(p.flagKey, p.context, p.defaultValue);
575-
if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
576-
const previousValue = oldValue;
577-
oldValue = newValue;
578-
got
579-
.post(p.callbackUri, {
580-
json: {
581-
listenerId: p.listenerId,
582-
flagKey: p.flagKey,
583-
oldValue: previousValue,
584-
newValue,
585-
},
586-
})
587-
.catch(() => {});
588-
}
589-
};
590-
550+
const existing = listeners.get(p.listenerId);
551+
if (existing) {
552+
client.off(existing.eventName, existing.handler);
553+
}
591554
listeners.set(p.listenerId, { eventName, handler });
592555
client.on(eventName, handler);
593556
return undefined;

0 commit comments

Comments
 (0)