1
0
Fork 0
cc-server-parent/packages/ws/src/debug.ts

23 lines
844 B
TypeScript

import { TYPE } from './constants'
import { interfaces } from './interfaces'
import { getContainer } from '@cc-server/ioc'
import { getNamespaceMetadata, getNamespaceListenerMetadata } from './utils'
export function getNamespaceInfo() {
if (!getContainer().isBound(TYPE.Namespace)) { return [] };
let namespaces = getContainer().getAll<interfaces.Namespace>(TYPE.Namespace)
return namespaces.map(namespace => {
let namespaceMetadata = getNamespaceMetadata(namespace);
let listenerMetadata = getNamespaceListenerMetadata(namespace);
return {
namespace: namespaceMetadata.name,
listeners: listenerMetadata.map(listener => {
return {
event: listener.name,
method: listener.key,
}
})
}
})
}