combine method
Implementation
EnvConfig? combine({required String directory}) {
final commands = <String>{};
final files = <String>{};
final variables = <String, String>{};
for (final config in this) {
if (config == null) continue;
for (var command in config.commands ?? <String>[]) {
command = command.replaceAll(Identifiers.concurrent, '');
commands.add(command);
}
files.addAll(config.files ?? []);
if (config.variables case final Map<String, String> vars
when vars.isNotEmpty) {
variables.addAll(vars);
}
}
if (commands.isEmpty && files.isEmpty && variables.isEmpty) {
return null;
}
return EnvConfig(
commands: commands.toList(),
files: files.toList(),
workingDirectory: directory,
variables: variables,
);
}