diff --git a/lib/src/event.dart b/lib/src/event.dart index b8979b46..1ac802f5 100644 --- a/lib/src/event.dart +++ b/lib/src/event.dart @@ -673,17 +673,11 @@ class Event extends MatrixEvent { /// Get the event ID that this relationship will reference. `null` if there is none String? get relationshipEventId { - if (!(content['m.relates_to'] is Map)) { - return null; - } - if (content['m.relates_to'].containsKey('event_id')) { - return content['m.relates_to']['event_id']; - } - if (content['m.relates_to']['m.in_reply_to'] is Map && - content['m.relates_to']['m.in_reply_to'].containsKey('event_id')) { - return content['m.relates_to']['m.in_reply_to']['event_id']; - } - return null; + final relatesToMap = content.tryGetMap('m.relates_to'); + return relatesToMap?.tryGet('event_id') ?? + relatesToMap + ?.tryGetMap('m.in_reply_to') + ?.tryGet('event_id'); } /// Get whether this event has aggregated events from a certain [type]