parse static method

DVCaptureConfig? parse(
  1. Object? section
)

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);
}