| 1 | import { serviceCapabilities } from '@libp2p/interface' |
| 2 | |
| 3 | export function gatherCapabilities (components: any): Record<string, string[]> { |
| 4 | const capabilities: Record<string, string[]> = {} |
| 5 | const services: Record<string, any> = components.components ?? components |
| 6 | |
| 7 | Object.entries(services).forEach(([name, component]) => { |
| 8 | if (component?.[serviceCapabilities] != null && Array.isArray(component[serviceCapabilities])) { |
| 9 | capabilities[name] = component[serviceCapabilities] |
| 10 | } |
| 11 | }) |
| 12 | |
| 13 | return capabilities |
| 14 | } |