+ let options: ServerOptions = {
+ host: Constants.DEFAULT_UI_WEBSOCKET_SERVER_HOST,
+ port: Constants.DEFAULT_UI_WEBSOCKET_SERVER_PORT,
+ };
+ let uiServerConfiguration: UIServerConfiguration = {
+ enabled: true,
+ options,
+ };
+ if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'uiServer')) {
+ if (Configuration.objectHasOwnProperty(Configuration.getConfig().uiServer, 'options')) {
+ options = {
+ ...options,
+ ...(Configuration.objectHasOwnProperty(
+ Configuration.getConfig().uiServer.options,
+ 'host'
+ ) && { host: Configuration.getConfig().uiServer.options.host }),
+ ...(Configuration.objectHasOwnProperty(
+ Configuration.getConfig().uiServer.options,
+ 'port'
+ ) && { port: Configuration.getConfig().uiServer.options.port }),
+ };
+ }
+ uiServerConfiguration = {
+ ...uiServerConfiguration,
+ ...(Configuration.objectHasOwnProperty(Configuration.getConfig().uiServer, 'enabled') && {
+ enabled: Configuration.getConfig().uiServer.enabled,
+ }),
+ options,
+ };
+ }
+ return uiServerConfiguration;
+ }
+
+ static getPerformanceStorage(): StorageConfiguration {
+ Configuration.warnDeprecatedConfigurationKey('URI', 'performanceStorage', "Use 'uri' instead");
+ let storageConfiguration: StorageConfiguration = {
+ enabled: false,
+ type: StorageType.JSON_FILE,
+ uri: this.getDefaultPerformanceStorageUri(StorageType.JSON_FILE),
+ };
+ if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'performanceStorage')) {
+ storageConfiguration = {
+ ...storageConfiguration,
+ ...(Configuration.objectHasOwnProperty(
+ Configuration.getConfig().performanceStorage,
+ 'enabled'
+ ) && { enabled: Configuration.getConfig().performanceStorage.enabled }),
+ ...(Configuration.objectHasOwnProperty(
+ Configuration.getConfig().performanceStorage,
+ 'type'
+ ) && { type: Configuration.getConfig().performanceStorage.type }),
+ ...(Configuration.objectHasOwnProperty(
+ Configuration.getConfig().performanceStorage,
+ 'uri'
+ ) && {
+ uri: this.getDefaultPerformanceStorageUri(
+ Configuration.getConfig()?.performanceStorage?.type ?? StorageType.JSON_FILE
+ ),
+ }),
+ };
+ }
+ return storageConfiguration;