SleepSession.fromMap constructor

SleepSession.fromMap(
  1. Map<String, dynamic> m
)

Implementation

factory SleepSession.fromMap(Map<String, dynamic> m) {
  final stagesRaw = m['stages'] as List<dynamic>? ?? [];
  final stages = stagesRaw
      .map((s) => SleepStage.fromMap(Map<String, dynamic>.from(s as Map)))
      .toList();

  final breakdownMap = m['breakdown'] as Map?;
  final breakdown = breakdownMap != null
      ? SleepBreakdown.fromMap(Map<String, dynamic>.from(breakdownMap))
      : SleepBreakdown.fromStages(stages);

  return SleepSession(
    start:           DateTime.fromMillisecondsSinceEpoch((m['startMs'] as num).toInt()),
    end:             DateTime.fromMillisecondsSinceEpoch((m['endMs'] as num).toInt()),
    durationMinutes: (m['durationMinutes'] as num?)?.toInt() ?? 0,
    source:          m['source'] as String? ?? '',
    device:          m['device'] as String? ?? '',
    title:           m['title'] as String? ?? '',
    notes:           m['notes'] as String? ?? '',
    stages:          stages,
    breakdown:       breakdown,
  );
}