Devices.fromIterable constructor Null safety

Devices.fromIterable(
  1. Iterable<Device> devices
)

Implementation

factory Devices.fromIterable(Iterable<Device> devices) {
  final camera = <Device>[];
  final microphone = <Device>[];
  final speaker = <Device>[];
  for (final device in devices) {
    switch (device.kind) {
      case DeviceKind.videoInput:
        camera.add(device);
        break;
      case DeviceKind.audioInput:
        microphone.add(device);
        break;
      case DeviceKind.audioOutput:
        speaker.add(device);
        break;
    }
  }
  return Devices(
    camera: List.unmodifiable(camera),
    microphone: List.unmodifiable(microphone),
    speaker: List.unmodifiable(speaker),
  );
}