BloomAppConfig.fromBloomConfig constructor

BloomAppConfig.fromBloomConfig(
  1. BloomConfig config
)

Converts from an internal BloomConfig to a typed BloomAppConfig.

Implementation

factory BloomAppConfig.fromBloomConfig(BloomConfig config) {
  final pluginsList = <BloomPlugin>[];
  config.plugins.forEach((key, val) {
    pluginsList.add(BloomPlugin(
      key,
      config: val is Map ? Map<String, dynamic>.from(val) : {},
    ));
  });

  final flags = config.custom['feature_flags'] is Map
      ? Map<String, dynamic>.from(config.custom['feature_flags'] as Map)
      : <String, dynamic>{};

  return BloomAppConfig(
    schema: config.schema,
    name: config.name,
    version: config.version,
    buildNumber: config.buildNumber,
    description: config.description,
    mode: NativeMode.fromString(config.mode),
    platforms: PlatformsConfig(
      android: AndroidPlatform(
        minSdk: config.platforms.androidMinSdk,
        targetSdk: config.platforms.androidTargetSdk,
        package: config.platforms.androidPackage,
      ),
      ios: IosPlatform(
        minVersion: config.platforms.iosMinVersion,
        bundleIdentifier: config.platforms.iosBundleIdentifier,
      ),
      web: WebPlatform(
        title: config.platforms.webTitle,
      ),
    ),
    plugins: pluginsList,
    envFiles: config.envFiles,
    featureFlags: flags,
    custom: config.custom,
  );
}