stream-chat-react-native-core 9.0.1 → 9.0.2-beta.1
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 +1 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js +1 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/channelMocks.js +38 -31
- package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/error.js.map +1 -1
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js +1 -1
- package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +12 -11
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
- package/lib/commonjs/mock-builders/attachments.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelHidden.js +3 -2
- package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelTruncated.js +3 -2
- package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelVisible.js +3 -2
- package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionChanged.js +3 -2
- package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionRecovered.js +3 -2
- package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberAdded.js +3 -2
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js +3 -2
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageNew.js +3 -2
- package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js +3 -2
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionNew.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/typing.js +3 -2
- package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userPresence.js +3 -2
- package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +0 -3
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +10 -12
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/member.js +3 -2
- package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/message.js +12 -7
- package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/reaction.js +3 -2
- package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js +4 -3
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +15 -11
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
- package/lib/commonjs/store/apis/upsertDraft.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/commonjs/test-utils/BetterSqlite.js +11 -7
- package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.test.js +1 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/channelMocks.js +38 -31
- package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/module/mock-builders/api/error.js.map +1 -1
- package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/module/mock-builders/api/initiateClientWithChannels.js +1 -1
- package/lib/module/mock-builders/api/initiateClientWithChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +12 -11
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/module/mock-builders/api/utils.js.map +1 -1
- package/lib/module/mock-builders/attachments.js.map +1 -1
- package/lib/module/mock-builders/event/channelDeleted.js +3 -2
- package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/channelHidden.js +3 -2
- package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/module/mock-builders/event/channelTruncated.js +3 -2
- package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/module/mock-builders/event/channelUpdated.js +3 -2
- package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/channelVisible.js +3 -2
- package/lib/module/mock-builders/event/channelVisible.js.map +1 -1
- package/lib/module/mock-builders/event/connectionChanged.js +3 -2
- package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/module/mock-builders/event/connectionRecovered.js +3 -2
- package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/module/mock-builders/event/memberAdded.js +3 -2
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/module/mock-builders/event/memberRemoved.js +3 -2
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/module/mock-builders/event/memberUpdated.js +3 -2
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/messageDeleted.js +3 -2
- package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/messageNew.js +3 -2
- package/lib/module/mock-builders/event/messageNew.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js +3 -2
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/event/messageUpdated.js +3 -2
- package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationAddedToChannel.js +3 -2
- package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMarkRead.js +3 -2
- package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -2
- package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMessageNew.js +3 -2
- package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMutesUpdated.js +3 -2
- package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +3 -2
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/module/mock-builders/event/reactionDeleted.js +3 -2
- package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/reactionNew.js +3 -2
- package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/module/mock-builders/event/reactionUpdated.js +3 -2
- package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/typing.js +3 -2
- package/lib/module/mock-builders/event/typing.js.map +1 -1
- package/lib/module/mock-builders/event/userPresence.js +3 -2
- package/lib/module/mock-builders/event/userPresence.js.map +1 -1
- package/lib/module/mock-builders/event/userUpdated.js +3 -2
- package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +0 -3
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +10 -12
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/member.js +3 -2
- package/lib/module/mock-builders/generator/member.js.map +1 -1
- package/lib/module/mock-builders/generator/message.js +12 -7
- package/lib/module/mock-builders/generator/message.js.map +1 -1
- package/lib/module/mock-builders/generator/reaction.js +3 -2
- package/lib/module/mock-builders/generator/reaction.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js +4 -3
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js +15 -11
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteMessage.js.map +1 -1
- package/lib/module/store/apis/upsertDraft.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/module/test-utils/BetterSqlite.js +11 -7
- package/lib/module/test-utils/BetterSqlite.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts +1 -1
- package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts.map +1 -1
- package/lib/typescript/store/OfflineDB.d.ts +1 -1
- package/lib/typescript/store/OfflineDB.d.ts.map +1 -1
- package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteMessage.d.ts +2 -1
- package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertDraft.d.ts +1 -1
- package/lib/typescript/store/apis/upsertDraft.d.ts.map +1 -1
- package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts.map +1 -1
- package/lib/typescript/test-utils/BetterSqlite.d.ts +4 -3
- package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/__tests__/offline-support/{offline-feature.js → offline-feature.tsx} +282 -139
- package/src/__tests__/offline-support/{optimistic-update.js → optimistic-update.tsx} +154 -84
- package/src/components/Attachment/__tests__/{Attachment.test.js → Attachment.test.tsx} +12 -8
- package/src/components/Attachment/__tests__/{Gallery.test.js → Gallery.test.tsx} +10 -3
- package/src/components/Attachment/__tests__/{Giphy.test.js → Giphy.test.tsx} +48 -19
- package/src/components/Attachment/__tests__/{buildGallery.test.js → buildGallery.test.ts} +4 -2
- package/src/components/AutoCompleteInput/__tests__/{AutoCompleteInput.test.js → AutoCompleteInput.test.tsx} +21 -11
- package/src/components/Channel/__tests__/{Channel.test.js → Channel.test.tsx} +129 -89
- package/src/components/Channel/__tests__/{isAttachmentEqualHandler.test.js → isAttachmentEqualHandler.test.tsx} +25 -8
- package/src/components/Channel/__tests__/{ownCapabilities.test.js → ownCapabilities.test.tsx} +16 -12
- package/src/components/Channel/__tests__/{useMessageListPagination.test.js → useMessageListPagination.test.tsx} +105 -63
- package/src/components/ChannelList/__tests__/{ChannelList.test.js → ChannelList.test.tsx} +63 -29
- package/src/components/ChannelList/__tests__/{ChannelListView.test.js → ChannelListView.test.tsx} +30 -20
- package/src/components/ChannelList/hooks/__tests__/useChannelActionItems.test.tsx +6 -6
- package/src/components/ChannelList/hooks/__tests__/useChannelActionItemsById.test.tsx +2 -2
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +17 -14
- package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +14 -4
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +23 -12
- package/src/components/ChannelPreview/__tests__/{ChannelPreviewView.test.js → ChannelPreviewView.test.tsx} +9 -34
- package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +4 -2
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +1 -1
- package/src/components/Chat/__tests__/{Chat.test.js → Chat.test.tsx} +37 -30
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +10 -14
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
- package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +5 -4
- package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +7 -6
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +9 -13
- package/src/components/Message/MessageItemView/__tests__/{Message.test.js → Message.test.tsx} +20 -11
- package/src/components/Message/MessageItemView/__tests__/{MessageAuthor.test.js → MessageAuthor.test.tsx} +10 -12
- package/src/components/Message/MessageItemView/__tests__/{MessageContent.test.js → MessageContent.test.tsx} +22 -12
- package/src/components/Message/MessageItemView/__tests__/{MessageItemView.test.js → MessageItemView.test.tsx} +11 -4
- package/src/components/Message/MessageItemView/__tests__/{MessagePinnedHeader.test.js → MessagePinnedHeader.test.tsx} +5 -3
- package/src/components/Message/MessageItemView/__tests__/{MessageReplies.test.js → MessageReplies.test.tsx} +15 -36
- package/src/components/Message/MessageItemView/__tests__/{MessageStatus.test.js → MessageStatus.test.tsx} +20 -10
- package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -8
- package/src/components/Message/MessageItemView/__tests__/{ReactionListBottom.test.js → ReactionListBottom.test.tsx} +19 -8
- package/src/components/Message/MessageItemView/__tests__/{ReactionListTop.test.js → ReactionListTop.test.tsx} +8 -4
- package/src/components/Message/MessageItemView/utils/renderText.test.tsx +2 -4
- package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -1
- package/src/components/Message/hooks/__tests__/useShouldUseOverlayStyles.test.tsx +2 -2
- package/src/components/MessageInput/__tests__/{AttachButton.test.js → AttachButton.test.tsx} +14 -4
- package/src/components/MessageInput/__tests__/{AttachmentUploadPreviewList.test.js → AttachmentUploadPreviewList.test.tsx} +27 -8
- package/src/components/MessageInput/__tests__/{AudioAttachmentUploadPreview.test.js → AudioAttachmentUploadPreview.test.tsx} +18 -5
- package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +47 -15
- package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +57 -17
- package/src/components/MessageInput/__tests__/{InputButtons.test.js → InputButtons.test.tsx} +14 -4
- package/src/components/MessageInput/__tests__/{MessageComposer.test.js → MessageComposer.test.tsx} +28 -20
- package/src/components/MessageInput/__tests__/{SendButton.test.js → SendButton.test.tsx} +13 -4
- package/src/components/MessageInput/__tests__/{SendMessageDisallowedIndicator.test.js → SendMessageDisallowedIndicator.test.tsx} +47 -31
- package/src/components/MessageList/__tests__/{MessageList.test.js → MessageList.test.tsx} +31 -34
- package/src/components/MessageList/__tests__/{MessageSystem.test.js → MessageSystem.test.tsx} +13 -5
- package/src/components/MessageList/__tests__/{ScrollToBottomButton.test.js → ScrollToBottomButton.test.tsx} +8 -12
- package/src/components/MessageList/__tests__/{TypingIndicator.test.js → TypingIndicator.test.tsx} +6 -4
- package/src/components/MessageList/__tests__/useMessageList.test.tsx +2 -2
- package/src/components/MessageList/hooks/useMessageList.ts +1 -1
- package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +4 -1
- package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +1 -0
- package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +6 -2
- package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +3 -3
- package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +7 -3
- package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +2 -1
- package/src/components/Thread/__tests__/{Thread.test.js → Thread.test.tsx} +41 -13
- package/src/components/Thread/__tests__/__snapshots__/{Thread.test.js.snap → Thread.test.tsx.snap} +0 -21
- package/src/components/UIComponents/SwipableWrapper.tsx +1 -1
- package/src/components/UIComponents/__tests__/SwipableWrapper.test.tsx +1 -1
- package/src/contexts/messageInputContext/__tests__/filePickers.test.tsx +31 -10
- package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +24 -12
- package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +2 -2
- package/src/hooks/__tests__/useTranslatedMessage.test.tsx +4 -4
- package/src/mock-builders/DB/mock.ts +1 -1
- package/src/mock-builders/api/channelMocks.tsx +39 -29
- package/src/mock-builders/api/deleteMessage.ts +21 -0
- package/src/mock-builders/api/deleteReaction.ts +23 -0
- package/src/mock-builders/api/{error.js → error.ts} +13 -5
- package/src/mock-builders/api/getOrCreateChannel.ts +22 -11
- package/src/mock-builders/api/{initiateClientWithChannels.js → initiateClientWithChannels.ts} +21 -3
- package/src/mock-builders/api/{queryChannels.js → queryChannels.ts} +2 -4
- package/src/mock-builders/api/{queryMembers.js → queryMembers.ts} +29 -27
- package/src/mock-builders/api/sendMessage.ts +25 -0
- package/src/mock-builders/api/sendReaction.ts +9 -5
- package/src/mock-builders/api/threadReplies.ts +18 -0
- package/src/mock-builders/api/{useMockedApis.js → useMockedApis.ts} +5 -4
- package/src/mock-builders/api/utils.ts +16 -0
- package/src/mock-builders/{attachments.js → attachments.ts} +24 -8
- package/src/mock-builders/event/channelDeleted.ts +12 -0
- package/src/mock-builders/event/channelHidden.ts +12 -0
- package/src/mock-builders/event/channelTruncated.ts +12 -0
- package/src/mock-builders/event/channelUpdated.ts +12 -0
- package/src/mock-builders/event/channelVisible.ts +12 -0
- package/src/mock-builders/event/connectionChanged.ts +11 -0
- package/src/mock-builders/event/connectionRecovered.ts +10 -0
- package/src/mock-builders/event/memberAdded.ts +19 -0
- package/src/mock-builders/event/memberRemoved.ts +18 -0
- package/src/mock-builders/event/memberUpdated.ts +18 -0
- package/src/mock-builders/event/messageDeleted.ts +23 -0
- package/src/mock-builders/event/messageNew.ts +26 -0
- package/src/mock-builders/event/messageRead.ts +23 -0
- package/src/mock-builders/event/messageUpdated.ts +23 -0
- package/src/mock-builders/event/notificationAddedToChannel.ts +12 -0
- package/src/mock-builders/event/notificationChannelMutesUpdated.ts +12 -0
- package/src/mock-builders/event/notificationMarkRead.ts +12 -0
- package/src/mock-builders/event/notificationMarkUnread.ts +22 -0
- package/src/mock-builders/event/notificationMessageNew.ts +12 -0
- package/src/mock-builders/event/notificationMutesUpdated.ts +16 -0
- package/src/mock-builders/event/notificationRemovedFromChannel.ts +12 -0
- package/src/mock-builders/event/reactionDeleted.ts +26 -0
- package/src/mock-builders/event/reactionNew.ts +26 -0
- package/src/mock-builders/event/reactionUpdated.ts +26 -0
- package/src/mock-builders/event/typing.ts +18 -0
- package/src/mock-builders/event/userPresence.ts +13 -0
- package/src/mock-builders/event/userUpdated.ts +13 -0
- package/src/mock-builders/generator/{attachment.js → attachment.ts} +17 -13
- package/src/mock-builders/generator/channel.ts +70 -39
- package/src/mock-builders/generator/member.ts +18 -0
- package/src/mock-builders/generator/message.ts +50 -0
- package/src/mock-builders/generator/reaction.ts +15 -0
- package/src/mock-builders/generator/{user.js → user.ts} +20 -16
- package/src/mock-builders/mock.ts +79 -0
- package/src/state-store/__tests__/audio-player.test.ts +3 -1
- package/src/state-store/__tests__/image-gallery-state-store.test.ts +31 -28
- package/src/state-store/__tests__/video-player-pool.test.ts +9 -9
- package/src/store/apis/__tests__/updatePendingTask.test.ts +17 -6
- package/src/store/apis/addPendingTask.ts +2 -1
- package/src/store/apis/deleteMessage.ts +2 -1
- package/src/store/apis/upsertDraft.ts +2 -2
- package/src/store/sqlite-utils/appendOrderByClause.ts +1 -1
- package/src/store/sqlite-utils/appendWhereCluase.ts +1 -1
- package/src/store/sqlite-utils/createCreateTableQuery.ts +7 -5
- package/src/test-utils/BetterSqlite.ts +38 -0
- package/src/utils/__tests__/{Streami18n.test.js → Streami18n.test.ts} +66 -31
- package/src/utils/__tests__/getResizedImageUrl.test.ts +10 -8
- package/src/utils/__tests__/{utils.test.js → utils.test.ts} +1 -1
- package/src/version.json +1 -1
- package/src/mock-builders/api/deleteMessage.js +0 -18
- package/src/mock-builders/api/deleteReaction.js +0 -19
- package/src/mock-builders/api/sendMessage.js +0 -18
- package/src/mock-builders/api/threadReplies.js +0 -16
- package/src/mock-builders/api/utils.js +0 -7
- package/src/mock-builders/event/channelDeleted.js +0 -7
- package/src/mock-builders/event/channelHidden.js +0 -7
- package/src/mock-builders/event/channelTruncated.js +0 -7
- package/src/mock-builders/event/channelUpdated.js +0 -7
- package/src/mock-builders/event/channelVisible.js +0 -7
- package/src/mock-builders/event/connectionChanged.js +0 -6
- package/src/mock-builders/event/connectionRecovered.js +0 -5
- package/src/mock-builders/event/memberAdded.js +0 -10
- package/src/mock-builders/event/memberRemoved.js +0 -9
- package/src/mock-builders/event/memberUpdated.js +0 -9
- package/src/mock-builders/event/messageDeleted.js +0 -8
- package/src/mock-builders/event/messageNew.js +0 -11
- package/src/mock-builders/event/messageRead.js +0 -15
- package/src/mock-builders/event/messageUpdated.js +0 -8
- package/src/mock-builders/event/notificationAddedToChannel.js +0 -7
- package/src/mock-builders/event/notificationChannelMutesUpdated.js +0 -7
- package/src/mock-builders/event/notificationMarkRead.js +0 -7
- package/src/mock-builders/event/notificationMarkUnread.js +0 -12
- package/src/mock-builders/event/notificationMessageNew.js +0 -7
- package/src/mock-builders/event/notificationMutesUpdated.js +0 -11
- package/src/mock-builders/event/notificationRemovedFromChannel.js +0 -7
- package/src/mock-builders/event/reactionDeleted.js +0 -9
- package/src/mock-builders/event/reactionNew.js +0 -9
- package/src/mock-builders/event/reactionUpdated.js +0 -9
- package/src/mock-builders/event/typing.js +0 -9
- package/src/mock-builders/event/userPresence.js +0 -8
- package/src/mock-builders/event/userUpdated.js +0 -8
- package/src/mock-builders/generator/member.js +0 -13
- package/src/mock-builders/generator/message.js +0 -32
- package/src/mock-builders/generator/reaction.js +0 -12
- package/src/mock-builders/mock.js +0 -57
- package/src/test-utils/BetterSqlite.js +0 -36
- /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessageAuthor.test.js.snap → MessageAuthor.test.tsx.snap} +0 -0
- /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessagePinnedHeader.test.js.snap → MessagePinnedHeader.test.tsx.snap} +0 -0
- /package/src/components/MessageInput/__tests__/__snapshots__/{AttachButton.test.js.snap → AttachButton.test.tsx.snap} +0 -0
- /package/src/components/MessageInput/__tests__/__snapshots__/{SendButton.test.js.snap → SendButton.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{MessageSystem.test.js.snap → MessageSystem.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{ScrollToBottomButton.test.js.snap → ScrollToBottomButton.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{TypingIndicator.test.js.snap → TypingIndicator.test.tsx.snap} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
StreamChat,
|
|
8
|
+
} from 'stream-chat';
|
|
9
|
+
|
|
10
|
+
export default (
|
|
11
|
+
client: StreamChat,
|
|
12
|
+
newMessage: MessageResponse | LocalMessage,
|
|
13
|
+
channel: Partial<ChannelResponse> = {},
|
|
14
|
+
) => {
|
|
15
|
+
client.dispatchEvent(
|
|
16
|
+
fromPartial<Event>({
|
|
17
|
+
channel,
|
|
18
|
+
cid: channel.cid,
|
|
19
|
+
message: newMessage as MessageResponse,
|
|
20
|
+
type: 'message.updated',
|
|
21
|
+
}),
|
|
22
|
+
);
|
|
23
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'notification.added_to_channel',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'notification.channel_mutes_updated',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'notification.mark_read',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat, UserResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
channel: Partial<ChannelResponse> = {},
|
|
7
|
+
payload: Partial<Event> = {},
|
|
8
|
+
user: Partial<UserResponse> = {},
|
|
9
|
+
) => {
|
|
10
|
+
const newDate = new Date() as unknown as string;
|
|
11
|
+
client.dispatchEvent(
|
|
12
|
+
fromPartial<Event>({
|
|
13
|
+
channel,
|
|
14
|
+
cid: channel.cid,
|
|
15
|
+
created_at: newDate,
|
|
16
|
+
received_at: newDate,
|
|
17
|
+
type: 'notification.mark_unread',
|
|
18
|
+
user,
|
|
19
|
+
...payload,
|
|
20
|
+
}),
|
|
21
|
+
);
|
|
22
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'notification.message_new',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { Event, Mute, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, mutes: Mute[] = []) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
created_at: '2020-05-26T07:11:57.968294216Z',
|
|
8
|
+
me: {
|
|
9
|
+
...client.user,
|
|
10
|
+
channel_mutes: [],
|
|
11
|
+
mutes,
|
|
12
|
+
},
|
|
13
|
+
type: 'notification.mutes_updated',
|
|
14
|
+
}),
|
|
15
|
+
);
|
|
16
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'notification.removed_from_channel',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
ReactionResponse,
|
|
8
|
+
StreamChat,
|
|
9
|
+
} from 'stream-chat';
|
|
10
|
+
|
|
11
|
+
export default (
|
|
12
|
+
client: StreamChat,
|
|
13
|
+
reaction: ReactionResponse,
|
|
14
|
+
message: MessageResponse | LocalMessage,
|
|
15
|
+
channel: Partial<ChannelResponse> = {},
|
|
16
|
+
) => {
|
|
17
|
+
client.dispatchEvent(
|
|
18
|
+
fromPartial<Event>({
|
|
19
|
+
channel,
|
|
20
|
+
cid: channel.cid,
|
|
21
|
+
message: message as MessageResponse,
|
|
22
|
+
reaction,
|
|
23
|
+
type: 'reaction.deleted',
|
|
24
|
+
}),
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
ReactionResponse,
|
|
8
|
+
StreamChat,
|
|
9
|
+
} from 'stream-chat';
|
|
10
|
+
|
|
11
|
+
export default (
|
|
12
|
+
client: StreamChat,
|
|
13
|
+
reaction: ReactionResponse,
|
|
14
|
+
message: MessageResponse | LocalMessage,
|
|
15
|
+
channel: Partial<ChannelResponse> = {},
|
|
16
|
+
) => {
|
|
17
|
+
client.dispatchEvent(
|
|
18
|
+
fromPartial<Event>({
|
|
19
|
+
channel,
|
|
20
|
+
cid: channel.cid,
|
|
21
|
+
message: message as MessageResponse,
|
|
22
|
+
reaction,
|
|
23
|
+
type: 'reaction.new',
|
|
24
|
+
}),
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
ReactionResponse,
|
|
8
|
+
StreamChat,
|
|
9
|
+
} from 'stream-chat';
|
|
10
|
+
|
|
11
|
+
export default (
|
|
12
|
+
client: StreamChat,
|
|
13
|
+
reaction: ReactionResponse,
|
|
14
|
+
message: MessageResponse | LocalMessage,
|
|
15
|
+
channel: Partial<ChannelResponse> = {},
|
|
16
|
+
) => {
|
|
17
|
+
client.dispatchEvent(
|
|
18
|
+
fromPartial<Event>({
|
|
19
|
+
channel,
|
|
20
|
+
cid: channel.cid,
|
|
21
|
+
message: message as MessageResponse,
|
|
22
|
+
reaction,
|
|
23
|
+
type: 'reaction.updated',
|
|
24
|
+
}),
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat, UserResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
user: Partial<UserResponse> = {},
|
|
7
|
+
channel: Partial<ChannelResponse> = {},
|
|
8
|
+
) => {
|
|
9
|
+
client.dispatchEvent(
|
|
10
|
+
fromPartial<Event>({
|
|
11
|
+
channel,
|
|
12
|
+
cid: channel.cid,
|
|
13
|
+
type: 'typing.start',
|
|
14
|
+
user,
|
|
15
|
+
user_id: user.id,
|
|
16
|
+
}),
|
|
17
|
+
);
|
|
18
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat, UserResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, user: UserResponse, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'user.presence.changed',
|
|
10
|
+
user,
|
|
11
|
+
}),
|
|
12
|
+
);
|
|
13
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat, UserResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, user: UserResponse, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'user.updated',
|
|
10
|
+
user,
|
|
11
|
+
}),
|
|
12
|
+
);
|
|
13
|
+
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import type { Action, Attachment } from 'stream-chat';
|
|
1
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
3
|
|
|
3
4
|
const image_url = 'http://www.jackblack.com/tenac_iousd.bmp';
|
|
4
5
|
|
|
5
|
-
export const generateAttachmentAction = (a) => ({
|
|
6
|
+
export const generateAttachmentAction = (a?: Partial<Action>): Action => ({
|
|
6
7
|
name: uuidv4(),
|
|
7
8
|
text: uuidv4(),
|
|
8
9
|
value: uuidv4(),
|
|
9
10
|
...a,
|
|
10
11
|
});
|
|
11
12
|
|
|
12
|
-
export const generateVideoAttachment = (a) => ({
|
|
13
|
+
export const generateVideoAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
13
14
|
asset_url: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
|
|
14
15
|
mime_type: 'video/mp4',
|
|
15
16
|
thumb_url:
|
|
@@ -19,15 +20,20 @@ export const generateVideoAttachment = (a) => ({
|
|
|
19
20
|
...a,
|
|
20
21
|
});
|
|
21
22
|
|
|
22
|
-
export const generateImageAttachment = (a) => ({
|
|
23
|
-
id: uuidv4(),
|
|
23
|
+
export const generateImageAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
24
24
|
image_url: uuidv4(),
|
|
25
25
|
title: uuidv4(),
|
|
26
26
|
type: 'image',
|
|
27
27
|
...a,
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
type UploadPreview = {
|
|
31
|
+
file: { uri?: string; name?: string; type?: string };
|
|
32
|
+
id: string;
|
|
33
|
+
state: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const generateImageUploadPreview = (a?: Partial<UploadPreview>): UploadPreview => ({
|
|
31
37
|
file: {
|
|
32
38
|
uri: image_url,
|
|
33
39
|
},
|
|
@@ -36,9 +42,8 @@ export const generateImageUploadPreview = (a) => ({
|
|
|
36
42
|
...a,
|
|
37
43
|
});
|
|
38
44
|
|
|
39
|
-
export const generateAudioAttachment = (a) => ({
|
|
45
|
+
export const generateAudioAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
40
46
|
asset_url: 'http://www.jackblack.com/tribute.mp3',
|
|
41
|
-
description: uuidv4(),
|
|
42
47
|
image_url,
|
|
43
48
|
text: uuidv4(),
|
|
44
49
|
title: uuidv4(),
|
|
@@ -46,9 +51,8 @@ export const generateAudioAttachment = (a) => ({
|
|
|
46
51
|
...a,
|
|
47
52
|
});
|
|
48
53
|
|
|
49
|
-
export const generateFileAttachment = (a) => ({
|
|
54
|
+
export const generateFileAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
50
55
|
asset_url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
|
|
51
|
-
description: uuidv4(),
|
|
52
56
|
file_size: 1337,
|
|
53
57
|
mime_type: uuidv4(),
|
|
54
58
|
text: uuidv4(),
|
|
@@ -57,7 +61,7 @@ export const generateFileAttachment = (a) => ({
|
|
|
57
61
|
...a,
|
|
58
62
|
});
|
|
59
63
|
|
|
60
|
-
export const generateFileUploadPreview = (a) => ({
|
|
64
|
+
export const generateFileUploadPreview = (a?: Partial<UploadPreview>): UploadPreview => ({
|
|
61
65
|
file: {
|
|
62
66
|
name: 'dummy.pdf',
|
|
63
67
|
type: 'file',
|
|
@@ -68,7 +72,7 @@ export const generateFileUploadPreview = (a) => ({
|
|
|
68
72
|
...a,
|
|
69
73
|
});
|
|
70
74
|
|
|
71
|
-
export const generateCardAttachment = (a) => ({
|
|
75
|
+
export const generateCardAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
72
76
|
image_url,
|
|
73
77
|
og_scrape_url: uuidv4(),
|
|
74
78
|
text: uuidv4(),
|
|
@@ -78,6 +82,6 @@ export const generateCardAttachment = (a) => ({
|
|
|
78
82
|
...a,
|
|
79
83
|
});
|
|
80
84
|
|
|
81
|
-
export const generateImgurAttachment = () => generateCardAttachment({ type: 'imgur' });
|
|
85
|
+
export const generateImgurAttachment = (): Attachment => generateCardAttachment({ type: 'imgur' });
|
|
82
86
|
|
|
83
|
-
export const generateGiphyAttachment = () => generateCardAttachment({ type: 'giphy' });
|
|
87
|
+
export const generateGiphyAttachment = (): Attachment => generateCardAttachment({ type: 'giphy' });
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import type {
|
|
2
|
+
ChannelMemberResponse,
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
LocalMessage,
|
|
5
|
+
MessageResponse,
|
|
6
|
+
ReadResponse,
|
|
7
|
+
} from 'stream-chat';
|
|
2
8
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
9
|
|
|
4
10
|
import { generateUser, getUserDefaults } from './user';
|
|
@@ -29,8 +35,8 @@ const defaultConfig = {
|
|
|
29
35
|
{
|
|
30
36
|
args: '[text]',
|
|
31
37
|
description: 'Post a random gif to the channel',
|
|
32
|
-
name: 'giphy',
|
|
33
|
-
set: 'fun_set',
|
|
38
|
+
name: 'giphy' as const,
|
|
39
|
+
set: 'fun_set' as const,
|
|
34
40
|
},
|
|
35
41
|
],
|
|
36
42
|
connect_events: true,
|
|
@@ -41,6 +47,7 @@ const defaultConfig = {
|
|
|
41
47
|
name: 'messaging',
|
|
42
48
|
reactions: true,
|
|
43
49
|
read_events: true,
|
|
50
|
+
reminders: false,
|
|
44
51
|
replies: true,
|
|
45
52
|
search: true,
|
|
46
53
|
typing_events: true,
|
|
@@ -54,54 +61,78 @@ const defaultState = {
|
|
|
54
61
|
setIsUpToDate: jest.fn(),
|
|
55
62
|
};
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
export type GeneratedChannel = {
|
|
65
|
+
channel: Partial<ChannelResponse> & { config: typeof defaultConfig };
|
|
66
|
+
cid: string;
|
|
67
|
+
id: string;
|
|
68
|
+
messages: Partial<MessageResponse>[];
|
|
69
|
+
state: typeof defaultState;
|
|
70
|
+
type: string;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
type GeneratedChannelIdType = { id?: string; type?: string };
|
|
74
|
+
|
|
75
|
+
const getChannelDefaults = (opts: GeneratedChannelIdType = {}): GeneratedChannel => {
|
|
76
|
+
const id = opts.id ?? uuidv4();
|
|
77
|
+
const type = opts.type ?? 'messaging';
|
|
78
|
+
return {
|
|
79
|
+
channel: {
|
|
80
|
+
cid: `${type}:${id}`,
|
|
81
|
+
config: {
|
|
82
|
+
...defaultConfig,
|
|
83
|
+
name: type,
|
|
84
|
+
},
|
|
85
|
+
created_at: '2020-04-28T11:20:48.578147Z',
|
|
86
|
+
created_by: getUserDefaults(),
|
|
87
|
+
frozen: false,
|
|
88
|
+
id,
|
|
89
|
+
own_capabilities: defaultCapabilities,
|
|
66
90
|
type,
|
|
91
|
+
updated_at: '2020-04-28T11:20:48.578147Z',
|
|
67
92
|
},
|
|
68
|
-
|
|
69
|
-
created_by: getUserDefaults(),
|
|
70
|
-
frozen: false,
|
|
93
|
+
cid: `${type}:${id}`,
|
|
71
94
|
id,
|
|
72
|
-
|
|
95
|
+
messages: [],
|
|
96
|
+
state: defaultState,
|
|
73
97
|
type,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
cid: `${type}:${id}`,
|
|
77
|
-
id,
|
|
78
|
-
messages: [],
|
|
79
|
-
state: defaultState,
|
|
80
|
-
type,
|
|
81
|
-
});
|
|
98
|
+
};
|
|
99
|
+
};
|
|
82
100
|
|
|
83
|
-
export const generateChannel = (
|
|
84
|
-
|
|
101
|
+
export const generateChannel = (
|
|
102
|
+
customValues: Partial<GeneratedChannel> & Record<string, unknown> = {},
|
|
103
|
+
): GeneratedChannel =>
|
|
104
|
+
Object.keys(customValues).reduce<GeneratedChannel>((accumulated, current) => {
|
|
105
|
+
const key = current as keyof GeneratedChannel;
|
|
85
106
|
if (current in accumulated) {
|
|
86
|
-
|
|
87
|
-
accumulated[key] =
|
|
107
|
+
(accumulated as Record<string, unknown>)[current] =
|
|
88
108
|
typeof accumulated[key] === 'object'
|
|
89
|
-
? { ...accumulated[key], ...customValues[
|
|
90
|
-
:
|
|
109
|
+
? { ...(accumulated[key] as object), ...(customValues[current] as object) }
|
|
110
|
+
: customValues[current];
|
|
91
111
|
return accumulated;
|
|
92
112
|
}
|
|
93
|
-
return { ...accumulated, [current]: customValues[current] };
|
|
113
|
+
return { ...accumulated, [current]: customValues[current] } as GeneratedChannel;
|
|
94
114
|
}, getChannelDefaults());
|
|
95
115
|
|
|
116
|
+
type ChannelResponseMessage = Partial<MessageResponse> | LocalMessage;
|
|
117
|
+
|
|
118
|
+
export type GeneratedChannelResponseCustomValues = {
|
|
119
|
+
channel?: Partial<ChannelResponse>;
|
|
120
|
+
id?: string;
|
|
121
|
+
messages?: ChannelResponseMessage[];
|
|
122
|
+
members?: Partial<ChannelMemberResponse>[];
|
|
123
|
+
read?: Partial<ReadResponse>[];
|
|
124
|
+
type?: string;
|
|
125
|
+
};
|
|
126
|
+
|
|
96
127
|
export const generateChannelResponse = (
|
|
97
|
-
customValues: {
|
|
98
|
-
channel
|
|
99
|
-
id
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
read
|
|
103
|
-
type
|
|
104
|
-
}
|
|
128
|
+
customValues: GeneratedChannelResponseCustomValues = {
|
|
129
|
+
channel: {},
|
|
130
|
+
id: uuidv4(),
|
|
131
|
+
members: [],
|
|
132
|
+
messages: [],
|
|
133
|
+
read: [],
|
|
134
|
+
type: 'messaging',
|
|
135
|
+
},
|
|
105
136
|
) => {
|
|
106
137
|
const {
|
|
107
138
|
channel = {},
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelMemberResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
import { generateUser } from './user';
|
|
5
|
+
|
|
6
|
+
export const generateMember = (
|
|
7
|
+
options: Partial<ChannelMemberResponse> = {},
|
|
8
|
+
): ChannelMemberResponse => {
|
|
9
|
+
const user = (options && options.user) || generateUser();
|
|
10
|
+
return fromPartial<ChannelMemberResponse>({
|
|
11
|
+
invited: false,
|
|
12
|
+
is_moderator: false,
|
|
13
|
+
role: 'member',
|
|
14
|
+
user,
|
|
15
|
+
user_id: user.id,
|
|
16
|
+
...options,
|
|
17
|
+
});
|
|
18
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { LocalMessage } from 'stream-chat';
|
|
3
|
+
import { v4 as uuidv4, v5 as uuidv5 } from 'uuid';
|
|
4
|
+
|
|
5
|
+
import { generateUser } from './user';
|
|
6
|
+
|
|
7
|
+
type GenerateMessageOptions = Partial<LocalMessage> & { timestamp?: Date };
|
|
8
|
+
|
|
9
|
+
// Returns a `LocalMessage`-shaped mock. Components across this SDK consume
|
|
10
|
+
// `LocalMessage` (with `Date` objects for `created_at`/`updated_at`/`pinned_at`/
|
|
11
|
+
// `deleted_at`), so the mock matches that shape. For tests that feed mock data
|
|
12
|
+
// into an API response where the server returns `MessageResponse` (strings for
|
|
13
|
+
// dates), cast at the call site — runtime values are the same either way.
|
|
14
|
+
export const generateMessage = (options: GenerateMessageOptions = {}): LocalMessage => {
|
|
15
|
+
const timestamp =
|
|
16
|
+
options.timestamp || new Date(new Date().getTime() - Math.floor(Math.random() * 100000));
|
|
17
|
+
|
|
18
|
+
return fromPartial<LocalMessage>({
|
|
19
|
+
attachments: [],
|
|
20
|
+
created_at: timestamp,
|
|
21
|
+
deleted_at: null,
|
|
22
|
+
html: '<p>regular</p>',
|
|
23
|
+
id: uuidv4(),
|
|
24
|
+
message_text_updated_at: timestamp.toISOString(),
|
|
25
|
+
pinned_at: null,
|
|
26
|
+
status: 'received',
|
|
27
|
+
text: uuidv4(),
|
|
28
|
+
type: 'regular',
|
|
29
|
+
updated_at: timestamp,
|
|
30
|
+
user: generateUser(),
|
|
31
|
+
...options,
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const StreamReactNativeNamespace = '9b244ee4-7d69-4d7b-ae23-cf89e9f7b035';
|
|
36
|
+
export const generateStaticMessage = (
|
|
37
|
+
seed: string,
|
|
38
|
+
options?: GenerateMessageOptions,
|
|
39
|
+
date?: string | Date,
|
|
40
|
+
): LocalMessage => {
|
|
41
|
+
const staticDate = date ? new Date(date) : new Date('2020-04-27T13:39:49.331742Z');
|
|
42
|
+
return generateMessage({
|
|
43
|
+
created_at: staticDate,
|
|
44
|
+
id: uuidv5(seed, StreamReactNativeNamespace),
|
|
45
|
+
message_text_updated_at: staticDate.toISOString(),
|
|
46
|
+
text: seed,
|
|
47
|
+
updated_at: staticDate,
|
|
48
|
+
...options,
|
|
49
|
+
});
|
|
50
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ReactionResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
import { generateUser } from './user';
|
|
5
|
+
|
|
6
|
+
export const generateReaction = (options: Partial<ReactionResponse> = {}): ReactionResponse => {
|
|
7
|
+
const user = options.user || generateUser();
|
|
8
|
+
return fromPartial<ReactionResponse>({
|
|
9
|
+
created_at: new Date() as unknown as string,
|
|
10
|
+
type: 'love',
|
|
11
|
+
user,
|
|
12
|
+
user_id: user.id,
|
|
13
|
+
...options,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
@@ -1,22 +1,26 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { UserResponse } from 'stream-chat';
|
|
1
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
4
|
|
|
3
|
-
export const getUserDefaults = () =>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
export const getUserDefaults = (): UserResponse =>
|
|
6
|
+
fromPartial<UserResponse>({
|
|
7
|
+
banned: false,
|
|
8
|
+
created_at: '2020-04-27T13:39:49.331742Z',
|
|
9
|
+
id: uuidv4(),
|
|
10
|
+
image: uuidv4(),
|
|
11
|
+
name: uuidv4(),
|
|
12
|
+
online: false,
|
|
13
|
+
role: 'user',
|
|
14
|
+
updated_at: '2020-04-27T13:39:49.332087Z',
|
|
15
|
+
});
|
|
13
16
|
|
|
14
|
-
export const generateUser = (options = {}) =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
export const generateUser = (options: Partial<UserResponse> = {}): UserResponse =>
|
|
18
|
+
fromPartial<UserResponse>({
|
|
19
|
+
...getUserDefaults(),
|
|
20
|
+
...options,
|
|
21
|
+
});
|
|
18
22
|
|
|
19
|
-
const staticUsers = [
|
|
23
|
+
const staticUsers: UserResponse[] = [
|
|
20
24
|
// By the order of...
|
|
21
25
|
generateUser({
|
|
22
26
|
id: 'tommy',
|
|
@@ -40,7 +44,7 @@ const staticUsers = [
|
|
|
40
44
|
}),
|
|
41
45
|
];
|
|
42
46
|
|
|
43
|
-
export const generateStaticUser = (userNumber) => {
|
|
47
|
+
export const generateStaticUser = (userNumber: number): UserResponse => {
|
|
44
48
|
if (userNumber - 1 > staticUsers.length) {
|
|
45
49
|
throw new Error(`Tried getting a static user that doesn't exist.
|
|
46
50
|
Index: ${userNumber} , number of users: ${staticUsers.length}`);
|