stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
79 lines • 2.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useCreateChannelContext = void 0;
var _react = require("react");
var useCreateChannelContext = ({
channel,
channelUnreadStateStore,
disabled,
enableMessageGroupingByUser,
enforceUniqueReaction,
error,
hideDateSeparators,
hideStickyDateHeader,
highlightedMessageId,
isChannelActive,
loadChannelAroundMessage,
loadChannelAtFirstUnreadMessage,
loading,
markRead,
maxTimeBetweenGroupedMessages,
maximumMessageLimit,
members,
read,
reloadChannel,
scrollToFirstUnreadThreshold,
setChannelUnreadState,
setTargetedMessage,
hasPendingInitialTargetLoad,
targetedMessage,
threadList,
uploadAbortControllerRef,
watcherCount,
watchers
}) => {
var channelId = channel == null ? void 0 : channel.id;
var membersLength = Object.keys(members).length;
var readUsers = Object.values(read);
var readUsersLength = readUsers.length;
var readUsersLastReads = readUsers.map(({
last_read
}) => {
var _last_read$toISOStrin;
return (_last_read$toISOStrin = last_read == null ? void 0 : last_read.toISOString()) != null ? _last_read$toISOStrin : '';
}).join();
var channelContext = (0, _react.useMemo)(() => ({
channel,
channelUnreadStateStore,
disabled,
enableMessageGroupingByUser,
enforceUniqueReaction,
error,
hideDateSeparators,
hideStickyDateHeader,
highlightedMessageId,
isChannelActive,
loadChannelAroundMessage,
loadChannelAtFirstUnreadMessage,
loading,
markRead,
maximumMessageLimit,
maxTimeBetweenGroupedMessages,
members,
read,
reloadChannel,
scrollToFirstUnreadThreshold,
setChannelUnreadState,
setTargetedMessage,
hasPendingInitialTargetLoad,
targetedMessage,
threadList,
uploadAbortControllerRef,
watcherCount,
watchers
}), [channelId, disabled, error, isChannelActive, highlightedMessageId, loading, membersLength, readUsersLength, readUsersLastReads, targetedMessage, threadList, watcherCount, maximumMessageLimit]);
return channelContext;
};
exports.useCreateChannelContext = useCreateChannelContext;
//# sourceMappingURL=useCreateChannelContext.js.map