parseEnvVars function

Map<String, String> parseEnvVars(
  1. List<String>? rawEnvArgs
)

Parse an array of KEY=VALUE strings into a map.

Implementation

Map<String, String> parseEnvVars(List<String>? rawEnvArgs) {
  final parsedEnv = <String, String>{};
  if (rawEnvArgs == null) return parsedEnv;

  for (final envStr in rawEnvArgs) {
    final eqIndex = envStr.indexOf('=');
    if (eqIndex <= 0) {
      throw FormatException(
        'Invalid environment variable format: $envStr, '
        'environment variables should be added as: -e KEY1=value1 -e KEY2=value2',
      );
    }
    final key = envStr.substring(0, eqIndex);
    final value = envStr.substring(eqIndex + 1);
    parsedEnv[key] = value;
  }
  return parsedEnv;
}