loadAppSettings function

Future<SettingsLoadResult> loadAppSettings([
  1. SettingsLoader? loader
])

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

Implementation

Future<SettingsLoadResult> 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(twoCentsSettingsFilePath, parseMyTwoCentsConfigs),
  ]);
  final (appSettings, userSettings, blogConfigs) = results[0] as SharedSettings;
  return (
    appSettings,
    userSettings,
    blogConfigs,
    results[1] as List<MyTwoCentsConfig>,
  );
}