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 {},
);
}