stream-chat 5.6.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -114
- package/dist/browser.es.js +464 -366
- package/dist/browser.es.js.map +1 -1
- package/dist/browser.full-bundle.min.js +1 -1
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/browser.js +464 -366
- package/dist/browser.js.map +1 -1
- package/dist/index.es.js +464 -366
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +464 -366
- package/dist/index.js.map +1 -1
- package/dist/types/channel.d.ts +124 -124
- package/dist/types/channel.d.ts.map +1 -1
- package/dist/types/channel_state.d.ts +41 -41
- package/dist/types/channel_state.d.ts.map +1 -1
- package/dist/types/client.d.ts +190 -163
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client_state.d.ts +6 -6
- package/dist/types/client_state.d.ts.map +1 -1
- package/dist/types/connection.d.ts +10 -10
- package/dist/types/connection.d.ts.map +1 -1
- package/dist/types/connection_fallback.d.ts +7 -7
- package/dist/types/connection_fallback.d.ts.map +1 -1
- package/dist/types/insights.d.ts +2 -2
- package/dist/types/token_manager.d.ts +6 -6
- package/dist/types/token_manager.d.ts.map +1 -1
- package/dist/types/types.d.ts +404 -236
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +2 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/channel.ts +196 -290
- package/src/channel_state.ts +54 -219
- package/src/client.ts +297 -524
- package/src/client_state.ts +6 -6
- package/src/connection.ts +7 -22
- package/src/connection_fallback.ts +7 -21
- package/src/token_manager.ts +6 -6
- package/src/types.ts +540 -487
- package/src/utils.ts +7 -11
package/src/channel_state.ts
CHANGED
|
@@ -4,84 +4,34 @@ import {
|
|
|
4
4
|
ChannelMembership,
|
|
5
5
|
FormatMessageResponse,
|
|
6
6
|
Event,
|
|
7
|
-
|
|
7
|
+
ExtendableGenerics,
|
|
8
|
+
DefaultGenerics,
|
|
8
9
|
MessageResponse,
|
|
9
10
|
ReactionResponse,
|
|
10
|
-
UR,
|
|
11
11
|
UserResponse,
|
|
12
12
|
} from './types';
|
|
13
13
|
|
|
14
|
-
type ChannelReadStatus<
|
|
14
|
+
type ChannelReadStatus<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = Record<
|
|
15
15
|
string,
|
|
16
|
-
{ last_read: Date; unread_messages: number; user: UserResponse<
|
|
16
|
+
{ last_read: Date; unread_messages: number; user: UserResponse<StreamChatGenerics> }
|
|
17
17
|
>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* ChannelState - A container class for the channel state.
|
|
21
21
|
*/
|
|
22
|
-
export class ChannelState<
|
|
23
|
-
|
|
24
|
-
ChannelType extends UR = UR,
|
|
25
|
-
CommandType extends string = LiteralStringForUnion,
|
|
26
|
-
EventType extends UR = UR,
|
|
27
|
-
MessageType extends UR = UR,
|
|
28
|
-
ReactionType extends UR = UR,
|
|
29
|
-
UserType extends UR = UR
|
|
30
|
-
> {
|
|
31
|
-
_channel: Channel<AttachmentType, ChannelType, CommandType, EventType, MessageType, ReactionType, UserType>;
|
|
22
|
+
export class ChannelState<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> {
|
|
23
|
+
_channel: Channel<StreamChatGenerics>;
|
|
32
24
|
watcher_count: number;
|
|
33
|
-
typing: Record<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
AttachmentType,
|
|
42
|
-
ChannelType,
|
|
43
|
-
CommandType,
|
|
44
|
-
EventType,
|
|
45
|
-
MessageType,
|
|
46
|
-
ReactionType,
|
|
47
|
-
UserType
|
|
48
|
-
>['formatMessage']
|
|
49
|
-
>
|
|
50
|
-
>;
|
|
51
|
-
pinnedMessages: Array<
|
|
52
|
-
ReturnType<
|
|
53
|
-
ChannelState<
|
|
54
|
-
AttachmentType,
|
|
55
|
-
ChannelType,
|
|
56
|
-
CommandType,
|
|
57
|
-
EventType,
|
|
58
|
-
MessageType,
|
|
59
|
-
ReactionType,
|
|
60
|
-
UserType
|
|
61
|
-
>['formatMessage']
|
|
62
|
-
>
|
|
63
|
-
>;
|
|
64
|
-
threads: Record<
|
|
65
|
-
string,
|
|
66
|
-
Array<
|
|
67
|
-
ReturnType<
|
|
68
|
-
ChannelState<
|
|
69
|
-
AttachmentType,
|
|
70
|
-
ChannelType,
|
|
71
|
-
CommandType,
|
|
72
|
-
EventType,
|
|
73
|
-
MessageType,
|
|
74
|
-
ReactionType,
|
|
75
|
-
UserType
|
|
76
|
-
>['formatMessage']
|
|
77
|
-
>
|
|
78
|
-
>
|
|
79
|
-
>;
|
|
80
|
-
mutedUsers: Array<UserResponse<UserType>>;
|
|
81
|
-
watchers: Record<string, UserResponse<UserType>>;
|
|
82
|
-
members: Record<string, ChannelMemberResponse<UserType>>;
|
|
25
|
+
typing: Record<string, Event<StreamChatGenerics>>;
|
|
26
|
+
read: ChannelReadStatus<StreamChatGenerics>;
|
|
27
|
+
messages: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>;
|
|
28
|
+
pinnedMessages: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>;
|
|
29
|
+
threads: Record<string, Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>>;
|
|
30
|
+
mutedUsers: Array<UserResponse<StreamChatGenerics>>;
|
|
31
|
+
watchers: Record<string, UserResponse<StreamChatGenerics>>;
|
|
32
|
+
members: Record<string, ChannelMemberResponse<StreamChatGenerics>>;
|
|
83
33
|
unreadCount: number;
|
|
84
|
-
membership: ChannelMembership<
|
|
34
|
+
membership: ChannelMembership<StreamChatGenerics>;
|
|
85
35
|
last_message_at: Date | null;
|
|
86
36
|
/**
|
|
87
37
|
* Flag which indicates if channel state contain latest/recent messages or no.
|
|
@@ -90,9 +40,7 @@ export class ChannelState<
|
|
|
90
40
|
* be pushed on to message list.
|
|
91
41
|
*/
|
|
92
42
|
isUpToDate: boolean;
|
|
93
|
-
constructor(
|
|
94
|
-
channel: Channel<AttachmentType, ChannelType, CommandType, EventType, MessageType, ReactionType, UserType>,
|
|
95
|
-
) {
|
|
43
|
+
constructor(channel: Channel<StreamChatGenerics>) {
|
|
96
44
|
this._channel = channel;
|
|
97
45
|
this.watcher_count = 0;
|
|
98
46
|
this.typing = {};
|
|
@@ -119,13 +67,13 @@ export class ChannelState<
|
|
|
119
67
|
/**
|
|
120
68
|
* addMessageSorted - Add a message to the state
|
|
121
69
|
*
|
|
122
|
-
* @param {MessageResponse<
|
|
70
|
+
* @param {MessageResponse<StreamChatGenerics>} newMessage A new message
|
|
123
71
|
* @param {boolean} timestampChanged Whether updating a message with changed created_at value.
|
|
124
72
|
* @param {boolean} addIfDoesNotExist Add message if it is not in the list, used to prevent out of order updated messages from being added.
|
|
125
73
|
*
|
|
126
74
|
*/
|
|
127
75
|
addMessageSorted(
|
|
128
|
-
newMessage: MessageResponse<
|
|
76
|
+
newMessage: MessageResponse<StreamChatGenerics>,
|
|
129
77
|
timestampChanged = false,
|
|
130
78
|
addIfDoesNotExist = true,
|
|
131
79
|
) {
|
|
@@ -136,12 +84,10 @@ export class ChannelState<
|
|
|
136
84
|
* formatMessage - Takes the message object. Parses the dates, sets __html
|
|
137
85
|
* and sets the status to received if missing. Returns a message object
|
|
138
86
|
*
|
|
139
|
-
* @param {MessageResponse<
|
|
87
|
+
* @param {MessageResponse<StreamChatGenerics>} message a message object
|
|
140
88
|
*
|
|
141
89
|
*/
|
|
142
|
-
formatMessage(
|
|
143
|
-
message: MessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType>,
|
|
144
|
-
): FormatMessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType> {
|
|
90
|
+
formatMessage(message: MessageResponse<StreamChatGenerics>): FormatMessageResponse<StreamChatGenerics> {
|
|
145
91
|
return {
|
|
146
92
|
...message,
|
|
147
93
|
/**
|
|
@@ -159,14 +105,14 @@ export class ChannelState<
|
|
|
159
105
|
/**
|
|
160
106
|
* addMessagesSorted - Add the list of messages to state and resorts the messages
|
|
161
107
|
*
|
|
162
|
-
* @param {Array<MessageResponse<
|
|
108
|
+
* @param {Array<MessageResponse<StreamChatGenerics>>} newMessages A list of messages
|
|
163
109
|
* @param {boolean} timestampChanged Whether updating messages with changed created_at value.
|
|
164
110
|
* @param {boolean} initializing Whether channel is being initialized.
|
|
165
111
|
* @param {boolean} addIfDoesNotExist Add message if it is not in the list, used to prevent out of order updated messages from being added.
|
|
166
112
|
*
|
|
167
113
|
*/
|
|
168
114
|
addMessagesSorted(
|
|
169
|
-
newMessages: MessageResponse<
|
|
115
|
+
newMessages: MessageResponse<StreamChatGenerics>[],
|
|
170
116
|
timestampChanged = false,
|
|
171
117
|
initializing = false,
|
|
172
118
|
addIfDoesNotExist = true,
|
|
@@ -243,12 +189,10 @@ export class ChannelState<
|
|
|
243
189
|
/**
|
|
244
190
|
* addPinnedMessages - adds messages in pinnedMessages property
|
|
245
191
|
*
|
|
246
|
-
* @param {Array<MessageResponse<
|
|
192
|
+
* @param {Array<MessageResponse<StreamChatGenerics>>} pinnedMessages A list of pinned messages
|
|
247
193
|
*
|
|
248
194
|
*/
|
|
249
|
-
addPinnedMessages(
|
|
250
|
-
pinnedMessages: MessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType>[],
|
|
251
|
-
) {
|
|
195
|
+
addPinnedMessages(pinnedMessages: MessageResponse<StreamChatGenerics>[]) {
|
|
252
196
|
for (let i = 0; i < pinnedMessages.length; i += 1) {
|
|
253
197
|
this.addPinnedMessage(pinnedMessages[i]);
|
|
254
198
|
}
|
|
@@ -257,12 +201,10 @@ export class ChannelState<
|
|
|
257
201
|
/**
|
|
258
202
|
* addPinnedMessage - adds message in pinnedMessages
|
|
259
203
|
*
|
|
260
|
-
* @param {MessageResponse<
|
|
204
|
+
* @param {MessageResponse<StreamChatGenerics>} pinnedMessage message to update
|
|
261
205
|
*
|
|
262
206
|
*/
|
|
263
|
-
addPinnedMessage(
|
|
264
|
-
pinnedMessage: MessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType>,
|
|
265
|
-
) {
|
|
207
|
+
addPinnedMessage(pinnedMessage: MessageResponse<StreamChatGenerics>) {
|
|
266
208
|
this.pinnedMessages = this._addToMessageList(
|
|
267
209
|
this.pinnedMessages,
|
|
268
210
|
this.formatMessage(pinnedMessage),
|
|
@@ -274,19 +216,17 @@ export class ChannelState<
|
|
|
274
216
|
/**
|
|
275
217
|
* removePinnedMessage - removes pinned message from pinnedMessages
|
|
276
218
|
*
|
|
277
|
-
* @param {MessageResponse<
|
|
219
|
+
* @param {MessageResponse<StreamChatGenerics>} message message to remove
|
|
278
220
|
*
|
|
279
221
|
*/
|
|
280
|
-
removePinnedMessage(
|
|
281
|
-
message: MessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType>,
|
|
282
|
-
) {
|
|
222
|
+
removePinnedMessage(message: MessageResponse<StreamChatGenerics>) {
|
|
283
223
|
const { result } = this.removeMessageFromArray(this.pinnedMessages, message);
|
|
284
224
|
this.pinnedMessages = result;
|
|
285
225
|
}
|
|
286
226
|
|
|
287
227
|
addReaction(
|
|
288
|
-
reaction: ReactionResponse<
|
|
289
|
-
message?: MessageResponse<
|
|
228
|
+
reaction: ReactionResponse<StreamChatGenerics>,
|
|
229
|
+
message?: MessageResponse<StreamChatGenerics>,
|
|
290
230
|
enforce_unique?: boolean,
|
|
291
231
|
) {
|
|
292
232
|
if (!message) return;
|
|
@@ -299,8 +239,8 @@ export class ChannelState<
|
|
|
299
239
|
}
|
|
300
240
|
|
|
301
241
|
_addOwnReactionToMessage(
|
|
302
|
-
ownReactions: ReactionResponse<
|
|
303
|
-
reaction: ReactionResponse<
|
|
242
|
+
ownReactions: ReactionResponse<StreamChatGenerics>[] | null | undefined,
|
|
243
|
+
reaction: ReactionResponse<StreamChatGenerics>,
|
|
304
244
|
enforce_unique?: boolean,
|
|
305
245
|
) {
|
|
306
246
|
if (enforce_unique) {
|
|
@@ -318,8 +258,8 @@ export class ChannelState<
|
|
|
318
258
|
}
|
|
319
259
|
|
|
320
260
|
_removeOwnReactionFromMessage(
|
|
321
|
-
ownReactions: ReactionResponse<
|
|
322
|
-
reaction: ReactionResponse<
|
|
261
|
+
ownReactions: ReactionResponse<StreamChatGenerics>[] | null | undefined,
|
|
262
|
+
reaction: ReactionResponse<StreamChatGenerics>,
|
|
323
263
|
) {
|
|
324
264
|
if (ownReactions) {
|
|
325
265
|
return ownReactions.filter((item) => item.user_id !== reaction.user_id || item.type !== reaction.type);
|
|
@@ -327,10 +267,7 @@ export class ChannelState<
|
|
|
327
267
|
return ownReactions;
|
|
328
268
|
}
|
|
329
269
|
|
|
330
|
-
removeReaction(
|
|
331
|
-
reaction: ReactionResponse<ReactionType, UserType>,
|
|
332
|
-
message?: MessageResponse<AttachmentType, ChannelType, CommandType, MessageType, ReactionType, UserType>,
|
|
333
|
-
) {
|
|
270
|
+
removeReaction(reaction: ReactionResponse<StreamChatGenerics>, message?: MessageResponse<StreamChatGenerics>) {
|
|
334
271
|
if (!message) return;
|
|
335
272
|
const messageWithReaction = message;
|
|
336
273
|
this._updateMessage(message, (msg) => {
|
|
@@ -340,28 +277,14 @@ export class ChannelState<
|
|
|
340
277
|
return messageWithReaction;
|
|
341
278
|
}
|
|
342
279
|
|
|
343
|
-
removeQuotedMessageReferences(
|
|
344
|
-
|
|
345
|
-
) {
|
|
346
|
-
const parseMessage = (
|
|
347
|
-
m: ReturnType<
|
|
348
|
-
ChannelState<
|
|
349
|
-
AttachmentType,
|
|
350
|
-
ChannelType,
|
|
351
|
-
CommandType,
|
|
352
|
-
EventType,
|
|
353
|
-
MessageType,
|
|
354
|
-
ReactionType,
|
|
355
|
-
UserType
|
|
356
|
-
>['formatMessage']
|
|
357
|
-
>,
|
|
358
|
-
) =>
|
|
280
|
+
removeQuotedMessageReferences(message: MessageResponse<StreamChatGenerics>) {
|
|
281
|
+
const parseMessage = (m: ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>) =>
|
|
359
282
|
(({
|
|
360
283
|
...m,
|
|
361
284
|
created_at: m.created_at.toString(),
|
|
362
285
|
pinned_at: m.pinned_at?.toString(),
|
|
363
286
|
updated_at: m.updated_at?.toString(),
|
|
364
|
-
} as unknown) as MessageResponse<
|
|
287
|
+
} as unknown) as MessageResponse<StreamChatGenerics>);
|
|
365
288
|
|
|
366
289
|
const updatedMessages = this.messages
|
|
367
290
|
.filter((msg) => msg.quoted_message_id === message.id)
|
|
@@ -384,28 +307,8 @@ export class ChannelState<
|
|
|
384
307
|
show_in_channel?: boolean;
|
|
385
308
|
},
|
|
386
309
|
updateFunc: (
|
|
387
|
-
msg: ReturnType<
|
|
388
|
-
|
|
389
|
-
AttachmentType,
|
|
390
|
-
ChannelType,
|
|
391
|
-
CommandType,
|
|
392
|
-
EventType,
|
|
393
|
-
MessageType,
|
|
394
|
-
ReactionType,
|
|
395
|
-
UserType
|
|
396
|
-
>['formatMessage']
|
|
397
|
-
>,
|
|
398
|
-
) => ReturnType<
|
|
399
|
-
ChannelState<
|
|
400
|
-
AttachmentType,
|
|
401
|
-
ChannelType,
|
|
402
|
-
CommandType,
|
|
403
|
-
EventType,
|
|
404
|
-
MessageType,
|
|
405
|
-
ReactionType,
|
|
406
|
-
UserType
|
|
407
|
-
>['formatMessage']
|
|
408
|
-
>,
|
|
310
|
+
msg: ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>,
|
|
311
|
+
) => ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>,
|
|
409
312
|
) {
|
|
410
313
|
const { parent_id, show_in_channel, pinned } = message;
|
|
411
314
|
|
|
@@ -448,37 +351,15 @@ export class ChannelState<
|
|
|
448
351
|
/**
|
|
449
352
|
* _addToMessageList - Adds a message to a list of messages, tries to update first, appends if message isn't found
|
|
450
353
|
*
|
|
451
|
-
* @param {Array<ReturnType<ChannelState<
|
|
354
|
+
* @param {Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>} messages A list of messages
|
|
452
355
|
* @param message
|
|
453
356
|
* @param {boolean} timestampChanged Whether updating a message with changed created_at value.
|
|
454
357
|
* @param {string} sortBy field name to use to sort the messages by
|
|
455
358
|
* @param {boolean} addIfDoesNotExist Add message if it is not in the list, used to prevent out of order updated messages from being added.
|
|
456
359
|
*/
|
|
457
360
|
_addToMessageList(
|
|
458
|
-
messages: Array<
|
|
459
|
-
|
|
460
|
-
ChannelState<
|
|
461
|
-
AttachmentType,
|
|
462
|
-
ChannelType,
|
|
463
|
-
CommandType,
|
|
464
|
-
EventType,
|
|
465
|
-
MessageType,
|
|
466
|
-
ReactionType,
|
|
467
|
-
UserType
|
|
468
|
-
>['formatMessage']
|
|
469
|
-
>
|
|
470
|
-
>,
|
|
471
|
-
message: ReturnType<
|
|
472
|
-
ChannelState<
|
|
473
|
-
AttachmentType,
|
|
474
|
-
ChannelType,
|
|
475
|
-
CommandType,
|
|
476
|
-
EventType,
|
|
477
|
-
MessageType,
|
|
478
|
-
ReactionType,
|
|
479
|
-
UserType
|
|
480
|
-
>['formatMessage']
|
|
481
|
-
>,
|
|
361
|
+
messages: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>,
|
|
362
|
+
message: ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>,
|
|
482
363
|
timestampChanged = false,
|
|
483
364
|
sortBy: 'pinned_at' | 'created_at' = 'created_at',
|
|
484
365
|
addIfDoesNotExist = true,
|
|
@@ -570,19 +451,7 @@ export class ChannelState<
|
|
|
570
451
|
}
|
|
571
452
|
|
|
572
453
|
removeMessageFromArray = (
|
|
573
|
-
msgArray: Array<
|
|
574
|
-
ReturnType<
|
|
575
|
-
ChannelState<
|
|
576
|
-
AttachmentType,
|
|
577
|
-
ChannelType,
|
|
578
|
-
CommandType,
|
|
579
|
-
EventType,
|
|
580
|
-
MessageType,
|
|
581
|
-
ReactionType,
|
|
582
|
-
UserType
|
|
583
|
-
>['formatMessage']
|
|
584
|
-
>
|
|
585
|
-
>,
|
|
454
|
+
msgArray: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>,
|
|
586
455
|
msg: { id: string; parent_id?: string },
|
|
587
456
|
) => {
|
|
588
457
|
const result = msgArray.filter((message) => !(!!message.id && !!msg.id && message.id === msg.id));
|
|
@@ -593,24 +462,12 @@ export class ChannelState<
|
|
|
593
462
|
/**
|
|
594
463
|
* Updates the message.user property with updated user object, for messages.
|
|
595
464
|
*
|
|
596
|
-
* @param {UserResponse<
|
|
465
|
+
* @param {UserResponse<StreamChatGenerics>} user
|
|
597
466
|
*/
|
|
598
|
-
updateUserMessages = (user: UserResponse<
|
|
467
|
+
updateUserMessages = (user: UserResponse<StreamChatGenerics>) => {
|
|
599
468
|
const _updateUserMessages = (
|
|
600
|
-
messages: Array<
|
|
601
|
-
|
|
602
|
-
ChannelState<
|
|
603
|
-
AttachmentType,
|
|
604
|
-
ChannelType,
|
|
605
|
-
CommandType,
|
|
606
|
-
EventType,
|
|
607
|
-
MessageType,
|
|
608
|
-
ReactionType,
|
|
609
|
-
UserType
|
|
610
|
-
>['formatMessage']
|
|
611
|
-
>
|
|
612
|
-
>,
|
|
613
|
-
user: UserResponse<UserType>,
|
|
469
|
+
messages: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>,
|
|
470
|
+
user: UserResponse<StreamChatGenerics>,
|
|
614
471
|
) => {
|
|
615
472
|
for (let i = 0; i < messages.length; i++) {
|
|
616
473
|
const m = messages[i];
|
|
@@ -632,25 +489,13 @@ export class ChannelState<
|
|
|
632
489
|
/**
|
|
633
490
|
* Marks the messages as deleted, from deleted user.
|
|
634
491
|
*
|
|
635
|
-
* @param {UserResponse<
|
|
492
|
+
* @param {UserResponse<StreamChatGenerics>} user
|
|
636
493
|
* @param {boolean} hardDelete
|
|
637
494
|
*/
|
|
638
|
-
deleteUserMessages = (user: UserResponse<
|
|
495
|
+
deleteUserMessages = (user: UserResponse<StreamChatGenerics>, hardDelete = false) => {
|
|
639
496
|
const _deleteUserMessages = (
|
|
640
|
-
messages: Array<
|
|
641
|
-
|
|
642
|
-
ChannelState<
|
|
643
|
-
AttachmentType,
|
|
644
|
-
ChannelType,
|
|
645
|
-
CommandType,
|
|
646
|
-
EventType,
|
|
647
|
-
MessageType,
|
|
648
|
-
ReactionType,
|
|
649
|
-
UserType
|
|
650
|
-
>['formatMessage']
|
|
651
|
-
>
|
|
652
|
-
>,
|
|
653
|
-
user: UserResponse<UserType>,
|
|
497
|
+
messages: Array<ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>>,
|
|
498
|
+
user: UserResponse<StreamChatGenerics>,
|
|
654
499
|
hardDelete = false,
|
|
655
500
|
) => {
|
|
656
501
|
for (let i = 0; i < messages.length; i++) {
|
|
@@ -679,17 +524,7 @@ export class ChannelState<
|
|
|
679
524
|
type: 'deleted',
|
|
680
525
|
updated_at: m.updated_at,
|
|
681
526
|
user: m.user,
|
|
682
|
-
} as unknown) as ReturnType<
|
|
683
|
-
ChannelState<
|
|
684
|
-
AttachmentType,
|
|
685
|
-
ChannelType,
|
|
686
|
-
CommandType,
|
|
687
|
-
EventType,
|
|
688
|
-
MessageType,
|
|
689
|
-
ReactionType,
|
|
690
|
-
UserType
|
|
691
|
-
>['formatMessage']
|
|
692
|
-
>;
|
|
527
|
+
} as unknown) as ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>;
|
|
693
528
|
} else {
|
|
694
529
|
messages[i] = {
|
|
695
530
|
...m,
|
|
@@ -736,7 +571,7 @@ export class ChannelState<
|
|
|
736
571
|
cid: this._channel.cid,
|
|
737
572
|
type: 'typing.stop',
|
|
738
573
|
user: { id: userID },
|
|
739
|
-
} as Event<
|
|
574
|
+
} as Event<StreamChatGenerics>);
|
|
740
575
|
}
|
|
741
576
|
}
|
|
742
577
|
}
|