@@ -152,6 +152,11 @@ pub(super) enum TimelineEventKind {
152
152
}
153
153
154
154
impl TimelineEventKind {
155
+ /// Create a new [`TimelineEventKind::AddItem`] with no edit json.
156
+ fn add_item ( content : TimelineItemContent ) -> Self {
157
+ Self :: AddItem { content, edit_json : None }
158
+ }
159
+
155
160
/// Creates a new `TimelineEventKind`.
156
161
///
157
162
/// # Arguments
@@ -182,10 +187,7 @@ impl TimelineEventKind {
182
187
if let Some ( redacts) = ev. redacts ( & room_version) . map ( ToOwned :: to_owned) {
183
188
Self :: Redaction { redacts }
184
189
} else {
185
- Self :: AddItem {
186
- content : redacted_message_or_none ( ev. event_type ( ) ) ?,
187
- edit_json : None ,
188
- }
190
+ Self :: add_item ( redacted_message_or_none ( ev. event_type ( ) ) ?)
189
191
}
190
192
}
191
193
@@ -211,10 +213,7 @@ impl TimelineEventKind {
211
213
. await ;
212
214
}
213
215
214
- Self :: AddItem {
215
- content : TimelineItemContent :: unable_to_decrypt ( content, utd_cause) ,
216
- edit_json : None ,
217
- }
216
+ Self :: add_item ( TimelineItemContent :: unable_to_decrypt ( content, utd_cause) )
218
217
} else {
219
218
// If we get here, it means that some part of the code has created a
220
219
// `TimelineEvent` containing an `m.room.encrypted` event
@@ -228,41 +227,33 @@ impl TimelineEventKind {
228
227
}
229
228
}
230
229
Some ( content) => Self :: Message { content, relations : ev. relations ( ) } ,
231
- None => Self :: AddItem {
232
- content : redacted_message_or_none ( ev. event_type ( ) ) ?,
233
- edit_json : None ,
234
- } ,
230
+ None => Self :: add_item ( redacted_message_or_none ( ev. event_type ( ) ) ?) ,
235
231
} ,
236
232
237
233
AnySyncTimelineEvent :: State ( ev) => match ev {
238
234
AnySyncStateEvent :: RoomMember ( ev) => match ev {
239
- SyncStateEvent :: Original ( ev) => Self :: AddItem {
240
- content : TimelineItemContent :: room_member (
235
+ SyncStateEvent :: Original ( ev) => {
236
+ Self :: add_item ( TimelineItemContent :: room_member (
241
237
ev. state_key ,
242
238
FullStateEventContent :: Original {
243
239
content : ev. content ,
244
240
prev_content : ev. unsigned . prev_content ,
245
241
} ,
246
242
ev. sender ,
247
- ) ,
248
- edit_json : None ,
249
- } ,
250
- SyncStateEvent :: Redacted ( ev) => Self :: AddItem {
251
- content : TimelineItemContent :: room_member (
243
+ ) )
244
+ }
245
+ SyncStateEvent :: Redacted ( ev) => {
246
+ Self :: add_item ( TimelineItemContent :: room_member (
252
247
ev. state_key ,
253
248
FullStateEventContent :: Redacted ( ev. content ) ,
254
249
ev. sender ,
255
- ) ,
256
- edit_json : None ,
257
- } ,
258
- } ,
259
- ev => Self :: AddItem {
260
- content : TimelineItemContent :: OtherState ( OtherState {
261
- state_key : ev. state_key ( ) . to_owned ( ) ,
262
- content : AnyOtherFullStateEventContent :: with_event_content ( ev. content ( ) ) ,
263
- } ) ,
264
- edit_json : None ,
250
+ ) )
251
+ }
265
252
} ,
253
+ ev => Self :: add_item ( TimelineItemContent :: OtherState ( OtherState {
254
+ state_key : ev. state_key ( ) . to_owned ( ) ,
255
+ content : AnyOtherFullStateEventContent :: with_event_content ( ev. content ( ) ) ,
256
+ } ) ) ,
266
257
} ,
267
258
} )
268
259
}
@@ -273,36 +264,32 @@ impl TimelineEventKind {
273
264
) -> Self {
274
265
let error = Arc :: new ( error) ;
275
266
match event {
276
- SyncTimelineEventWithoutContent :: OriginalMessageLike ( ev) => Self :: AddItem {
277
- content : TimelineItemContent :: FailedToParseMessageLike {
267
+ SyncTimelineEventWithoutContent :: OriginalMessageLike ( ev) => {
268
+ Self :: add_item ( TimelineItemContent :: FailedToParseMessageLike {
278
269
event_type : ev. content . event_type ,
279
270
error,
280
- } ,
281
- edit_json : None ,
282
- } ,
283
- SyncTimelineEventWithoutContent :: RedactedMessageLike ( ev) => Self :: AddItem {
284
- content : TimelineItemContent :: FailedToParseMessageLike {
271
+ } )
272
+ }
273
+ SyncTimelineEventWithoutContent :: RedactedMessageLike ( ev) => {
274
+ Self :: add_item ( TimelineItemContent :: FailedToParseMessageLike {
285
275
event_type : ev. content . event_type ,
286
276
error,
287
- } ,
288
- edit_json : None ,
289
- } ,
290
- SyncTimelineEventWithoutContent :: OriginalState ( ev) => Self :: AddItem {
291
- content : TimelineItemContent :: FailedToParseState {
277
+ } )
278
+ }
279
+ SyncTimelineEventWithoutContent :: OriginalState ( ev) => {
280
+ Self :: add_item ( TimelineItemContent :: FailedToParseState {
292
281
event_type : ev. content . event_type ,
293
282
state_key : ev. state_key ,
294
283
error,
295
- } ,
296
- edit_json : None ,
297
- } ,
298
- SyncTimelineEventWithoutContent :: RedactedState ( ev) => Self :: AddItem {
299
- content : TimelineItemContent :: FailedToParseState {
284
+ } )
285
+ }
286
+ SyncTimelineEventWithoutContent :: RedactedState ( ev) => {
287
+ Self :: add_item ( TimelineItemContent :: FailedToParseState {
300
288
event_type : ev. content . event_type ,
301
289
state_key : ev. state_key ,
302
290
error,
303
- } ,
304
- edit_json : None ,
305
- } ,
291
+ } )
292
+ }
306
293
}
307
294
}
308
295
}
0 commit comments