loadAppSettings function

Future<OmniBootstrapData> loadAppSettings([
  1. dynamic loader
])

Loads all settings files in parallel; a bad or missing file is logged and rethrown.

Implementation

Future<OmniBootstrapData> loadAppSettings([SettingsLoader? loader]) async {
  final SettingsLoader settings = loader ?? SettingsLoader();
  final List<Object> results = await Future.wait<Object>([
    settings.loadShared(
      userSettingsPath: userSettingsFilePath,
      appSettingsPath: appSettingsFilePath,
      blogSettingsPath: blogSettingsFilePath,
    ),
    settings.load(
      webrtcSettingsFilePath,
      (json) => WebRTCSettings.fromJsonFile(json as Map<String, dynamic>),
    ),
  ]);
  final (appSettings, userSettings, blogConfigs) = results[0] as SharedSettings;
  return (appSettings, userSettings, blogConfigs, results[1] as WebRTCSettings);
}