forked from sanbuphy/learn-coding-agent
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathuseMergedClients.ts
More file actions
23 lines (21 loc) · 745 Bytes
/
useMergedClients.ts
File metadata and controls
23 lines (21 loc) · 745 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import uniqBy from 'lodash-es/uniqBy.js'
import { useMemo } from 'react'
import type { MCPServerConnection } from '../services/mcp/types.js'
export function mergeClients(
initialClients: MCPServerConnection[] | undefined,
mcpClients: readonly MCPServerConnection[] | undefined,
): MCPServerConnection[] {
if (initialClients && mcpClients && mcpClients.length > 0) {
return uniqBy([...initialClients, ...mcpClients], 'name')
}
return initialClients || []
}
export function useMergedClients(
initialClients: MCPServerConnection[] | undefined,
mcpClients: MCPServerConnection[] | undefined,
): MCPServerConnection[] {
return useMemo(
() => mergeClients(initialClients, mcpClients),
[initialClients, mcpClients],
)
}