rxstack/rxstack

View on GitHub
packages/socketio-server/src/socketio.module.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import {Module, ModuleWithProviders, SERVER_REGISTRY} from '@rxstack/core';
import {SocketioServer} from './socketio.server';
import {SocketioServerConfiguration} from './socketio-server-configuration';

@Module()
export class SocketioModule {
  static configure(configuration?: SocketioServerConfiguration): ModuleWithProviders {
    return {
      module: SocketioModule,
      providers: [
        { provide: SERVER_REGISTRY, useClass: SocketioServer, multi: true },
        {
          provide: SocketioServerConfiguration,
          useFactory: () => {
            return Object.assign(new SocketioServerConfiguration(), configuration);
          },
          deps: []
        },
      ]
    };
  }
}