@amityco/ts-sdk-react-native 6.32.4-a4e315c.0 → 6.32.5-2629e79.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/dist/@types/core/events.d.ts +1 -1
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +1 -1
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +1 -1
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +1 -0
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
- package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
- package/dist/channelRepository/api/updateChannel.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts +2 -2
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelCreated.d.ts +1 -1
- package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -1
- package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelFetched.d.ts +1 -1
- package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelJoined.d.ts +1 -1
- package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelLeft.d.ts +1 -1
- package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelResolved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelResolved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelUpdated.d.ts +1 -1
- package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
- package/dist/channelRepository/events/onUserDeleted.d.ts +1 -1
- package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +2 -2
- package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
- package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -1
- package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts +2 -0
- package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -0
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -1
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
- package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +1 -1
- package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -1
- package/dist/client/utils/removeChannelMarkerCache.d.ts +1 -1
- package/dist/client/utils/removeChannelMarkerCache.d.ts.map +1 -1
- package/dist/index.cjs.js +138 -128
- package/dist/index.esm.js +138 -128
- package/dist/index.umd.js +3 -3
- package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
- package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/dist/utils/shallowClone.d.ts +1 -1
- package/dist/utils/shallowClone.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +1 -1
- package/src/@types/core/model.ts +1 -1
- package/src/@types/core/payload.ts +1 -1
- package/src/@types/domains/channel.ts +5 -0
- package/src/channelRepository/api/createChannel.ts +2 -1
- package/src/channelRepository/api/getChannel.ts +4 -3
- package/src/channelRepository/api/getChannelByIds.ts +2 -1
- package/src/channelRepository/api/updateChannel.ts +2 -1
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.ts +2 -2
- package/src/channelRepository/events/onChannelCreated.ts +2 -2
- package/src/channelRepository/events/onChannelDeleted.ts +2 -2
- package/src/channelRepository/events/onChannelFetched.ts +3 -3
- package/src/channelRepository/events/onChannelJoined.ts +5 -2
- package/src/channelRepository/events/onChannelLeft.ts +5 -2
- package/src/channelRepository/events/onChannelMemberAdded.ts +5 -2
- package/src/channelRepository/events/onChannelMemberBanned.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRemoved.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRoleAdded.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +5 -2
- package/src/channelRepository/events/onChannelMemberUnbanned.ts +5 -2
- package/src/channelRepository/events/onChannelMuted.ts +3 -2
- package/src/channelRepository/events/onChannelResolved.ts +2 -2
- package/src/channelRepository/events/onChannelUpdated.ts +2 -2
- package/src/channelRepository/events/onUserDeleted.ts +8 -2
- package/src/channelRepository/observers/getChannel.ts +4 -1
- package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -9
- package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +2 -2
- package/src/channelRepository/observers/observeChannel.ts +5 -4
- package/src/channelRepository/observers/observeChannels.ts +6 -4
- package/src/channelRepository/utils/constructChannelDynamicValue.ts +22 -0
- package/src/channelRepository/utils/prepareChannelPayload.ts +1 -13
- package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +2 -2
- package/src/channelRepository/utils/updateChannelCache.ts +1 -1
- package/src/client/utils/removeChannelMarkerCache.ts +1 -1
- package/src/marker/events/onMessageMarked.ts +0 -2
- package/src/subChannelRepository/utils/updateSubChannelCache.ts +1 -1
- package/src/utils/linkedObject/channelLinkedObject.ts +3 -3
- package/src/utils/shallowClone.ts +8 -5
package/dist/index.esm.js
CHANGED
|
@@ -89,8 +89,8 @@ const PostContentType = Object.freeze({
|
|
|
89
89
|
|
|
90
90
|
function getVersion() {
|
|
91
91
|
try {
|
|
92
|
-
// the string ''v6.32.
|
|
93
|
-
return 'v6.32.
|
|
92
|
+
// the string ''v6.32.4-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
93
|
+
return 'v6.32.4-esm';
|
|
94
94
|
}
|
|
95
95
|
catch (error) {
|
|
96
96
|
return '__dev__';
|
|
@@ -22016,8 +22016,28 @@ const markAsRead = async (channelId) => {
|
|
|
22016
22016
|
return true;
|
|
22017
22017
|
};
|
|
22018
22018
|
|
|
22019
|
+
/**
|
|
22020
|
+
* ```js
|
|
22021
|
+
* import { shallowClone } from '~/utils/shallowClone'
|
|
22022
|
+
* const newObj = shallowClone(obj)
|
|
22023
|
+
* ```
|
|
22024
|
+
*
|
|
22025
|
+
* Clone an object with same prototype and properties
|
|
22026
|
+
*
|
|
22027
|
+
* @param obj the object to clone
|
|
22028
|
+
* @returns new object with same prototype and properties
|
|
22029
|
+
*
|
|
22030
|
+
* @category utility
|
|
22031
|
+
* @private
|
|
22032
|
+
*/
|
|
22033
|
+
function shallowClone(source, target) {
|
|
22034
|
+
return Object.create(Object.getPrototypeOf(source), Object.assign(Object.assign({}, Object.getOwnPropertyDescriptors(source)), Object.getOwnPropertyDescriptors(target)));
|
|
22035
|
+
}
|
|
22036
|
+
|
|
22019
22037
|
const channelLinkedObject = (channel) => {
|
|
22020
|
-
return
|
|
22038
|
+
return shallowClone(channel, {
|
|
22039
|
+
markAsRead: () => markAsRead(channel.channelInternalId),
|
|
22040
|
+
});
|
|
22021
22041
|
};
|
|
22022
22042
|
|
|
22023
22043
|
const adLinkedObject = (ad) => {
|
|
@@ -22188,31 +22208,10 @@ const updateSubChannelMessagePreviewCache = (rawPayload) => {
|
|
|
22188
22208
|
ingestInCache(newData);
|
|
22189
22209
|
};
|
|
22190
22210
|
|
|
22191
|
-
/**
|
|
22192
|
-
* ```js
|
|
22193
|
-
* import { shallowClone } from '~/utils/shallowClone'
|
|
22194
|
-
* const newObj = shallowClone(obj)
|
|
22195
|
-
* ```
|
|
22196
|
-
*
|
|
22197
|
-
* Clone an object with same prototype and properties
|
|
22198
|
-
*
|
|
22199
|
-
* @param obj the object to clone
|
|
22200
|
-
* @returns new object with same prototype and properties
|
|
22201
|
-
*
|
|
22202
|
-
* @category utility
|
|
22203
|
-
* @private
|
|
22204
|
-
*/
|
|
22205
|
-
function shallowClone(obj) {
|
|
22206
|
-
const clone = Object.create(Object.getPrototypeOf(obj));
|
|
22207
|
-
const descriptors = Object.getOwnPropertyDescriptors(obj);
|
|
22208
|
-
Object.defineProperties(clone, descriptors);
|
|
22209
|
-
return clone;
|
|
22210
|
-
}
|
|
22211
|
-
|
|
22212
22211
|
function updateSubChannelCache(subChannelId, subChannel, params) {
|
|
22213
22212
|
pushToCache(['subChannel', 'get', subChannelId],
|
|
22214
22213
|
// eslint-disable-next-line prefer-object-spread
|
|
22215
|
-
|
|
22214
|
+
shallowClone(subChannel, params));
|
|
22216
22215
|
}
|
|
22217
22216
|
|
|
22218
22217
|
const handleMessageCreated = async (message) => {
|
|
@@ -22391,81 +22390,6 @@ const handleSubChannelUpdated = async (subChannel) => {
|
|
|
22391
22390
|
}
|
|
22392
22391
|
};
|
|
22393
22392
|
|
|
22394
|
-
const getCachedMarker$1 = (entityId) => {
|
|
22395
|
-
var _a;
|
|
22396
|
-
const key = {
|
|
22397
|
-
entityId,
|
|
22398
|
-
userId: getActiveUser()._id,
|
|
22399
|
-
};
|
|
22400
|
-
return (_a = pullFromCache([
|
|
22401
|
-
'channelMarker',
|
|
22402
|
-
'get',
|
|
22403
|
-
getResolver('channelMarker')(key),
|
|
22404
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22405
|
-
};
|
|
22406
|
-
const getUnreadInfoCached$1 = (channelId) => {
|
|
22407
|
-
var _a;
|
|
22408
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22409
|
-
};
|
|
22410
|
-
/**
|
|
22411
|
-
* The function use to get value of unreadCount field.
|
|
22412
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22413
|
-
*
|
|
22414
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22415
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
22416
|
-
* If not found in the both cache, use `0` as defaul value.
|
|
22417
|
-
*/
|
|
22418
|
-
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
22419
|
-
var _a, _b, _c, _d, _e;
|
|
22420
|
-
const client = getActiveClient();
|
|
22421
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22422
|
-
// Marker service API uses channelInternalId as channelId
|
|
22423
|
-
return (_b = (_a = getUnreadInfoCached$1(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
22424
|
-
}
|
|
22425
|
-
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
22426
|
-
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
22427
|
-
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
22428
|
-
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
22429
|
-
return 0;
|
|
22430
|
-
}
|
|
22431
|
-
return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker$1(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
|
|
22432
|
-
};
|
|
22433
|
-
|
|
22434
|
-
const getCachedMarker = (entityId) => {
|
|
22435
|
-
var _a;
|
|
22436
|
-
const key = {
|
|
22437
|
-
entityId,
|
|
22438
|
-
userId: getActiveUser()._id,
|
|
22439
|
-
};
|
|
22440
|
-
return (_a = pullFromCache([
|
|
22441
|
-
'channelMarker',
|
|
22442
|
-
'get',
|
|
22443
|
-
getResolver('channelMarker')(key),
|
|
22444
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22445
|
-
};
|
|
22446
|
-
const getUnreadInfoCached = (channelId) => {
|
|
22447
|
-
var _a;
|
|
22448
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22449
|
-
};
|
|
22450
|
-
/**
|
|
22451
|
-
* The function use to get value of hasMentioned or isMentioned field.
|
|
22452
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22453
|
-
*
|
|
22454
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22455
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
22456
|
-
* If not found in the both cache, use `false` as defaul value.
|
|
22457
|
-
*/
|
|
22458
|
-
const getChannelIsMentioned = (channel, marker) => {
|
|
22459
|
-
var _a, _b, _c, _d;
|
|
22460
|
-
const client = getActiveClient();
|
|
22461
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22462
|
-
return (_b = (_a = getUnreadInfoCached(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
22463
|
-
}
|
|
22464
|
-
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
22465
|
-
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
22466
|
-
: (_d = (_c = getCachedMarker(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
22467
|
-
};
|
|
22468
|
-
|
|
22469
22393
|
function convertRawUserToInternalUser(rawUser) {
|
|
22470
22394
|
return Object.assign(Object.assign({}, rawUser), { isGlobalBanned: (rawUser === null || rawUser === void 0 ? void 0 : rawUser.isGlobalBan) || false });
|
|
22471
22395
|
}
|
|
@@ -22483,18 +22407,7 @@ function convertFromRaw$2(channel, options = { isMessagePreviewUpdated: true })
|
|
|
22483
22407
|
if ((messagePreviewChannelCache === null || messagePreviewChannelCache === void 0 ? void 0 : messagePreviewChannelCache.messagePreviewId) && !options.isMessagePreviewUpdated) {
|
|
22484
22408
|
messagePreviewId = messagePreviewChannelCache.messagePreviewId;
|
|
22485
22409
|
}
|
|
22486
|
-
return Object.assign(Object.assign({
|
|
22487
|
-
return getSubChannelsUnreadCount(channel);
|
|
22488
|
-
},
|
|
22489
|
-
get hasMentioned() {
|
|
22490
|
-
return getChannelIsMentioned(channel);
|
|
22491
|
-
},
|
|
22492
|
-
get isMentioned() {
|
|
22493
|
-
return getChannelIsMentioned(channel);
|
|
22494
|
-
},
|
|
22495
|
-
get subChannelsUnreadCount() {
|
|
22496
|
-
return getSubChannelsUnreadCount(channel);
|
|
22497
|
-
} }, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
22410
|
+
return Object.assign(Object.assign({}, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
22498
22411
|
}
|
|
22499
22412
|
const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated: true }) => {
|
|
22500
22413
|
ingestInCache({
|
|
@@ -22616,6 +22529,98 @@ const prepareUnreadCountInfo = async (rawPayload) => {
|
|
|
22616
22529
|
client.log('channel/prepareUnreadCountInfo', rawPayload.channels);
|
|
22617
22530
|
};
|
|
22618
22531
|
|
|
22532
|
+
const getCachedMarker$1 = (entityId) => {
|
|
22533
|
+
var _a;
|
|
22534
|
+
const key = {
|
|
22535
|
+
entityId,
|
|
22536
|
+
userId: getActiveUser()._id,
|
|
22537
|
+
};
|
|
22538
|
+
return (_a = pullFromCache([
|
|
22539
|
+
'channelMarker',
|
|
22540
|
+
'get',
|
|
22541
|
+
getResolver('channelMarker')(key),
|
|
22542
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22543
|
+
};
|
|
22544
|
+
const getUnreadInfoCached$1 = (channelId) => {
|
|
22545
|
+
var _a;
|
|
22546
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22547
|
+
};
|
|
22548
|
+
/**
|
|
22549
|
+
* The function use to get value of hasMentioned or isMentioned field.
|
|
22550
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22551
|
+
*
|
|
22552
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22553
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
22554
|
+
* If not found in the both cache, use `false` as defaul value.
|
|
22555
|
+
*/
|
|
22556
|
+
const getChannelIsMentioned = (channel, marker) => {
|
|
22557
|
+
var _a, _b, _c, _d;
|
|
22558
|
+
const client = getActiveClient();
|
|
22559
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22560
|
+
return (_b = (_a = getUnreadInfoCached$1(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
22561
|
+
}
|
|
22562
|
+
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
22563
|
+
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
22564
|
+
: (_d = (_c = getCachedMarker$1(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
22565
|
+
};
|
|
22566
|
+
|
|
22567
|
+
const getCachedMarker = (entityId) => {
|
|
22568
|
+
var _a;
|
|
22569
|
+
const key = {
|
|
22570
|
+
entityId,
|
|
22571
|
+
userId: getActiveUser()._id,
|
|
22572
|
+
};
|
|
22573
|
+
return (_a = pullFromCache([
|
|
22574
|
+
'channelMarker',
|
|
22575
|
+
'get',
|
|
22576
|
+
getResolver('channelMarker')(key),
|
|
22577
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22578
|
+
};
|
|
22579
|
+
const getUnreadInfoCached = (channelId) => {
|
|
22580
|
+
var _a;
|
|
22581
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22582
|
+
};
|
|
22583
|
+
/**
|
|
22584
|
+
* The function use to get value of unreadCount field.
|
|
22585
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22586
|
+
*
|
|
22587
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22588
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
22589
|
+
* If not found in the both cache, use `0` as defaul value.
|
|
22590
|
+
*/
|
|
22591
|
+
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
22592
|
+
var _a, _b, _c, _d, _e;
|
|
22593
|
+
const client = getActiveClient();
|
|
22594
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22595
|
+
// Marker service API uses channelInternalId as channelId
|
|
22596
|
+
return (_b = (_a = getUnreadInfoCached(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
22597
|
+
}
|
|
22598
|
+
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
22599
|
+
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
22600
|
+
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
22601
|
+
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
22602
|
+
return 0;
|
|
22603
|
+
}
|
|
22604
|
+
return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
|
|
22605
|
+
};
|
|
22606
|
+
|
|
22607
|
+
const constructChannelDynamicValue = (channel) => {
|
|
22608
|
+
return shallowClone(channel, {
|
|
22609
|
+
get unreadCount() {
|
|
22610
|
+
return getSubChannelsUnreadCount(channel);
|
|
22611
|
+
},
|
|
22612
|
+
get hasMentioned() {
|
|
22613
|
+
return getChannelIsMentioned(channel);
|
|
22614
|
+
},
|
|
22615
|
+
get isMentioned() {
|
|
22616
|
+
return getChannelIsMentioned(channel);
|
|
22617
|
+
},
|
|
22618
|
+
get subChannelsUnreadCount() {
|
|
22619
|
+
return getSubChannelsUnreadCount(channel);
|
|
22620
|
+
},
|
|
22621
|
+
});
|
|
22622
|
+
};
|
|
22623
|
+
|
|
22619
22624
|
/**
|
|
22620
22625
|
* ```js
|
|
22621
22626
|
* import { getChannelByIds } from '@amityco/ts-sdk-react-native'
|
|
@@ -22660,7 +22665,7 @@ const getChannelByIds = async (channelIds) => {
|
|
|
22660
22665
|
ingestInCache(data, { cachedAt });
|
|
22661
22666
|
fireEvent('local.channel.fetched', data.channels);
|
|
22662
22667
|
return {
|
|
22663
|
-
data: data.channels.map(channel => LinkedObject.channel(channel)),
|
|
22668
|
+
data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
|
|
22664
22669
|
cachedAt,
|
|
22665
22670
|
};
|
|
22666
22671
|
};
|
|
@@ -30929,7 +30934,7 @@ const createChannel = async (bundle) => {
|
|
|
30929
30934
|
ingestInCache(data, { cachedAt });
|
|
30930
30935
|
const { channels } = data;
|
|
30931
30936
|
return {
|
|
30932
|
-
data: channels[0],
|
|
30937
|
+
data: constructChannelDynamicValue(channels[0]),
|
|
30933
30938
|
cachedAt,
|
|
30934
30939
|
};
|
|
30935
30940
|
};
|
|
@@ -30963,7 +30968,7 @@ const updateChannel = async (channelId, patch) => {
|
|
|
30963
30968
|
ingestInCache(data, { cachedAt });
|
|
30964
30969
|
const { channels } = data;
|
|
30965
30970
|
return {
|
|
30966
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
30971
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
30967
30972
|
cachedAt,
|
|
30968
30973
|
};
|
|
30969
30974
|
};
|
|
@@ -31007,7 +31012,7 @@ const getChannel$1 = async (channelId) => {
|
|
|
31007
31012
|
ingestInCache(data, { cachedAt });
|
|
31008
31013
|
const { channels } = data;
|
|
31009
31014
|
return {
|
|
31010
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
31015
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
31011
31016
|
cachedAt,
|
|
31012
31017
|
};
|
|
31013
31018
|
};
|
|
@@ -31037,7 +31042,7 @@ getChannel$1.locally = (channelId) => {
|
|
|
31037
31042
|
if (!cached || (cached === null || cached === void 0 ? void 0 : cached.length) === 0)
|
|
31038
31043
|
return;
|
|
31039
31044
|
return {
|
|
31040
|
-
data: cached[0].data,
|
|
31045
|
+
data: constructChannelDynamicValue(cached[0].data),
|
|
31041
31046
|
cachedAt: cached[0].cachedAt,
|
|
31042
31047
|
};
|
|
31043
31048
|
};
|
|
@@ -31235,10 +31240,10 @@ const observeChannel = (channelId, callback) => {
|
|
|
31235
31240
|
if (((_a = result.data) === null || _a === void 0 ? void 0 : _a.channelId) !== channelId)
|
|
31236
31241
|
return;
|
|
31237
31242
|
if (callback instanceof Function)
|
|
31238
|
-
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31243
|
+
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31239
31244
|
if (action !== 'onFetch')
|
|
31240
|
-
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31241
|
-
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31245
|
+
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31246
|
+
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31242
31247
|
};
|
|
31243
31248
|
const disposers = [];
|
|
31244
31249
|
disposers.push(onChannelUpdated(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router({ data, loading: false, origin: 'event' }, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router({ data, loading: false, origin: 'event' }, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router({ data, loading: false, origin: 'event' }, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router({ data, loading: false, origin: 'event' }, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router({ data, loading: false, origin: 'event' }, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router({ data, loading: false, origin: 'event' }, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
|
|
@@ -31272,9 +31277,9 @@ const observeChannels = (callback) => {
|
|
|
31272
31277
|
const router = (channel, action) => {
|
|
31273
31278
|
var _a, _b;
|
|
31274
31279
|
if (callback instanceof Function)
|
|
31275
|
-
return callback(LinkedObject.channel(channel));
|
|
31276
|
-
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(channel));
|
|
31277
|
-
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(channel));
|
|
31280
|
+
return callback(LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31281
|
+
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31282
|
+
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31278
31283
|
};
|
|
31279
31284
|
disposers.push(onChannelCreated(data => router(data, "onCreate" /* Amity.ChannelActionType.OnCreate */)), onChannelUpdated(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router(data, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router(data, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router(data, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router(data, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router(data, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router(data, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
|
|
31280
31285
|
return () => {
|
|
@@ -31379,7 +31384,7 @@ const onSubChannelUpdated = (callback) => {
|
|
|
31379
31384
|
function updateChannelCache(channel, params) {
|
|
31380
31385
|
pushToCache(['channel', 'get', channel.channelId],
|
|
31381
31386
|
// eslint-disable-next-line prefer-object-spread
|
|
31382
|
-
|
|
31387
|
+
shallowClone(channel, params));
|
|
31383
31388
|
}
|
|
31384
31389
|
|
|
31385
31390
|
/**
|
|
@@ -33523,7 +33528,7 @@ const getChannel = (channelId, callback) => {
|
|
|
33523
33528
|
const reactor = async (response) => {
|
|
33524
33529
|
if (!response.data)
|
|
33525
33530
|
return callback(response);
|
|
33526
|
-
const data = Object.assign(Object.assign({}, response), { data: LinkedObject.channel(getChannelMessagePreviewWithUser(response.data)) });
|
|
33531
|
+
const data = Object.assign(Object.assign({}, response), { data: LinkedObject.channel(constructChannelDynamicValue(getChannelMessagePreviewWithUser(response.data))) });
|
|
33527
33532
|
const newSnapshot = __rest(data, ["origin"]);
|
|
33528
33533
|
/**
|
|
33529
33534
|
* check equality of previous data and current data to avoid redundancy
|
|
@@ -33861,6 +33866,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
33861
33866
|
.filter(Boolean)
|
|
33862
33867
|
.map(({ data }) => data)
|
|
33863
33868
|
.map(getChannelMessagePreviewWithUser)
|
|
33869
|
+
.map(constructChannelDynamicValue)
|
|
33864
33870
|
.map(LinkedObject.channel)) !== null && _b !== void 0 ? _b : [];
|
|
33865
33871
|
if (this.paginationController instanceof ChannelPaginationController) {
|
|
33866
33872
|
data = this.applyFilter(data);
|
|
@@ -33963,7 +33969,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
33963
33969
|
callback(message);
|
|
33964
33970
|
}
|
|
33965
33971
|
});
|
|
33966
|
-
}, '
|
|
33972
|
+
}, 'channelId', 'channel'),
|
|
33967
33973
|
action: "onUpdate" /* Amity.ChannelActionType.OnUpdate */,
|
|
33968
33974
|
},
|
|
33969
33975
|
{
|
|
@@ -33982,7 +33988,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
33982
33988
|
});
|
|
33983
33989
|
callback(message);
|
|
33984
33990
|
});
|
|
33985
|
-
}, '
|
|
33991
|
+
}, 'channelId', 'channel'),
|
|
33986
33992
|
action: "onUpdate" /* Amity.ChannelActionType.OnUpdate */,
|
|
33987
33993
|
},
|
|
33988
33994
|
{ fn: onChannelDeleted, action: "onDelete" /* Amity.ChannelActionType.OnDelete */ },
|
|
@@ -34403,7 +34409,11 @@ const onUserDeleted$1 = (channelId) => (callback) => {
|
|
|
34403
34409
|
channelUserCacheKey,
|
|
34404
34410
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
34405
34411
|
upsertInCache(['channelUsers', 'get', channelUserCacheKey], Object.assign(Object.assign({}, cacheData), { user }));
|
|
34406
|
-
const channel = (_b = pullFromCache([
|
|
34412
|
+
const channel = (_b = pullFromCache([
|
|
34413
|
+
'channel',
|
|
34414
|
+
'get',
|
|
34415
|
+
channelId,
|
|
34416
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
34407
34417
|
if (!channel)
|
|
34408
34418
|
return;
|
|
34409
34419
|
callback(channel, cacheData);
|