+ return Configuration.objectHasOwnProperty(Configuration.getConfig(), 'logStatisticsInterval')
+ ? Configuration.getConfig().logStatisticsInterval
+ : Constants.DEFAULT_LOG_STATISTICS_INTERVAL;
+ }
+
+ static getUIServer(): UIServerConfiguration {
+ if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'uiWebSocketServer')) {
+ console.error(
+ chalk`{green ${Configuration.logPrefix()}} {red Deprecated configuration section 'uiWebSocketServer' usage. Use 'uiServer' instead}`
+ );
+ }
+ 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;