@wildix/xbees-conversations-utils 1.1.3 → 1.1.4
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/dist-cjs/normalization.js +132 -15
- package/dist-es/normalization.js +121 -15
- package/dist-types/normalization.d.ts +13 -2
- package/dist-types/stream.d.ts +8 -1
- package/dist-types/types.d.ts +21 -4
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeStreamMember = exports.normalizeStreamChannel = exports.localizeStreamMessage = exports.normalizeStreamMessage = exports.normalizeStreamReaction = exports.localizeStreamUser = exports.normalizeStreamUser = void 0;
|
|
3
|
+
exports.normalizeStreamChannelsUsers = exports.normalizeStreamChannelsUsersToMap = exports.normalizeStreamChannelUsersToMap = exports.normalizeStreamChannelUsers = exports.normalizeStreamChannelOwnReadIndicators = exports.normalizeStreamChannelReadIndicators = exports.normalizeStreamChannelReadIndicator = exports.localizeStreamChannel = exports.localizeStreamChannelsMembersToMapByChannelId = exports.localizeStreamChannelMembers = exports.localizeStreamMember = exports.normalizeStreamMember = exports.normalizeStreamChannel = exports.localizeStreamMessage = exports.normalizeStreamMessage = exports.normalizeStreamReaction = exports.localizeStreamUser = exports.normalizeStreamUser = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
|
+
const xbees_conversations_client_1 = require("@wildix/xbees-conversations-client");
|
|
5
6
|
function normalizeStreamUser(streamUser) {
|
|
6
7
|
return {
|
|
7
8
|
id: streamUser.id,
|
|
@@ -118,36 +119,36 @@ function normalizeStreamChannel(channel) {
|
|
|
118
119
|
assignee = data.assignee;
|
|
119
120
|
}
|
|
120
121
|
return {
|
|
122
|
+
access: data.access,
|
|
123
|
+
assignee,
|
|
124
|
+
broadcast: data.broadcast || data.is_broadcast,
|
|
121
125
|
channelId: data.id,
|
|
122
126
|
channelType: data.type,
|
|
123
|
-
memberCount: data.member_count || 0,
|
|
124
|
-
subject: data.subject,
|
|
125
|
-
description: data.description,
|
|
126
|
-
picture: data.picture,
|
|
127
|
-
pictureColor: data.picture_color,
|
|
128
|
-
access: data.access,
|
|
129
127
|
company: data.company,
|
|
130
128
|
context,
|
|
129
|
+
createdAt: data.created_at,
|
|
130
|
+
createdBy: data.created_by_id,
|
|
131
|
+
description: data.description,
|
|
132
|
+
external: data.external,
|
|
131
133
|
kite: data.kite,
|
|
132
134
|
kiteTarget: data.kite_target,
|
|
133
135
|
kiteVariant: data.kite_variant,
|
|
134
136
|
kiteAssign: data.kite_assign,
|
|
135
137
|
kiteServiceName: data.kite_service_name,
|
|
136
138
|
kiteDefaultSubject: data.kite_default_subject,
|
|
139
|
+
memberCount: data.member_count || 0,
|
|
140
|
+
mms: data.mms,
|
|
141
|
+
picture: data.picture,
|
|
142
|
+
pictureColor: data.picture_color,
|
|
137
143
|
service: data.service,
|
|
138
144
|
serviceTitle: data.service_title,
|
|
139
145
|
serviceRecipient: data.service_recipient,
|
|
140
|
-
assignee,
|
|
141
|
-
telephony: data.telephony,
|
|
142
146
|
sms: data.sms,
|
|
143
|
-
|
|
147
|
+
subject: data.subject,
|
|
148
|
+
telephony: data.telephony,
|
|
149
|
+
updatedAt: data.updated_at,
|
|
144
150
|
whatsapp: data.whatsapp,
|
|
145
151
|
whatsappStatus: data.whatsapp_status,
|
|
146
|
-
broadcast: data.broadcast || data.is_broadcast,
|
|
147
|
-
external: data.external,
|
|
148
|
-
createdAt: data.created_at,
|
|
149
|
-
createdBy: data.created_by_id,
|
|
150
|
-
updatedAt: data.updated_at,
|
|
151
152
|
};
|
|
152
153
|
}
|
|
153
154
|
exports.normalizeStreamChannel = normalizeStreamChannel;
|
|
@@ -160,3 +161,119 @@ function normalizeStreamMember(member) {
|
|
|
160
161
|
};
|
|
161
162
|
}
|
|
162
163
|
exports.normalizeStreamMember = normalizeStreamMember;
|
|
164
|
+
function localizeStreamMember(member) {
|
|
165
|
+
const { role, user, user_id, created_at } = member;
|
|
166
|
+
return {
|
|
167
|
+
id: user?.id || user_id,
|
|
168
|
+
createdAt: created_at ? new Date(created_at) : new Date(),
|
|
169
|
+
role: (role || 'member'),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
exports.localizeStreamMember = localizeStreamMember;
|
|
173
|
+
function localizeStreamChannelMembers(streamChannel) {
|
|
174
|
+
const { state } = streamChannel;
|
|
175
|
+
const wid = streamChannel.getClient().userID;
|
|
176
|
+
return Object.values(state.members).map(localizeStreamMember).filter((member) => member.id !== wid);
|
|
177
|
+
}
|
|
178
|
+
exports.localizeStreamChannelMembers = localizeStreamChannelMembers;
|
|
179
|
+
function localizeStreamChannelsMembersToMapByChannelId(streamChannels) {
|
|
180
|
+
return streamChannels.reduce((accumulator, channel) => {
|
|
181
|
+
const members = localizeStreamChannelMembers(channel);
|
|
182
|
+
const channelId = channel.data?.id;
|
|
183
|
+
accumulator[channelId] = members;
|
|
184
|
+
return accumulator;
|
|
185
|
+
}, {});
|
|
186
|
+
}
|
|
187
|
+
exports.localizeStreamChannelsMembersToMapByChannelId = localizeStreamChannelsMembersToMapByChannelId;
|
|
188
|
+
function localizeStreamChannel(streamChannel) {
|
|
189
|
+
const normalizedChannel = normalizeStreamChannel(streamChannel);
|
|
190
|
+
const { data, state } = streamChannel;
|
|
191
|
+
const wid = streamChannel.getClient().userID || '';
|
|
192
|
+
const createdAt = new Date(normalizedChannel.createdAt);
|
|
193
|
+
const updatedAt = new Date(normalizedChannel.updatedAt || normalizedChannel?.createdBy);
|
|
194
|
+
const members = Object.values(state.members).filter(({ user_id }) => user_id !== wid);
|
|
195
|
+
const userId = data?.type === xbees_conversations_client_1.ChannelType.DIRECT && members.length > 0 ? members[0].user_id : null;
|
|
196
|
+
const unread = state.read[wid]?.unread_messages || 0;
|
|
197
|
+
const unreadMark = data?.unreadMarkUsers?.includes(wid) || false;
|
|
198
|
+
const lastMessage = streamChannel.lastMessage();
|
|
199
|
+
const normalizedLastMessage = lastMessage ? localizeStreamMessage(lastMessage, normalizedChannel.channelId, wid) : null;
|
|
200
|
+
const lastMessageAt = normalizedLastMessage ? normalizedLastMessage.createdAt : updatedAt || createdAt;
|
|
201
|
+
const lastRead = state.read[wid]?.last_read || null;
|
|
202
|
+
const role = state.membership.role || xbees_conversations_client_1.ChannelMemberRole.MEMBER;
|
|
203
|
+
const isArchived = Boolean(data?.hidden);
|
|
204
|
+
return {
|
|
205
|
+
...normalizedChannel,
|
|
206
|
+
userId,
|
|
207
|
+
role,
|
|
208
|
+
createdAt,
|
|
209
|
+
updatedAt,
|
|
210
|
+
isArchived,
|
|
211
|
+
unread,
|
|
212
|
+
unreadMark,
|
|
213
|
+
isExternal: Boolean(normalizedChannel.external),
|
|
214
|
+
isBroadcast: Boolean(normalizedChannel.broadcast),
|
|
215
|
+
lastRead,
|
|
216
|
+
lastMessage: normalizedLastMessage,
|
|
217
|
+
lastMessageAt,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
exports.localizeStreamChannel = localizeStreamChannel;
|
|
221
|
+
function normalizeStreamChannelReadIndicator(channelReadStatus, channelId) {
|
|
222
|
+
const { user, last_read } = channelReadStatus;
|
|
223
|
+
return {
|
|
224
|
+
userId: user.id,
|
|
225
|
+
lastRead: last_read,
|
|
226
|
+
user: localizeStreamUser(user),
|
|
227
|
+
channelId,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
exports.normalizeStreamChannelReadIndicator = normalizeStreamChannelReadIndicator;
|
|
231
|
+
function normalizeStreamChannelReadIndicators(streamChannel) {
|
|
232
|
+
const wid = streamChannel.getClient().userID;
|
|
233
|
+
const { state: { read }, data } = streamChannel;
|
|
234
|
+
return Object.values(read)
|
|
235
|
+
.filter(({ user }) => wid !== user.id)
|
|
236
|
+
.map((readIndicator) => {
|
|
237
|
+
return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
exports.normalizeStreamChannelReadIndicators = normalizeStreamChannelReadIndicators;
|
|
241
|
+
function normalizeStreamChannelOwnReadIndicators(streamChannel) {
|
|
242
|
+
const wid = streamChannel.getClient().userID;
|
|
243
|
+
const { state: { read }, data } = streamChannel;
|
|
244
|
+
return Object.values(read)
|
|
245
|
+
.filter(({ user }) => wid === user.id)
|
|
246
|
+
.map((readIndicator) => {
|
|
247
|
+
return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
exports.normalizeStreamChannelOwnReadIndicators = normalizeStreamChannelOwnReadIndicators;
|
|
251
|
+
function normalizeStreamChannelUsers(streamChannel) {
|
|
252
|
+
const { state } = streamChannel;
|
|
253
|
+
const wid = streamChannel.getClient().userID;
|
|
254
|
+
return Object.values(state.members)
|
|
255
|
+
.filter((member) => member.user && member.user.id !== wid)
|
|
256
|
+
.map((member) => localizeStreamUser(member.user));
|
|
257
|
+
}
|
|
258
|
+
exports.normalizeStreamChannelUsers = normalizeStreamChannelUsers;
|
|
259
|
+
function normalizeStreamChannelUsersToMap(streamChannel) {
|
|
260
|
+
const normalizedUsers = normalizeStreamChannelUsers(streamChannel);
|
|
261
|
+
return normalizedUsers.reduce((accumulator, user) => {
|
|
262
|
+
accumulator[user.id] = user;
|
|
263
|
+
return accumulator;
|
|
264
|
+
}, {});
|
|
265
|
+
}
|
|
266
|
+
exports.normalizeStreamChannelUsersToMap = normalizeStreamChannelUsersToMap;
|
|
267
|
+
function normalizeStreamChannelsUsersToMap(streamChannels) {
|
|
268
|
+
return streamChannels.reduce((accumulator, channel) => {
|
|
269
|
+
return {
|
|
270
|
+
...normalizeStreamChannelUsersToMap(channel),
|
|
271
|
+
...accumulator,
|
|
272
|
+
};
|
|
273
|
+
}, {});
|
|
274
|
+
}
|
|
275
|
+
exports.normalizeStreamChannelsUsersToMap = normalizeStreamChannelsUsersToMap;
|
|
276
|
+
function normalizeStreamChannelsUsers(streamChannels) {
|
|
277
|
+
return Object.values(normalizeStreamChannelsUsersToMap(streamChannels));
|
|
278
|
+
}
|
|
279
|
+
exports.normalizeStreamChannelsUsers = normalizeStreamChannelsUsers;
|
package/dist-es/normalization.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { MessageDirection } from "./types";
|
|
1
|
+
import { MessageDirection, } from "./types";
|
|
2
|
+
import { ChannelType, ChannelMemberRole, } from "@wildix/xbees-conversations-client";
|
|
2
3
|
export function normalizeStreamUser(streamUser) {
|
|
3
4
|
return {
|
|
4
5
|
id: streamUser.id,
|
|
@@ -110,36 +111,36 @@ export function normalizeStreamChannel(channel) {
|
|
|
110
111
|
assignee = data.assignee;
|
|
111
112
|
}
|
|
112
113
|
return {
|
|
114
|
+
access: data.access,
|
|
115
|
+
assignee,
|
|
116
|
+
broadcast: data.broadcast || data.is_broadcast,
|
|
113
117
|
channelId: data.id,
|
|
114
118
|
channelType: data.type,
|
|
115
|
-
memberCount: data.member_count || 0,
|
|
116
|
-
subject: data.subject,
|
|
117
|
-
description: data.description,
|
|
118
|
-
picture: data.picture,
|
|
119
|
-
pictureColor: data.picture_color,
|
|
120
|
-
access: data.access,
|
|
121
119
|
company: data.company,
|
|
122
120
|
context,
|
|
121
|
+
createdAt: data.created_at,
|
|
122
|
+
createdBy: data.created_by_id,
|
|
123
|
+
description: data.description,
|
|
124
|
+
external: data.external,
|
|
123
125
|
kite: data.kite,
|
|
124
126
|
kiteTarget: data.kite_target,
|
|
125
127
|
kiteVariant: data.kite_variant,
|
|
126
128
|
kiteAssign: data.kite_assign,
|
|
127
129
|
kiteServiceName: data.kite_service_name,
|
|
128
130
|
kiteDefaultSubject: data.kite_default_subject,
|
|
131
|
+
memberCount: data.member_count || 0,
|
|
132
|
+
mms: data.mms,
|
|
133
|
+
picture: data.picture,
|
|
134
|
+
pictureColor: data.picture_color,
|
|
129
135
|
service: data.service,
|
|
130
136
|
serviceTitle: data.service_title,
|
|
131
137
|
serviceRecipient: data.service_recipient,
|
|
132
|
-
assignee,
|
|
133
|
-
telephony: data.telephony,
|
|
134
138
|
sms: data.sms,
|
|
135
|
-
|
|
139
|
+
subject: data.subject,
|
|
140
|
+
telephony: data.telephony,
|
|
141
|
+
updatedAt: data.updated_at,
|
|
136
142
|
whatsapp: data.whatsapp,
|
|
137
143
|
whatsappStatus: data.whatsapp_status,
|
|
138
|
-
broadcast: data.broadcast || data.is_broadcast,
|
|
139
|
-
external: data.external,
|
|
140
|
-
createdAt: data.created_at,
|
|
141
|
-
createdBy: data.created_by_id,
|
|
142
|
-
updatedAt: data.updated_at,
|
|
143
144
|
};
|
|
144
145
|
}
|
|
145
146
|
export function normalizeStreamMember(member) {
|
|
@@ -150,3 +151,108 @@ export function normalizeStreamMember(member) {
|
|
|
150
151
|
role: (role || 'member'),
|
|
151
152
|
};
|
|
152
153
|
}
|
|
154
|
+
export function localizeStreamMember(member) {
|
|
155
|
+
const { role, user, user_id, created_at } = member;
|
|
156
|
+
return {
|
|
157
|
+
id: user?.id || user_id,
|
|
158
|
+
createdAt: created_at ? new Date(created_at) : new Date(),
|
|
159
|
+
role: (role || 'member'),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export function localizeStreamChannelMembers(streamChannel) {
|
|
163
|
+
const { state } = streamChannel;
|
|
164
|
+
const wid = streamChannel.getClient().userID;
|
|
165
|
+
return Object.values(state.members).map(localizeStreamMember).filter((member) => member.id !== wid);
|
|
166
|
+
}
|
|
167
|
+
export function localizeStreamChannelsMembersToMapByChannelId(streamChannels) {
|
|
168
|
+
return streamChannels.reduce((accumulator, channel) => {
|
|
169
|
+
const members = localizeStreamChannelMembers(channel);
|
|
170
|
+
const channelId = channel.data?.id;
|
|
171
|
+
accumulator[channelId] = members;
|
|
172
|
+
return accumulator;
|
|
173
|
+
}, {});
|
|
174
|
+
}
|
|
175
|
+
export function localizeStreamChannel(streamChannel) {
|
|
176
|
+
const normalizedChannel = normalizeStreamChannel(streamChannel);
|
|
177
|
+
const { data, state } = streamChannel;
|
|
178
|
+
const wid = streamChannel.getClient().userID || '';
|
|
179
|
+
const createdAt = new Date(normalizedChannel.createdAt);
|
|
180
|
+
const updatedAt = new Date(normalizedChannel.updatedAt || normalizedChannel?.createdBy);
|
|
181
|
+
const members = Object.values(state.members).filter(({ user_id }) => user_id !== wid);
|
|
182
|
+
const userId = data?.type === ChannelType.DIRECT && members.length > 0 ? members[0].user_id : null;
|
|
183
|
+
const unread = state.read[wid]?.unread_messages || 0;
|
|
184
|
+
const unreadMark = data?.unreadMarkUsers?.includes(wid) || false;
|
|
185
|
+
const lastMessage = streamChannel.lastMessage();
|
|
186
|
+
const normalizedLastMessage = lastMessage ? localizeStreamMessage(lastMessage, normalizedChannel.channelId, wid) : null;
|
|
187
|
+
const lastMessageAt = normalizedLastMessage ? normalizedLastMessage.createdAt : updatedAt || createdAt;
|
|
188
|
+
const lastRead = state.read[wid]?.last_read || null;
|
|
189
|
+
const role = state.membership.role || ChannelMemberRole.MEMBER;
|
|
190
|
+
const isArchived = Boolean(data?.hidden);
|
|
191
|
+
return {
|
|
192
|
+
...normalizedChannel,
|
|
193
|
+
userId,
|
|
194
|
+
role,
|
|
195
|
+
createdAt,
|
|
196
|
+
updatedAt,
|
|
197
|
+
isArchived,
|
|
198
|
+
unread,
|
|
199
|
+
unreadMark,
|
|
200
|
+
isExternal: Boolean(normalizedChannel.external),
|
|
201
|
+
isBroadcast: Boolean(normalizedChannel.broadcast),
|
|
202
|
+
lastRead,
|
|
203
|
+
lastMessage: normalizedLastMessage,
|
|
204
|
+
lastMessageAt,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
export function normalizeStreamChannelReadIndicator(channelReadStatus, channelId) {
|
|
208
|
+
const { user, last_read } = channelReadStatus;
|
|
209
|
+
return {
|
|
210
|
+
userId: user.id,
|
|
211
|
+
lastRead: last_read,
|
|
212
|
+
user: localizeStreamUser(user),
|
|
213
|
+
channelId,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export function normalizeStreamChannelReadIndicators(streamChannel) {
|
|
217
|
+
const wid = streamChannel.getClient().userID;
|
|
218
|
+
const { state: { read }, data } = streamChannel;
|
|
219
|
+
return Object.values(read)
|
|
220
|
+
.filter(({ user }) => wid !== user.id)
|
|
221
|
+
.map((readIndicator) => {
|
|
222
|
+
return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
export function normalizeStreamChannelOwnReadIndicators(streamChannel) {
|
|
226
|
+
const wid = streamChannel.getClient().userID;
|
|
227
|
+
const { state: { read }, data } = streamChannel;
|
|
228
|
+
return Object.values(read)
|
|
229
|
+
.filter(({ user }) => wid === user.id)
|
|
230
|
+
.map((readIndicator) => {
|
|
231
|
+
return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
export function normalizeStreamChannelUsers(streamChannel) {
|
|
235
|
+
const { state } = streamChannel;
|
|
236
|
+
const wid = streamChannel.getClient().userID;
|
|
237
|
+
return Object.values(state.members)
|
|
238
|
+
.filter((member) => member.user && member.user.id !== wid)
|
|
239
|
+
.map((member) => localizeStreamUser(member.user));
|
|
240
|
+
}
|
|
241
|
+
export function normalizeStreamChannelUsersToMap(streamChannel) {
|
|
242
|
+
const normalizedUsers = normalizeStreamChannelUsers(streamChannel);
|
|
243
|
+
return normalizedUsers.reduce((accumulator, user) => {
|
|
244
|
+
accumulator[user.id] = user;
|
|
245
|
+
return accumulator;
|
|
246
|
+
}, {});
|
|
247
|
+
}
|
|
248
|
+
export function normalizeStreamChannelsUsersToMap(streamChannels) {
|
|
249
|
+
return streamChannels.reduce((accumulator, channel) => {
|
|
250
|
+
return {
|
|
251
|
+
...normalizeStreamChannelUsersToMap(channel),
|
|
252
|
+
...accumulator,
|
|
253
|
+
};
|
|
254
|
+
}, {});
|
|
255
|
+
}
|
|
256
|
+
export function normalizeStreamChannelsUsers(streamChannels) {
|
|
257
|
+
return Object.values(normalizeStreamChannelsUsersToMap(streamChannels));
|
|
258
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StreamChannel, StreamMessageResponse, StreamReactionResponse, StreamUserResponse, StreamChannelResponse, StreamChannelMemberResponse } from "./stream";
|
|
2
|
-
import { LocalizedMessage, LocalizedUser } from "./types";
|
|
1
|
+
import { StreamChannel, StreamMessageResponse, StreamReactionResponse, StreamUserResponse, StreamChannelResponse, StreamChannelMemberResponse, StreamReadIndicator } from "./stream";
|
|
2
|
+
import { LocalizedMessage, LocalizedUser, LocalizedChannel, LocalizedChannelMember, LocalizedReadIndicator } from "./types";
|
|
3
3
|
import { Channel, ChannelMember, Message, Reaction, User } from "@wildix/xbees-conversations-client";
|
|
4
4
|
export declare function normalizeStreamUser(streamUser: StreamUserResponse): User;
|
|
5
5
|
export declare function localizeStreamUser(streamUser: StreamUserResponse): LocalizedUser;
|
|
@@ -8,3 +8,14 @@ export declare function normalizeStreamMessage(streamMessage: StreamMessageRespo
|
|
|
8
8
|
export declare function localizeStreamMessage(streamMessage: StreamMessageResponse, channelId: string, userId: string): LocalizedMessage;
|
|
9
9
|
export declare function normalizeStreamChannel(channel: StreamChannel | StreamChannelResponse): Channel;
|
|
10
10
|
export declare function normalizeStreamMember(member: StreamChannelMemberResponse): ChannelMember;
|
|
11
|
+
export declare function localizeStreamMember(member: Partial<StreamChannelMemberResponse>): LocalizedChannelMember;
|
|
12
|
+
export declare function localizeStreamChannelMembers(streamChannel: StreamChannel): LocalizedChannelMember[];
|
|
13
|
+
export declare function localizeStreamChannelsMembersToMapByChannelId(streamChannels: StreamChannel[]): Record<string, LocalizedChannelMember[]>;
|
|
14
|
+
export declare function localizeStreamChannel(streamChannel: StreamChannel): LocalizedChannel;
|
|
15
|
+
export declare function normalizeStreamChannelReadIndicator(channelReadStatus: StreamReadIndicator, channelId: string): LocalizedReadIndicator;
|
|
16
|
+
export declare function normalizeStreamChannelReadIndicators(streamChannel: StreamChannel): LocalizedReadIndicator[];
|
|
17
|
+
export declare function normalizeStreamChannelOwnReadIndicators(streamChannel: StreamChannel): LocalizedReadIndicator[];
|
|
18
|
+
export declare function normalizeStreamChannelUsers(streamChannel: StreamChannel): LocalizedUser[];
|
|
19
|
+
export declare function normalizeStreamChannelUsersToMap(streamChannel: StreamChannel): Record<string, LocalizedUser>;
|
|
20
|
+
export declare function normalizeStreamChannelsUsersToMap(streamChannels: StreamChannel[]): Record<string, LocalizedUser>;
|
|
21
|
+
export declare function normalizeStreamChannelsUsers(streamChannels: StreamChannel[]): LocalizedUser[];
|
package/dist-types/stream.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Channel, ChannelData, ChannelFilters, ChannelMembership, ChannelMemberResponse, ChannelSort, ChannelResponse, Event, ExtendableGenerics, LiteralStringForUnion, Message, MessageResponse, ReactionResponse, UR, UserResponse, ChannelAPIResponse, User, Reaction, PartialMessageUpdate, UpdatedMessage, PartialUpdateChannel } from 'stream-chat';
|
|
1
|
+
import { Channel, ChannelData, ChannelState, ChannelFilters, ChannelMembership, ChannelMemberResponse, ChannelSort, ChannelResponse, Event, ExtendableGenerics, LiteralStringForUnion, Message, MessageResponse, ReactionResponse, SearchAPIResponse, SyncResponse, UR, UserResponse, GetRepliesAPIResponse, GetReactionsAPIResponse, OwnUserResponse, ChannelAPIResponse, User, Reaction, PartialMessageUpdate, UpdatedMessage, PartialUpdateChannel } from 'stream-chat';
|
|
2
2
|
import { MessageQuote, MessageForward, MessageAttachment, MessageGiphy, User as NormalizedUser, ChannelAccess, MessageSmsStatus, MessageWhatsAppStatus, ChannelWhatsAppStatus, Element } from "@wildix/xbees-conversations-client";
|
|
3
3
|
export interface StreamChannelFields extends UR {
|
|
4
4
|
subject?: string;
|
|
@@ -103,3 +103,10 @@ export type StreamChannelSort = ChannelSort<StreamType>;
|
|
|
103
103
|
export type StreamChannelData = ChannelData<StreamType>;
|
|
104
104
|
export type StreamPartialUpdateChannel = PartialUpdateChannel<StreamType>;
|
|
105
105
|
export type StreamChannelAPIResponse = ChannelAPIResponse<StreamType>;
|
|
106
|
+
export type StreamSearchAPIResponse = SearchAPIResponse<StreamType>;
|
|
107
|
+
export type StreamSyncResponse = SyncResponse<StreamType>;
|
|
108
|
+
export type StreamGetRepliesAPIResponse = GetRepliesAPIResponse<StreamType>;
|
|
109
|
+
export type StreamOwnUserResponse = OwnUserResponse<StreamType>;
|
|
110
|
+
export type StreamChannelState = ChannelState<StreamType>;
|
|
111
|
+
export type StreamGetReactionsAPIResponse = GetReactionsAPIResponse<StreamType>;
|
|
112
|
+
export type StreamReadIndicator = (StreamChannelState['read'])[keyof StreamChannelState['read']];
|
package/dist-types/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Channel, ChannelMemberRole, Message, Reaction, User } from "@wildix/xbees-conversations-client";
|
|
1
|
+
import { Channel, ChannelMemberRole, ChannelMember, Message, Reaction, User } from "@wildix/xbees-conversations-client";
|
|
2
2
|
export declare enum MessageDirection {
|
|
3
3
|
INCOMING = "incoming",
|
|
4
4
|
OUTGOING = "outgoing"
|
|
@@ -17,9 +17,26 @@ export interface LocalizedMessage extends Omit<Message, 'user' | 'createdAt' | '
|
|
|
17
17
|
createdAt: Date;
|
|
18
18
|
updatedAt?: Date;
|
|
19
19
|
}
|
|
20
|
-
export interface LocalizedChannel extends Omit<Channel, 'createdAt' | 'updatedAt'> {
|
|
21
|
-
userId?: string;
|
|
22
|
-
role: ChannelMemberRole;
|
|
20
|
+
export interface LocalizedChannel extends Omit<Channel, 'createdAt' | 'updatedAt' | 'is_broadcast' | 'external' | 'hidden'> {
|
|
23
21
|
createdAt: Date;
|
|
22
|
+
isArchived: boolean;
|
|
23
|
+
isBroadcast?: boolean;
|
|
24
|
+
isExternal: boolean;
|
|
25
|
+
lastMessage: LocalizedMessage | null;
|
|
26
|
+
lastMessageAt: Date;
|
|
27
|
+
lastRead: Date;
|
|
28
|
+
role: ChannelMemberRole;
|
|
29
|
+
unread: number;
|
|
30
|
+
unreadMark: boolean;
|
|
24
31
|
updatedAt?: Date;
|
|
32
|
+
userId: string | null;
|
|
33
|
+
}
|
|
34
|
+
export interface LocalizedReadIndicator {
|
|
35
|
+
userId: string;
|
|
36
|
+
lastRead: Date;
|
|
37
|
+
user: LocalizedUser;
|
|
38
|
+
channelId: string;
|
|
39
|
+
}
|
|
40
|
+
export interface LocalizedChannelMember extends Omit<ChannelMember, 'createdAt'> {
|
|
41
|
+
createdAt: Date;
|
|
25
42
|
}
|