| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import { ServiceDefinition } from './make-client'; |
| import { Server, UntypedServiceImplementation } from './server'; |
|
|
| interface GetServiceDefinition { |
| (): ServiceDefinition; |
| } |
|
|
| interface GetHandlers { |
| (): UntypedServiceImplementation; |
| } |
|
|
| const registeredAdminServices: { |
| getServiceDefinition: GetServiceDefinition; |
| getHandlers: GetHandlers; |
| }[] = []; |
|
|
| export function registerAdminService( |
| getServiceDefinition: GetServiceDefinition, |
| getHandlers: GetHandlers |
| ) { |
| registeredAdminServices.push({ getServiceDefinition, getHandlers }); |
| } |
|
|
| export function addAdminServicesToServer(server: Server): void { |
| for (const { getServiceDefinition, getHandlers } of registeredAdminServices) { |
| server.addService(getServiceDefinition(), getHandlers()); |
| } |
| } |
|
|