Skip to content

Commit 5dd8636

Browse files
committed
Re-organization.
1 parent 83e3651 commit 5dd8636

File tree

4 files changed

+68
-68
lines changed

4 files changed

+68
-68
lines changed

packages/shared/common/src/api/subsystem/LDEventSummarizer.ts

Lines changed: 0 additions & 66 deletions
This file was deleted.

packages/shared/common/src/internal/events/EventSummarizer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import LDEventSummarizer, {
22
FlagCounter,
33
FlagSummary,
44
SummarizedFlagsEvent,
5-
} from '../../api/subsystem/LDEventSummarizer';
5+
} from './LDEventSummarizer';
66
import Context from '../../Context';
77
import ContextFilter from '../../ContextFilter';
88
import { isFeature } from './guards';
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import InputEvent from '../../internal/events/InputEvent';
2+
3+
/**
4+
* @internal
5+
*/
6+
export interface FlagCounter {
7+
value: any;
8+
count: number;
9+
variation?: number;
10+
version?: number;
11+
unknown?: boolean;
12+
}
13+
14+
/**
15+
* @internal
16+
*/
17+
export interface FlagSummary {
18+
default: any;
19+
counters: FlagCounter[];
20+
contextKinds?: string[];
21+
}
22+
23+
/**
24+
* @internal
25+
*/
26+
export interface SummarizedFlagsEvent {
27+
startDate: number;
28+
endDate: number;
29+
features: Record<string, FlagSummary>;
30+
kind: 'summary';
31+
context?: any;
32+
}
33+
34+
/**
35+
* Interface for summarizing feature flag evaluations bucketed by the context.
36+
*/
37+
export interface LDMultiEventSummarizer {
38+
/**
39+
* Processes an event for summarization if it is a feature flag event and not excluded from summaries.
40+
* @param event The event to potentially summarize
41+
*/
42+
summarizeEvent(event: InputEvent): void;
43+
44+
/**
45+
* Gets the current summary of processed events.
46+
* @returns A summary of all processed feature flag events
47+
*/
48+
getSummaries(): SummarizedFlagsEvent[];
49+
}
50+
51+
/**
52+
* Interface for summarizing feature flag evaluation events.
53+
*/
54+
export default interface LDEventSummarizer {
55+
/**
56+
* Processes an event for summarization if it is a feature flag event and not excluded from summaries.
57+
* @param event The event to potentially summarize
58+
*/
59+
summarizeEvent(event: InputEvent): void;
60+
61+
/**
62+
* Gets the current summary of processed events.
63+
* @returns A summary of all processed feature flag events
64+
*/
65+
getSummary(): SummarizedFlagsEvent;
66+
}

packages/shared/common/src/internal/events/MultiEventSummarizer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Crypto } from '../../api';
2-
import { SummarizedFlagsEvent } from '../../api/subsystem/LDEventSummarizer';
2+
import { SummarizedFlagsEvent } from './LDEventSummarizer';
33
import ContextFilter from '../../ContextFilter';
44
import EventSummarizer from './EventSummarizer';
55
import { isFeature } from './guards';

0 commit comments

Comments
 (0)