31 lines
989 B
TypeScript
31 lines
989 B
TypeScript
/**
|
|
* 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;
|
|
}
|