parse static method
The declaration in section, or null when there is none.
Throws DVCaptureConfigError for anything it cannot honour: an unknown
key, a type no adapter implements, a duration that is not one
(DV-CDC-006), and a connection written out rather than named
(DV-CDC-007).
Implementation
static DVCaptureConfig? parse(Object? section) {
if (section == null) return null;
final Map<Object?, Object?> map = _map(section, 'dartvel.capture');
_refuseUnknown(map, _keys, 'dartvel.capture');
final Duration retention = map['retention'] == null
? DVCapture.defaultRetention
: _duration(map['retention'], 'dartvel.capture.retention');
final Object? rawDestinations = map['destinations'];
final List<DVCaptureDestination> destinations = <DVCaptureDestination>[];
if (rawDestinations != null) {
final Map<Object?, Object?> declared =
_map(rawDestinations, 'dartvel.capture.destinations');
for (final MapEntry<Object?, Object?> entry in declared.entries) {
destinations.add(_destination('${entry.key}', entry.value));
}
}
return DVCaptureConfig(retention: retention, destinations: destinations);
}