WorkspaceDartToolingConfig.fromMap constructor
Implementation
factory WorkspaceDartToolingConfig.fromMap(Map<Object?, Object?> value) {
Map<String, Object?> section(String key) {
final raw = value[key];
if (raw == null) return const {};
if (raw is! Map) {
throw FormatException('dartTooling.$key must be a mapping');
}
return Map.unmodifiable({
for (final e in raw.entries) '${e.key}': _freeze(e.value),
});
}
return WorkspaceDartToolingConfig(
extraction: section('extraction'),
analyzerPlugin: section('analyzerPlugin'),
buildHooks: section('buildHooks'),
generation: section('generation'),
extensions: Map.unmodifiable({
for (final entry in value.entries)
if (entry.key is String && !_knownKeys.contains(entry.key))
entry.key as String: _freeze(entry.value),
}),
);
}