fromJson static method

Implementation

static GameSessionTimelineEntry fromJson(Map<String, Object?> json) {
  final rawReasons = json['pauseReasons'];
  final reasons = <GamePauseReason>{};
  if (rawReasons is List) {
    for (final r in rawReasons) {
      final parsed = _pauseReasonFromJson(r);
      if (parsed != null) reasons.add(parsed);
    }
  }
  final rawMetadata = json['metadata'];
  return GameSessionTimelineEntry(
    offsetMs: json['offsetMs'] is int ? json['offsetMs'] as int : 0,
    phase: _phaseFromJson(json['phase']),
    pauseReasons: Set.unmodifiable(reasons),
    metadata: rawMetadata is Map
        ? Map.unmodifiable(rawMetadata.cast<String, Object?>())
        : const {},
  );
}