loadConfig method

Json2DartConfig loadConfig(
  1. Map yamlConfig,
  2. ArgResults? argResults
)

Loads configuration from YAML file and command line arguments

yamlConfig - Configuration from the YAML file argResults - Command line arguments Returns a validated Json2DartConfig instance

Implementation

Json2DartConfig loadConfig(
  Map<dynamic, dynamic> yamlConfig,
  ArgResults? argResults,
) {
  // Extract YAML configuration
  final config = _extractYamlConfig(yamlConfig);

  // Override with command line arguments
  final finalConfig = _mergeWithArguments(config, argResults);

  // Validate configuration
  final errors = finalConfig.validate();
  if (errors.isNotEmpty) {
    throw ArgumentError(
        'Configuration validation failed:\n${errors.join('\n')}');
  }

  return finalConfig;
}