SafetyParameters.fromParameters constructor

SafetyParameters.fromParameters(
  1. List<GemParameter> params
)

Implementation

factory SafetyParameters.fromParameters(List<GemParameter> params) {
  T? findValue<T>(String key) {
    for (final GemParameter param in params) {
      if (param.key == key) {
        return param.value as T?;
      }
    }
    return null;
  }

  return SafetyParameters(
    id: findValue<int>('id'),
    iconId: findValue<int>('icon'),
    country: findValue<String?>('Country'),
    angleIcon: findValue<int?>('angleIcon'),
    cameraTypeId: findValue<int?>('camera_type_id'),
    strCameraStatus: findValue<String?>('eStrCameraStatus'),
    strDrivingDirection: findValue<String?>('eStrDrivingDirection'),
    strLocation: findValue<String?>('eStrLocation'),
    strTowards: findValue<int?>('eStrTowards'),
    provider: findValue<String?>('provider'),
    providerId: findValue<int?>('provider_id'),
    speedUnit: findValue<String?>('speedUnit'),
    speedValue: findValue<int?>('speedValue'),
    type: findValue<String?>('type'),
    strDrivingDirectionFlag: findValue<bool?>('eStrDrivingDirectionFlag'),
    createStampUtc: (() {
      final int? ms = findValue<int>('create_stamp_utc');
      return ms == null ? null : DateTime.fromMillisecondsSinceEpoch(ms);
    })(),
  );
}