hm_sleep_data.dart 1.09 KB
class HmSleepData {
  HmSleepData({
    this.list,
  });

  HmSleepData.fromJson(dynamic json) {
    if (json['list'] != null) {
      list = [];
      json['list'].forEach((v) {
        list?.add(HmSleepDataItem.fromJson(v));
      });
    }
  }

  List<HmSleepDataItem>? list;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    if (list != null) {
      map['list'] = list?.map((v) => v.toJson()).toList();
    }
    return map;
  }
}

class HmSleepDataItem {
  HmSleepDataItem({
    this.fromTime,
    this.toTime,
    this.dataType,
  });

  HmSleepDataItem.fromJson(dynamic json) {
    fromTime = json['from_time'];
    toTime = json['to_time'];
    dataType = json['data_type'];
  }

  num? fromTime;
  num? toTime;

  /// Apple Health/iOS-compatible sleep stage.
  /// 0:卧床
  /// 1:睡眠(未指定)
  /// 2:清醒
  /// 3:核心睡眠
  /// 4:深睡
  /// 5:REM
  num? dataType;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['from_time'] = fromTime;
    map['to_time'] = toTime;
    map['data_type'] = dataType;
    return map;
  }
}