Device.fromMap constructor

Device.fromMap(
  1. Map map
)

Implementation

factory Device.fromMap(Map<dynamic, dynamic> map) {
  List<DeviceType> deviceTypes = [];
  if (map['deviceTypes'] != null) {
    for (var type in map['deviceTypes']) {
      try {
        deviceTypes.add(DeviceType.values.firstWhere(
          (e) => e.name == type,
          orElse: () => DeviceType.CARD_READER,
        ));
      } catch (e) {
        // Skip invalid device types
      }
    }
  }

  List<ConnectionType> connectionTypes = [];
  if (map['connectionTypes'] != null) {
    for (var type in map['connectionTypes']) {
      try {
        connectionTypes.add(ConnectionType.values.firstWhere(
          (e) => e.name == type,
          orElse: () => ConnectionType.DEFAULT,
        ));
      } catch (e) {
        // Skip invalid connection types
      }
    }
  }

  return Device(
    name: map['name'] ?? '',
    deviceTypes: deviceTypes,
    connectionTypes: connectionTypes,
  );
}