Skip to content

Commit 2b40c12

Browse files
committed
Remove as map for simplicity
1 parent aea100c commit 2b40c12

2 files changed

Lines changed: 7 additions & 30 deletions

File tree

packages/api/src/hooks/useGroupActivities.ts

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,10 @@ import useWebChatAPIContext from './internal/useWebChatAPIContext';
44

55
type GroupedActivities = readonly (readonly WebChatActivity[])[];
66

7-
type GroupedActivitiesAsMap = Map<string, GroupedActivities>;
8-
type GroupedActivitiesAsObject = Readonly<{
9-
[key: string]: GroupedActivities;
10-
}>;
11-
12-
export default function useGroupActivities(
13-
as: 'map'
14-
): ({ activities }: Readonly<{ activities: readonly WebChatActivity[] }>) => GroupedActivitiesAsMap;
15-
16-
export default function useGroupActivities(
17-
as?: 'object' | undefined
18-
): ({ activities }: Readonly<{ activities: readonly WebChatActivity[] }>) => GroupedActivitiesAsObject;
19-
20-
export default function useGroupActivities(
21-
as?: 'map' | 'object' | undefined
22-
): ({
7+
export default function useGroupActivities(): ({
238
activities
24-
}: Readonly<{ activities: readonly WebChatActivity[] }>) => GroupedActivitiesAsMap | GroupedActivitiesAsObject {
25-
const { groupActivities } = useWebChatAPIContext();
26-
27-
if (as === 'map') {
28-
return ({ activities }) => {
29-
const result = groupActivities({ activities });
30-
31-
return new Map<string, GroupedActivities>(Object.entries(result || {}));
32-
};
33-
}
34-
35-
return groupActivities;
9+
}: Readonly<{ activities: readonly WebChatActivity[] }>) => Readonly<{
10+
[key: string]: GroupedActivities;
11+
}> {
12+
return useWebChatAPIContext().groupActivities;
3613
}

packages/component/src/providers/GroupedRenderingActivities/GroupedRenderingActivitiesComposer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const GroupedRenderingActivitiesComposer = (props: GroupedRenderingActivitiesCom
3232
const [{ groupActivitiesBy }] = useStyleOptions();
3333
const [activities] = useRenderingActivities();
3434
const getKeyByActivity = useGetKeyByActivity();
35-
const groupActivities = useGroupActivities('map');
35+
const groupActivities = useGroupActivities();
3636

3737
const numRenderingActivitiesState = useMemo<readonly [number]>(
3838
() => Object.freeze([activities.length] as const),
@@ -42,7 +42,7 @@ const GroupedRenderingActivitiesComposer = (props: GroupedRenderingActivitiesCom
4242
const activitiesByGroupMap = useMemo<ReadonlyMap<string, readonly (readonly WebChatActivity[])[]>>(() => {
4343
const activitiesByGroupMap = new Map<string, readonly (readonly WebChatActivity[])[]>();
4444

45-
for (const [key, value] of groupActivities({ activities })) {
45+
for (const [key, value] of Object.entries(groupActivities({ activities }))) {
4646
if (!validateAllEntriesTagged(activities, value)) {
4747
console.warn(
4848
`botframework-webchat: Not every activities are grouped in the "${key}" property. Please fix "groupActivitiesMiddleware" and group every activities`

0 commit comments

Comments
 (0)