toBloomConfig method

BloomConfig toBloomConfig()

Converts this typed app configuration to the internal BloomConfig model.

Implementation

BloomConfig toBloomConfig() {
  final pluginsMap = <String, dynamic>{};
  for (final plugin in plugins) {
    pluginsMap[plugin.name] = plugin.config.isNotEmpty ? plugin.config : {'enabled': true};
  }

  return BloomConfig(
    schema: schema,
    name: name,
    version: version,
    buildNumber: buildNumber,
    description: description,
    mode: mode.name,
    platforms: BloomPlatforms(
      androidMinSdk: platforms.android.minSdk,
      androidTargetSdk: platforms.android.targetSdk,
      androidPackage: platforms.android.package,
      iosMinVersion: platforms.ios.minVersion,
      iosBundleIdentifier: platforms.ios.bundleIdentifier,
      webTitle: platforms.web.title,
    ),
    envFiles: envFiles,
    plugins: pluginsMap,
    custom: {
      'feature_flags': featureFlags,
      ...custom,
    },
  );
}