validate method
Validate a flat config map against this schema, returning a ConfigValidation with accumulated errors.
Implementation
ConfigValidation validate(Map<String, dynamic> config) {
final errors = <String>[];
for (final entry in entries.values) {
if (config.containsKey(entry.key)) {
final raw = config[entry.key];
if (entry.validator != null) {
try {
if (!entry.validator!(raw)) {
errors.add('${entry.key}: value "$raw" failed validation');
}
} catch (e) {
errors.add('${entry.key}: validator threw — $e');
}
}
}
}
return ConfigValidation(isValid: errors.isEmpty, errors: errors);
}