loadShared method

Future<SharedSettings> loadShared({
  1. required String userSettingsPath,
  2. required String appSettingsPath,
  3. required String blogSettingsPath,
})

The app, user and blog settings, read in parallel; the first failure is rethrown as it was thrown.

Implementation

Future<SharedSettings> loadShared({
  required String userSettingsPath,
  required String appSettingsPath,
  required String blogSettingsPath,
}) async {
  final List<Object> results = await Future.wait<Object>([
    load(userSettingsPath, parseUserSettings),
    load(appSettingsPath, parseAppSettings),
    load(blogSettingsPath, parseBlogPageConfigs),
  ]);
  return (
    results[1] as AppSettings,
    results[0] as UserSettings,
    results[2] as List<BlogPageConfig>,
  );
}