File size: 1,019 Bytes
31dd200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**

 * Utility functions for conversation data manipulation

 */

/**

 * Creates a map of conversation IDs to their message counts from exported conversation data

 * @param exportedData - Array of exported conversations with their messages

 * @returns Map of conversation ID to message count

 */
export function createMessageCountMap(

	exportedData: Array<{ conv: DatabaseConversation; messages: DatabaseMessage[] }>

): Map<string, number> {
	const countMap = new Map<string, number>();

	for (const item of exportedData) {
		countMap.set(item.conv.id, item.messages.length);
	}

	return countMap;
}

/**

 * Gets the message count for a specific conversation from the count map

 * @param conversationId - The ID of the conversation

 * @param countMap - Map of conversation IDs to message counts

 * @returns The message count, or 0 if not found

 */
export function getMessageCount(conversationId: string, countMap: Map<string, number>): number {
	return countMap.get(conversationId) ?? 0;
}