DexcomEventData.fromJson constructor

DexcomEventData.fromJson({
  1. required Map<String, dynamic> json,
})

Generates a DexcomEventData obtained from a json.

Implementation

factory DexcomEventData.fromJson({required Map<String, dynamic> json}) {

  final EventType eventType;
  if(json['eventType'] == "carbs"){
    eventType = EventType.CARBS;
  } else if(json['eventType'] == "insulin"){
    eventType = EventType.INSULIN;
  }else if(json['eventType'] == "exercise"){
    eventType = EventType.EXERCISE;
  }else{
    eventType = EventType.HEALTH;
  }// if

  final EventSubtype? eventSubtype;
  if(json['eventSubtype'] == "fastActing"){
    eventSubtype = EventSubtype.FAST_ACTING;
  } else if(json['eventSubtype'] == "longActing"){
    eventSubtype = EventSubtype.LONG_ACTING;
  }else if(json['eventSubtype'] == "light"){
    eventSubtype = EventSubtype.LIGHT;
  }else if(json['eventSubtype'] == "medium"){
    eventSubtype = EventSubtype.MEDIUM;
  }else if(json['eventSubtype'] == "heavy"){
    eventSubtype = EventSubtype.HEAVY;
  }else if(json['eventSubtype'] == "illness"){
    eventSubtype = EventSubtype.ILLNESS;
  }else if(json['eventSubtype'] == "stress"){
    eventSubtype = EventSubtype.STRESS;
  }else if(json['eventSubtype'] == "highSymptoms"){
    eventSubtype = EventSubtype.HIGH_SYMPTOMS;
  }else if(json['eventSubtype'] == "lowSymptoms"){
    eventSubtype = EventSubtype.LOW_SYMPTOMS;
  }else if(json['eventSubtype'] == "cycle"){
    eventSubtype = EventSubtype.CYCLE;
  }else if(json['eventSubtype'] == "alcohol"){
    eventSubtype = EventSubtype.ALCOHOL;
  }else{
    eventSubtype = null;
  }// if

  final EventUnit? eventUnit;
  if(json['eventUnit'] == "grams"){
    eventUnit = EventUnit.GRAMS;
  } else if(json['eventUnit'] == "units"){
    eventUnit = EventUnit.UNITS;
  }else if(json['eventUnit'] == "minutes"){
    eventUnit = EventUnit.MINUTES;
  }else{
    eventUnit = null;
  }// if

  final EventStatus eventStatus;
  if(json['eventStatus'] == "created"){
    eventStatus = EventStatus.CREATED;
  }else{
    eventStatus = EventStatus.DELETED;
  }// if

  return DexcomEventData(
    eventType: eventType,
    eventSubtype: eventSubtype,
    systemTime: Formats.fullDateFormat.parse(json['systemTime']),
    displayTime: Formats.fullDateFormat.parse(json['displayTime']),
    value: json['value'] == null ? null : double.parse(json['value'].toString()),
    eventId: json['eventId'],
    eventUnit: eventUnit,
    eventStatus: eventStatus,
  );
}