import chalk from 'chalk';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
-import { ApplicationProtocol } from '../../types/UIProtocol';
-import Configuration from '../../utils/Configuration';
import type { AbstractUIServer } from './AbstractUIServer';
-import { UIServiceUtils } from './ui-services/UIServiceUtils';
-import UIHttpServer from './UIHttpServer';
-import UIWebSocketServer from './UIWebSocketServer';
+import { UIHttpServer } from './UIHttpServer';
+import { UIServerUtils } from './UIServerUtils';
+import { UIWebSocketServer } from './UIWebSocketServer';
+import { ApplicationProtocol, type UIServerConfiguration } from '../../types';
-export default class UIServerFactory {
+export class UIServerFactory {
private constructor() {
// This is intentional
}
public static getUIServerImplementation(
- applicationProtocol: ApplicationProtocol,
- uiServerConfiguration?: UIServerConfiguration
+ uiServerConfiguration: UIServerConfiguration,
): AbstractUIServer | null {
- if (UIServiceUtils.isLoopback(uiServerConfiguration.options?.host) === false) {
+ if (UIServerUtils.isLoopback(uiServerConfiguration.options!.host!) === false) {
console.warn(
- chalk.magenta(
- 'Loopback address not detected in UI server configuration. This is not recommended.'
- )
+ chalk.yellow(
+ 'Loopback address not detected in UI server configuration. This is not recommended.',
+ ),
);
}
- switch (applicationProtocol) {
+ switch (uiServerConfiguration.type) {
case ApplicationProtocol.WS:
- return new UIWebSocketServer(uiServerConfiguration ?? Configuration.getUIServer());
+ return new UIWebSocketServer(uiServerConfiguration);
case ApplicationProtocol.HTTP:
- return new UIHttpServer(uiServerConfiguration ?? Configuration.getUIServer());
+ return new UIHttpServer(uiServerConfiguration);
default:
return null;
}