feat: print deprecation warnings once
[e-mobility-charging-stations-simulator.git] / src / utils / Configuration.ts
index 9a4db77fddbe19345c1a921b08abef43f630f2c9..4e908a5e0579dcf505f1bfbf8346c4e8f7010bce 100644 (file)
@@ -6,7 +6,7 @@ import chalk from 'chalk';
 import merge from 'just-merge';
 
 import { Constants } from './Constants';
-import { hasOwnProp, isCFEnvironment, isNotEmptyString, isUndefined } from './Utils';
+import { hasOwnProp, isCFEnvironment, isNotEmptyString, isUndefined, once } from './Utils';
 import {
   ApplicationProtocol,
   type ConfigurationData,
@@ -74,12 +74,12 @@ export class Configuration {
     return Configuration.configurationSectionCache.get(sectionName) as T;
   }
 
-  public static getAutoReconnectMaxRetries(): number | undefined {
-    return Configuration.getConfigurationData()?.autoReconnectMaxRetries;
-  }
-
   public static getStationTemplateUrls(): StationTemplateUrl[] | undefined {
-    Configuration.checkDeprecatedConfigurationKeys();
+    const checkDeprecatedConfigurationKeysOnce = once(
+      Configuration.checkDeprecatedConfigurationKeys.bind(Configuration),
+      this,
+    );
+    checkDeprecatedConfigurationKeysOnce();
     return Configuration.getConfigurationData()?.stationTemplateUrls;
   }