HighlightMessage.fromJson constructor

HighlightMessage.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory HighlightMessage.fromJson(Map<String, dynamic> json) {
  final rawBounds = json['bounds'];
  final rawDuration = json['duration_ms'];
  return HighlightMessage(
    targetStableId: json['target_stable_id'] is String
        ? json['target_stable_id'] as String
        : null,
    targetIdentifier: json['target_identifier'] is String
        ? json['target_identifier'] as String
        : null,
    bounds: rawBounds is List &&
            rawBounds.length == 4 &&
            rawBounds.every((e) => e is num && e.isFinite)
        ? rawBounds.map((e) => (e as num).round()).toList(growable: false)
        : null,
    durationMs: rawDuration is num && rawDuration.isFinite
        ? rawDuration.toInt()
        : null,
    align: json['align'] is String ? json['align'] as String : null,
    clear: json['clear'] == true,
  );
}