ReportEvent.fromMap constructor
Rehydrates a ReportEvent from its map representation.
Implementation
factory ReportEvent.fromMap(Map<String, dynamic> map) {
final ex = map['exception'] as Map<String, dynamic>?;
final exception = ex != null
? SerializedException.fromMap(ex)
: SerializedException(
userMessage: 'Unknown error',
devMessage: 'Unknown error',
);
return ReportEvent(
id: map['id'] as String,
exception: exception,
context: (map['context'] as Map?)?.cast<String, dynamic>() ?? const {},
timestamp: DateTime.parse(map['timestamp'] as String),
fingerprints: (map['fingerprints'] as List?)?.cast<String>() ?? const [],
breadcrumbs: (map['breadcrumbs'] as List?)
?.cast<Map<dynamic, dynamic>>()
.map((m) => Breadcrumb.fromMap(m.cast<String, dynamic>()))
.toList() ??
const [],
attachments: (map['attachments'] as List?)
?.cast<Map<dynamic, dynamic>>()
.map((m) => Attachment.fromMap(m.cast<String, dynamic>()))
.toList() ??
const [],
handled: (map['handled'] as bool?) ?? true,
// Preserve the given map as the payload (already sanitized when read from outbox).
payload: Map<String, dynamic>.from(map),
);
}