collect method

  1. @override
EnvironmentConfig collect()
override

Collects and returns the value produced by this wizard step.

Implementation

@override
EnvironmentConfig collect() {
  LoggerService.blank();
  LoggerService.info('Environment');

  final enabled = PromptService.confirm('Does project use environment files?',
      defaultValue: current?.enabled ?? true);

  if (!enabled) {
    return const EnvironmentConfig(enabled: false, configurations: {});
  }

  final configurations = <String, EnvironmentDetails>{};

  for (final target in flavors.flavors) {
    LoggerService.blank();
    LoggerService.command(target);

    final currentDetails = current?.configurationFor(target);

    configurations[target] = EnvironmentDetails(
        file: PromptService.ask('Environment file path',
            defaultValue:
                _resolvePath(target: target, current: currentDetails)));
  }

  return EnvironmentConfig(enabled: true, configurations: configurations);
}