the claude code sourcemaps leaked march 31
1import uniqBy from 'lodash-es/uniqBy.js'
2import { useMemo } from 'react'
3import type { MCPServerConnection } from '../services/mcp/types.js'
4
5export function mergeClients(
6 initialClients: MCPServerConnection[] | undefined,
7 mcpClients: readonly MCPServerConnection[] | undefined,
8): MCPServerConnection[] {
9 if (initialClients && mcpClients && mcpClients.length > 0) {
10 return uniqBy([...initialClients, ...mcpClients], 'name')
11 }
12 return initialClients || []
13}
14
15export function useMergedClients(
16 initialClients: MCPServerConnection[] | undefined,
17 mcpClients: MCPServerConnection[] | undefined,
18): MCPServerConnection[] {
19 return useMemo(
20 () => mergeClients(initialClients, mcpClients),
21 [initialClients, mcpClients],
22 )
23}