AppConfig.fromYaml constructor
AppConfig.fromYaml(
- String yamlString
Implementation
factory AppConfig.fromYaml(String yamlString) {
try {
final yaml = loadYaml(yamlString) as YamlMap;
return AppConfig(
ignore:
_parseStringList(yaml['ignore']) ??
const [
'build/**',
'ios/**',
'android/**',
'web/**',
'macos/**',
'linux/**',
'windows/**',
'.dart_tool/**',
],
maxImageSizeMb: _parseDouble(yaml['max_image_size_mb']) ?? 1.0,
reportHtml: _parseBool(yaml['report']?['html']) ?? false,
reportJson: _parseBool(yaml['report']?['json']) ?? false,
reportMarkdown: _parseBool(yaml['report']?['markdown']) ?? false,
reportCsv: _parseBool(yaml['report']?['csv']) ?? false,
scoreMinimum: _parseInt(yaml['score']?['minimum']) ?? 80,
scoreWeights: ScoreWeights.fromYaml(
yaml['score']?['weights'] as YamlMap?,
),
rules: _parseMap<bool>(yaml['rules']),
severityLevels: _parseMap<String>(yaml['severity']),
backupEnabled: _parseBool(yaml['backup']?['enabled']) ?? true,
backupRetention: _parseInt(yaml['backup']?['retention']) ?? 5,
cacheEnabled: _parseBool(yaml['cache']?['enabled']) ?? true,
parallelScanning: _parseBool(yaml['parallel_scanning']) ?? true,
interactiveEnabled: _parseBool(yaml['interactive']?['enabled']) ?? true,
);
} catch (e) {
return const AppConfig();
}
}