stream-chat-react-native-core 5.0.0-offline-support.2 → 5.0.0-offline-support.5

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.
Files changed (24) hide show
  1. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +6 -4
  2. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -1
  3. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
  4. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  5. package/lib/commonjs/store/mappers/mapStorableToChannel.js +1 -1
  6. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
  7. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +2 -1
  8. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  9. package/lib/commonjs/version.json +1 -1
  10. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +6 -4
  11. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -1
  12. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
  13. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  14. package/lib/module/store/mappers/mapStorableToChannel.js +1 -1
  15. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
  16. package/lib/module/store/sqlite-utils/appendWhereCluase.js +2 -1
  17. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  18. package/lib/module/version.json +1 -1
  19. package/package.json +1 -1
  20. package/src/components/ChannelList/hooks/listeners/handleEventToSyncDB.ts +1 -1
  21. package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
  22. package/src/store/mappers/mapStorableToChannel.ts +1 -1
  23. package/src/store/sqlite-utils/appendWhereCluase.ts +3 -1
  24. package/src/version.json +1 -1
@@ -104,13 +104,15 @@ var handleEventToSyncDB = function handleEventToSyncDB(event, flush) {
104
104
  }
105
105
 
106
106
  if (type === 'channels.queried') {
107
- if (event.queriedChannels) {
108
- var _event$queriedChannel, _event$queriedChannel2;
107
+ var _event$queriedChannel, _event$queriedChannel2;
108
+
109
+ if ((_event$queriedChannel = event.queriedChannels) != null && (_event$queriedChannel2 = _event$queriedChannel.channels) != null && _event$queriedChannel2.length) {
110
+ var _event$queriedChannel3, _event$queriedChannel4;
109
111
 
110
112
  return (0, _upsertChannels.upsertChannels)({
111
- channels: (_event$queriedChannel = event.queriedChannels) == null ? void 0 : _event$queriedChannel.channels,
113
+ channels: (_event$queriedChannel3 = event.queriedChannels) == null ? void 0 : _event$queriedChannel3.channels,
112
114
  flush: flush,
113
- isLatestMessagesSet: (_event$queriedChannel2 = event.queriedChannels) == null ? void 0 : _event$queriedChannel2.isLatestMessageSet
115
+ isLatestMessagesSet: (_event$queriedChannel4 = event.queriedChannels) == null ? void 0 : _event$queriedChannel4.isLatestMessageSet
114
116
  });
115
117
  }
116
118
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["handleEventToSyncDB.ts"],"names":["handleEventToSyncDB","event","flush","type","user","id","cid","reads","last_read","received_at","unread_messages","message","parent_id","messages","reaction","channel","queriedChannels","channels","isLatestMessagesSet","isLatestMessageSet","member","members"],"mappings":"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","sourcesContent":["import type { Event } from 'stream-chat';\n\nimport { deleteChannel } from '../../../../store/apis/deleteChannel';\nimport { deleteMember } from '../../../../store/apis/deleteMember';\nimport { deleteMessagesForChannel } from '../../../../store/apis/deleteMessagesForChannel';\nimport { updateMessage } from '../../../../store/apis/updateMessage';\nimport { upsertChannelData } from '../../../../store/apis/upsertChannelData';\nimport { upsertChannels } from '../../../../store/apis/upsertChannels';\nimport { upsertMembers } from '../../../../store/apis/upsertMembers';\nimport { upsertMessages } from '../../../../store/apis/upsertMessages';\nimport { upsertReads } from '../../../../store/apis/upsertReads';\n\nexport const handleEventToSyncDB = (event: Event, flush?: boolean) => {\n const { type } = event;\n\n if (type === 'message.read') {\n if (event.user?.id && event.cid) {\n return upsertReads({\n cid: event.cid,\n flush,\n reads: [\n {\n last_read: event.received_at as string,\n unread_messages: 0,\n user: event.user,\n },\n ],\n });\n }\n }\n\n if (type === 'message.new') {\n if (event.message && !event.message.parent_id) {\n return upsertMessages({\n flush,\n messages: [event.message],\n });\n }\n }\n\n if (type === 'message.updated' || type === 'message.deleted') {\n if (event.message && !event.message.parent_id) {\n // Update only if it exists, otherwise event could be related\n // to a message which is not in database.\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.updated') {\n if (event.message && event.reaction) {\n // We update the entire message to make sure we also update\n // reaction_counts.\n updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.new' || type === 'reaction.deleted') {\n if (event.message && !event.message.parent_id) {\n // Here we are relying on the fact message.latest_reactions always includes\n // the new reaction. So we first delete all the existing reactions and populate\n // the reactions table with message.latest_reactions\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (\n type === 'channel.updated' ||\n type === 'channel.visible' ||\n type === 'notification.added_to_channel' ||\n type === 'notification.message_new'\n ) {\n if (event.channel) {\n return upsertChannelData({\n channel: event.channel,\n flush,\n });\n }\n }\n\n if (\n type === 'channel.hidden' ||\n type === 'channel.deleted' ||\n type === 'notification.removed_from_channel'\n ) {\n if (event.channel) {\n return deleteChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channel.truncated') {\n if (event.channel) {\n return deleteMessagesForChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channels.queried') {\n if (event.queriedChannels) {\n return upsertChannels({\n channels: event.queriedChannels?.channels,\n flush,\n isLatestMessagesSet: event.queriedChannels?.isLatestMessageSet,\n });\n }\n }\n\n if (type === 'member.added' || type === 'member.updated') {\n if (event.member && event.cid) {\n return upsertMembers({\n cid: event.cid,\n flush,\n members: [event.member],\n });\n }\n }\n\n if (type === 'member.removed') {\n if (event.member && event.cid) {\n return deleteMember({\n cid: event.cid,\n flush,\n member: event.member,\n });\n }\n }\n\n return [];\n};\n"]}
1
+ {"version":3,"sources":["handleEventToSyncDB.ts"],"names":["handleEventToSyncDB","event","flush","type","user","id","cid","reads","last_read","received_at","unread_messages","message","parent_id","messages","reaction","channel","queriedChannels","channels","length","isLatestMessagesSet","isLatestMessageSet","member","members"],"mappings":"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","sourcesContent":["import type { Event } from 'stream-chat';\n\nimport { deleteChannel } from '../../../../store/apis/deleteChannel';\nimport { deleteMember } from '../../../../store/apis/deleteMember';\nimport { deleteMessagesForChannel } from '../../../../store/apis/deleteMessagesForChannel';\nimport { updateMessage } from '../../../../store/apis/updateMessage';\nimport { upsertChannelData } from '../../../../store/apis/upsertChannelData';\nimport { upsertChannels } from '../../../../store/apis/upsertChannels';\nimport { upsertMembers } from '../../../../store/apis/upsertMembers';\nimport { upsertMessages } from '../../../../store/apis/upsertMessages';\nimport { upsertReads } from '../../../../store/apis/upsertReads';\n\nexport const handleEventToSyncDB = (event: Event, flush?: boolean) => {\n const { type } = event;\n\n if (type === 'message.read') {\n if (event.user?.id && event.cid) {\n return upsertReads({\n cid: event.cid,\n flush,\n reads: [\n {\n last_read: event.received_at as string,\n unread_messages: 0,\n user: event.user,\n },\n ],\n });\n }\n }\n\n if (type === 'message.new') {\n if (event.message && !event.message.parent_id) {\n return upsertMessages({\n flush,\n messages: [event.message],\n });\n }\n }\n\n if (type === 'message.updated' || type === 'message.deleted') {\n if (event.message && !event.message.parent_id) {\n // Update only if it exists, otherwise event could be related\n // to a message which is not in database.\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.updated') {\n if (event.message && event.reaction) {\n // We update the entire message to make sure we also update\n // reaction_counts.\n updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.new' || type === 'reaction.deleted') {\n if (event.message && !event.message.parent_id) {\n // Here we are relying on the fact message.latest_reactions always includes\n // the new reaction. So we first delete all the existing reactions and populate\n // the reactions table with message.latest_reactions\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (\n type === 'channel.updated' ||\n type === 'channel.visible' ||\n type === 'notification.added_to_channel' ||\n type === 'notification.message_new'\n ) {\n if (event.channel) {\n return upsertChannelData({\n channel: event.channel,\n flush,\n });\n }\n }\n\n if (\n type === 'channel.hidden' ||\n type === 'channel.deleted' ||\n type === 'notification.removed_from_channel'\n ) {\n if (event.channel) {\n return deleteChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channel.truncated') {\n if (event.channel) {\n return deleteMessagesForChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channels.queried') {\n if (event.queriedChannels?.channels?.length) {\n return upsertChannels({\n channels: event.queriedChannels?.channels,\n flush,\n isLatestMessagesSet: event.queriedChannels?.isLatestMessageSet,\n });\n }\n }\n\n if (type === 'member.added' || type === 'member.updated') {\n if (event.member && event.cid) {\n return upsertMembers({\n cid: event.cid,\n flush,\n members: [event.member],\n });\n }\n }\n\n if (type === 'member.removed') {\n if (event.member && event.cid) {\n return deleteMember({\n cid: event.cid,\n flush,\n member: event.member,\n });\n }\n }\n\n return [];\n};\n"]}
@@ -33,7 +33,7 @@ function useStateManager(_ref, initialValue) {
33
33
  }
34
34
 
35
35
  function useChannelState(channel, threadId) {
36
- var _channel$state, _channel$state2, _channel$state2$threa;
36
+ var _channel$state, _channel$state2, _channel$state3, _channel$state4, _channel$state4$threa;
37
37
 
38
38
  var cid = (channel == null ? void 0 : channel.id) || 'id';
39
39
 
@@ -59,7 +59,7 @@ function useChannelState(channel, threadId) {
59
59
  key: 'members',
60
60
  setState: setState,
61
61
  state: state
62
- }, {}),
62
+ }, (channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.members) || {}),
63
63
  _useStateManager2 = (0, _slicedToArray2["default"])(_useStateManager, 2),
64
64
  members = _useStateManager2[0],
65
65
  setMembers = _useStateManager2[1];
@@ -69,7 +69,7 @@ function useChannelState(channel, threadId) {
69
69
  key: 'messages',
70
70
  setState: setState,
71
71
  state: state
72
- }, (channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.messages) || []),
72
+ }, (channel == null ? void 0 : (_channel$state2 = channel.state) == null ? void 0 : _channel$state2.messages) || []),
73
73
  _useStateManager4 = (0, _slicedToArray2["default"])(_useStateManager3, 2),
74
74
  messages = _useStateManager4[0],
75
75
  setMessages = _useStateManager4[1];
@@ -79,7 +79,7 @@ function useChannelState(channel, threadId) {
79
79
  key: 'read',
80
80
  setState: setState,
81
81
  state: state
82
- }, {}),
82
+ }, (channel == null ? void 0 : (_channel$state3 = channel.state) == null ? void 0 : _channel$state3.read) || {}),
83
83
  _useStateManager6 = (0, _slicedToArray2["default"])(_useStateManager5, 2),
84
84
  read = _useStateManager6[0],
85
85
  setRead = _useStateManager6[1];
@@ -119,7 +119,7 @@ function useChannelState(channel, threadId) {
119
119
  key: 'threadMessages',
120
120
  setState: setState,
121
121
  state: state
122
- }, threadId && (channel == null ? void 0 : (_channel$state2 = channel.state) == null ? void 0 : (_channel$state2$threa = _channel$state2.threads) == null ? void 0 : _channel$state2$threa[threadId]) || []),
122
+ }, threadId && (channel == null ? void 0 : (_channel$state4 = channel.state) == null ? void 0 : (_channel$state4$threa = _channel$state4.threads) == null ? void 0 : _channel$state4$threa[threadId]) || []),
123
123
  _useStateManager14 = (0, _slicedToArray2["default"])(_useStateManager13, 2),
124
124
  threadMessages = _useStateManager14[0],
125
125
  setThreadMessages = _useStateManager14[1];
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\n\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsStateContextValue<StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<StreamChatGenerics>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<StreamChatGenerics>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<StreamChatGenerics>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelState<StreamChatGenerics>['members'];\n messages: ChannelState<StreamChatGenerics>['messages'];\n read: ChannelState<StreamChatGenerics>['read'];\n setMembers: (value: ChannelState<StreamChatGenerics>['members']) => void;\n setMessages: (value: ChannelState<StreamChatGenerics>['messages']) => void;\n setRead: (value: ChannelState<StreamChatGenerics>['read']) => void;\n setThreadMessages: (value: ChannelState<StreamChatGenerics>['threadMessages']) => void;\n setTyping: (value: ChannelState<StreamChatGenerics>['typing']) => void;\n setWatcherCount: (value: ChannelState<StreamChatGenerics>['watcherCount']) => void;\n setWatchers: (value: ChannelState<StreamChatGenerics>['watchers']) => void;\n threadMessages: ChannelState<StreamChatGenerics>['threadMessages'];\n typing: ChannelState<StreamChatGenerics>['typing'];\n watcherCount: ChannelState<StreamChatGenerics>['watcherCount'];\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n};\n\nexport function useChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: ChannelType<StreamChatGenerics> | undefined,\n threadId?: string,\n): UseChannelStateValue<StreamChatGenerics> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<StreamChatGenerics>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
1
+ {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\n\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsStateContextValue<StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<StreamChatGenerics>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<StreamChatGenerics>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<StreamChatGenerics>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelState<StreamChatGenerics>['members'];\n messages: ChannelState<StreamChatGenerics>['messages'];\n read: ChannelState<StreamChatGenerics>['read'];\n setMembers: (value: ChannelState<StreamChatGenerics>['members']) => void;\n setMessages: (value: ChannelState<StreamChatGenerics>['messages']) => void;\n setRead: (value: ChannelState<StreamChatGenerics>['read']) => void;\n setThreadMessages: (value: ChannelState<StreamChatGenerics>['threadMessages']) => void;\n setTyping: (value: ChannelState<StreamChatGenerics>['typing']) => void;\n setWatcherCount: (value: ChannelState<StreamChatGenerics>['watcherCount']) => void;\n setWatchers: (value: ChannelState<StreamChatGenerics>['watchers']) => void;\n threadMessages: ChannelState<StreamChatGenerics>['threadMessages'];\n typing: ChannelState<StreamChatGenerics>['typing'];\n watcherCount: ChannelState<StreamChatGenerics>['watcherCount'];\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n};\n\nexport function useChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: ChannelType<StreamChatGenerics> | undefined,\n threadId?: string,\n): UseChannelStateValue<StreamChatGenerics> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<StreamChatGenerics>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n channel?.state?.members || {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n channel?.state?.read || {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
@@ -48,7 +48,7 @@ var mapStorableToChannel = function mapStorableToChannel(channelRow) {
48
48
  id: id,
49
49
  invites: invites && JSON.parse(invites),
50
50
  last_message_at: lastMessageAt,
51
- memberCount: memberCount,
51
+ member_count: memberCount,
52
52
  muted: muted,
53
53
  own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),
54
54
  team: team,
@@ -1 +1 @@
1
- {"version":3,"sources":["mapStorableToChannel.ts"],"names":["mapStorableToChannel","channelRow","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","id","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","channel","auto_translation_enabled","auto_translation_language","JSON","parse","created_at","created_by_id","deleted_at","last_message_at","own_capabilities","truncated_at","truncated_by","truncated_by_id","updated_at"],"mappings":";;;;;;;;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,UAHkC,EAO/B;AACH,MACEC,sBADF,GAyBID,UAzBJ,CACEC,sBADF;AAAA,MAEEC,uBAFF,GAyBIF,UAzBJ,CAEEE,uBAFF;AAAA,MAGEC,GAHF,GAyBIH,UAzBJ,CAGEG,GAHF;AAAA,MAIEC,MAJF,GAyBIJ,UAzBJ,CAIEI,MAJF;AAAA,MAKEC,QALF,GAyBIL,UAzBJ,CAKEK,QALF;AAAA,MAMEC,SANF,GAyBIN,UAzBJ,CAMEM,SANF;AAAA,MAOEC,WAPF,GAyBIP,UAzBJ,CAOEO,WAPF;AAAA,MAQEC,SARF,GAyBIR,UAzBJ,CAQEQ,SARF;AAAA,MASEC,QATF,GAyBIT,UAzBJ,CASES,QATF;AAAA,MAUEC,SAVF,GAyBIV,UAzBJ,CAUEU,SAVF;AAAA,MAWEC,MAXF,GAyBIX,UAzBJ,CAWEW,MAXF;AAAA,MAYEC,MAZF,GAyBIZ,UAzBJ,CAYEY,MAZF;AAAA,MAaEC,EAbF,GAyBIb,UAzBJ,CAaEa,EAbF;AAAA,MAcEC,OAdF,GAyBId,UAzBJ,CAcEc,OAdF;AAAA,MAeEC,aAfF,GAyBIf,UAzBJ,CAeEe,aAfF;AAAA,MAgBEC,WAhBF,GAyBIhB,UAzBJ,CAgBEgB,WAhBF;AAAA,MAiBEC,KAjBF,GAyBIjB,UAzBJ,CAiBEiB,KAjBF;AAAA,MAkBEC,eAlBF,GAyBIlB,UAzBJ,CAkBEkB,eAlBF;AAAA,MAmBEC,IAnBF,GAyBInB,UAzBJ,CAmBEmB,IAnBF;AAAA,MAoBEC,WApBF,GAyBIpB,UAzBJ,CAoBEoB,WApBF;AAAA,MAqBEC,WArBF,GAyBIrB,UAzBJ,CAqBEqB,WArBF;AAAA,MAsBEC,aAtBF,GAyBItB,UAzBJ,CAsBEsB,aAtBF;AAAA,MAuBEC,IAvBF,GAyBIvB,UAzBJ,CAuBEuB,IAvBF;AAAA,MAwBEC,SAxBF,GAyBIxB,UAzBJ,CAwBEwB,SAxBF;AA2BA,SAAO;AACLC,IAAAA,OAAO;AACLC,MAAAA,wBAAwB,EAAEzB,sBADrB;AAEL0B,MAAAA,yBAAyB,EAAEzB,uBAFtB;AAGLC,MAAAA,GAAG,EAAHA,GAHK;AAILC,MAAAA,MAAM,EAAEA,MAAM,IAAIwB,IAAI,CAACC,KAAL,CAAWzB,MAAX,CAJb;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLyB,MAAAA,UAAU,EAAExB,SANP;AAOLyB,MAAAA,aAAa,EAAExB,WAPV;AAQLyB,MAAAA,UAAU,EAAExB,SARP;AASLC,MAAAA,QAAQ,EAARA,QATK;AAULE,MAAAA,MAAM,EAANA,MAVK;AAWLC,MAAAA,MAAM,EAANA,MAXK;AAYLC,MAAAA,EAAE,EAAFA,EAZK;AAaLC,MAAAA,OAAO,EAAEA,OAAO,IAAIc,IAAI,CAACC,KAAL,CAAWf,OAAX,CAbf;AAcLmB,MAAAA,eAAe,EAAElB,aAdZ;AAeLC,MAAAA,WAAW,EAAXA,WAfK;AAgBLC,MAAAA,KAAK,EAALA,KAhBK;AAiBLiB,MAAAA,gBAAgB,EAAEhB,eAAe,IAAIU,IAAI,CAACC,KAAL,CAAWX,eAAX,CAjBhC;AAkBLC,MAAAA,IAAI,EAAJA,IAlBK;AAmBLgB,MAAAA,YAAY,EAAEf,WAnBT;AAoBLgB,MAAAA,YAAY,EAAEf,WApBT;AAqBLgB,MAAAA,eAAe,EAAEf,aArBZ;AAsBLC,MAAAA,IAAI,EAAJA,IAtBK;AAuBLe,MAAAA,UAAU,EAAEd;AAvBP,OAwBDd,SAAS,GAAGkB,IAAI,CAACC,KAAL,CAAWnB,SAAX,CAAH,GAA2B,EAxBnC;AADF,GAAP;AA4BD,CA/DM","sourcesContent":["import type { ChannelAPIResponse } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { TableRow } from '../types';\n\nexport const mapStorableToChannel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channelRow: TableRow<'channels'>,\n): Omit<\n ChannelAPIResponse<StreamChatGenerics>,\n 'duration' | 'messages' | 'members' | 'pinned_messages'\n> => {\n const {\n autoTranslationEnabled,\n autoTranslationLanguage,\n cid,\n config,\n cooldown,\n createdAt,\n createdById,\n deletedAt,\n disabled,\n extraData,\n frozen,\n hidden,\n id,\n invites,\n lastMessageAt,\n memberCount,\n muted,\n ownCapabilities,\n team,\n truncatedAt,\n truncatedBy,\n truncatedById,\n type,\n updatedAt,\n } = channelRow;\n\n return {\n channel: {\n auto_translation_enabled: autoTranslationEnabled,\n auto_translation_language: autoTranslationLanguage,\n cid,\n config: config && JSON.parse(config),\n cooldown,\n created_at: createdAt,\n created_by_id: createdById,\n deleted_at: deletedAt,\n disabled,\n frozen,\n hidden,\n id,\n invites: invites && JSON.parse(invites),\n last_message_at: lastMessageAt,\n memberCount,\n muted,\n own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),\n team,\n truncated_at: truncatedAt,\n truncated_by: truncatedBy,\n truncated_by_id: truncatedById,\n type,\n updated_at: updatedAt,\n ...(extraData ? JSON.parse(extraData) : {}),\n },\n };\n};\n"]}
1
+ {"version":3,"sources":["mapStorableToChannel.ts"],"names":["mapStorableToChannel","channelRow","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","id","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","channel","auto_translation_enabled","auto_translation_language","JSON","parse","created_at","created_by_id","deleted_at","last_message_at","member_count","own_capabilities","truncated_at","truncated_by","truncated_by_id","updated_at"],"mappings":"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","sourcesContent":["import type { ChannelAPIResponse } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { TableRow } from '../types';\n\nexport const mapStorableToChannel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channelRow: TableRow<'channels'>,\n): Omit<\n ChannelAPIResponse<StreamChatGenerics>,\n 'duration' | 'messages' | 'members' | 'pinned_messages'\n> => {\n const {\n autoTranslationEnabled,\n autoTranslationLanguage,\n cid,\n config,\n cooldown,\n createdAt,\n createdById,\n deletedAt,\n disabled,\n extraData,\n frozen,\n hidden,\n id,\n invites,\n lastMessageAt,\n memberCount,\n muted,\n ownCapabilities,\n team,\n truncatedAt,\n truncatedBy,\n truncatedById,\n type,\n updatedAt,\n } = channelRow;\n\n return {\n channel: {\n auto_translation_enabled: autoTranslationEnabled,\n auto_translation_language: autoTranslationLanguage,\n cid,\n config: config && JSON.parse(config),\n cooldown,\n created_at: createdAt,\n created_by_id: createdById,\n deleted_at: deletedAt,\n disabled,\n frozen,\n hidden,\n id,\n invites: invites && JSON.parse(invites),\n last_message_at: lastMessageAt,\n member_count: memberCount,\n muted,\n own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),\n team,\n truncated_at: truncatedAt,\n truncated_by: truncatedBy,\n truncated_by_id: truncatedById,\n type,\n updated_at: updatedAt,\n ...(extraData ? JSON.parse(extraData) : {}),\n },\n };\n};\n"]}
@@ -14,9 +14,10 @@ var appendWhereClause = function appendWhereClause(selectQuery, whereCondition)
14
14
 
15
15
  for (var key in whereCondition) {
16
16
  var value = whereCondition[key];
17
+ if (value === undefined) continue;
17
18
 
18
19
  if (Array.isArray(value)) {
19
- if (!value || value.length === 0) continue;
20
+ if (value.length === 0) continue;
20
21
  var questionMarks = Array(Object.keys(value).length).fill('?').join(',');
21
22
  whereClause.push(key + " in (" + questionMarks + ")");
22
23
  whereParams.push.apply(whereParams, (0, _toConsumableArray2["default"])(value));
@@ -1 +1 @@
1
- {"version":3,"sources":["appendWhereCluase.ts"],"names":["appendWhereClause","selectQuery","whereCondition","whereClause","whereParams","key","value","Array","isArray","length","questionMarks","Object","keys","fill","join","push"],"mappings":";;;;;;;;;AAGO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,WAD+B,EAE/BC,cAF+B,EAG5B;AACH,MAAI,CAACA,cAAL,EAAqB,OAAO,CAACD,WAAD,EAAc,EAAd,CAAP;AAErB,MAAME,WAAW,GAAG,EAApB;AACA,MAAMC,WAAsB,GAAG,EAA/B;;AAEA,OAAK,IAAMC,GAAX,IAAkBH,cAAlB,EAAkC;AAChC,QAAMI,KAAc,GAAGJ,cAAc,CAACG,GAAD,CAArC;;AACA,QAAIE,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,UAAI,CAACA,KAAD,IAAUA,KAAK,CAACG,MAAN,KAAiB,CAA/B,EAAkC;AAClC,UAAMC,aAAa,GAAGH,KAAK,CAACI,MAAM,CAACC,IAAP,CAAYN,KAAZ,EAAmBG,MAApB,CAAL,CAAiCI,IAAjC,CAAsC,GAAtC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAtB;AACAX,MAAAA,WAAW,CAACY,IAAZ,CAAoBV,GAApB,aAA+BK,aAA/B;AACAN,MAAAA,WAAW,CAACW,IAAZ,OAAAX,WAAW,sCAASE,KAAT,EAAX;AACD,KALD,MAKO;AACLH,MAAAA,WAAW,CAACY,IAAZ,CAAoBV,GAApB;AACAD,MAAAA,WAAW,CAACW,IAAZ,CAAiBT,KAAjB;AACD;AACF;;AAED,MAAI,CAACF,WAAW,CAACK,MAAjB,EAAyB;AACvB,WAAO,CAACR,WAAD,EAAc,EAAd,CAAP;AACD;;AAED,SAAO,CAAIA,WAAJ,eAAyBE,WAAW,CAACW,IAAZ,CAAiB,OAAjB,CAAzB,EAAsDV,WAAtD,CAAP;AACD,CA3BM","sourcesContent":["import type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames } from '../types';\n\nexport const appendWhereClause = <T extends keyof Schema>(\n selectQuery: string,\n whereCondition?: Partial<{ [k in TableColumnNames<T>]: any }>,\n) => {\n if (!whereCondition) return [selectQuery, []];\n\n const whereClause = [];\n const whereParams: unknown[] = [];\n\n for (const key in whereCondition) {\n const value: unknown = whereCondition[key];\n if (Array.isArray(value)) {\n if (!value || value.length === 0) continue;\n const questionMarks = Array(Object.keys(value).length).fill('?').join(',');\n whereClause.push(`${key} in (${questionMarks})`);\n whereParams.push(...value);\n } else {\n whereClause.push(`${key} = ?`);\n whereParams.push(value);\n }\n }\n\n if (!whereParams.length) {\n return [selectQuery, []];\n }\n\n return [`${selectQuery} WHERE ${whereClause.join(' AND ')}`, whereParams] as PreparedQueries;\n};\n"]}
1
+ {"version":3,"sources":["appendWhereCluase.ts"],"names":["appendWhereClause","selectQuery","whereCondition","whereClause","whereParams","key","value","undefined","Array","isArray","length","questionMarks","Object","keys","fill","join","push"],"mappings":";;;;;;;;;AAGO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,WAD+B,EAE/BC,cAF+B,EAG5B;AACH,MAAI,CAACA,cAAL,EAAqB,OAAO,CAACD,WAAD,EAAc,EAAd,CAAP;AAErB,MAAME,WAAW,GAAG,EAApB;AACA,MAAMC,WAAsB,GAAG,EAA/B;;AAEA,OAAK,IAAMC,GAAX,IAAkBH,cAAlB,EAAkC;AAChC,QAAMI,KAAc,GAAGJ,cAAc,CAACG,GAAD,CAArC;AACA,QAAIC,KAAK,KAAKC,SAAd,EAAyB;;AAEzB,QAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EAA0B;AACxB,UAAIA,KAAK,CAACI,MAAN,KAAiB,CAArB,EAAwB;AACxB,UAAMC,aAAa,GAAGH,KAAK,CAACI,MAAM,CAACC,IAAP,CAAYP,KAAZ,EAAmBI,MAApB,CAAL,CAAiCI,IAAjC,CAAsC,GAAtC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAtB;AACAZ,MAAAA,WAAW,CAACa,IAAZ,CAAoBX,GAApB,aAA+BM,aAA/B;AACAP,MAAAA,WAAW,CAACY,IAAZ,OAAAZ,WAAW,sCAASE,KAAT,EAAX;AACD,KALD,MAKO;AACLH,MAAAA,WAAW,CAACa,IAAZ,CAAoBX,GAApB;AACAD,MAAAA,WAAW,CAACY,IAAZ,CAAiBV,KAAjB;AACD;AACF;;AAED,MAAI,CAACF,WAAW,CAACM,MAAjB,EAAyB;AACvB,WAAO,CAACT,WAAD,EAAc,EAAd,CAAP;AACD;;AAED,SAAO,CAAIA,WAAJ,eAAyBE,WAAW,CAACY,IAAZ,CAAiB,OAAjB,CAAzB,EAAsDX,WAAtD,CAAP;AACD,CA7BM","sourcesContent":["import type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames } from '../types';\n\nexport const appendWhereClause = <T extends keyof Schema>(\n selectQuery: string,\n whereCondition?: Partial<{ [k in TableColumnNames<T>]: any }>,\n) => {\n if (!whereCondition) return [selectQuery, []];\n\n const whereClause = [];\n const whereParams: unknown[] = [];\n\n for (const key in whereCondition) {\n const value: unknown = whereCondition[key];\n if (value === undefined) continue;\n\n if (Array.isArray(value)) {\n if (value.length === 0) continue;\n const questionMarks = Array(Object.keys(value).length).fill('?').join(',');\n whereClause.push(`${key} in (${questionMarks})`);\n whereParams.push(...value);\n } else {\n whereClause.push(`${key} = ?`);\n whereParams.push(value);\n }\n }\n\n if (!whereParams.length) {\n return [selectQuery, []];\n }\n\n return [`${selectQuery} WHERE ${whereClause.join(' AND ')}`, whereParams] as PreparedQueries;\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.2"
2
+ "version": "5.0.0-offline-support.5"
3
3
  }
@@ -104,13 +104,15 @@ var handleEventToSyncDB = function handleEventToSyncDB(event, flush) {
104
104
  }
105
105
 
106
106
  if (type === 'channels.queried') {
107
- if (event.queriedChannels) {
108
- var _event$queriedChannel, _event$queriedChannel2;
107
+ var _event$queriedChannel, _event$queriedChannel2;
108
+
109
+ if ((_event$queriedChannel = event.queriedChannels) != null && (_event$queriedChannel2 = _event$queriedChannel.channels) != null && _event$queriedChannel2.length) {
110
+ var _event$queriedChannel3, _event$queriedChannel4;
109
111
 
110
112
  return (0, _upsertChannels.upsertChannels)({
111
- channels: (_event$queriedChannel = event.queriedChannels) == null ? void 0 : _event$queriedChannel.channels,
113
+ channels: (_event$queriedChannel3 = event.queriedChannels) == null ? void 0 : _event$queriedChannel3.channels,
112
114
  flush: flush,
113
- isLatestMessagesSet: (_event$queriedChannel2 = event.queriedChannels) == null ? void 0 : _event$queriedChannel2.isLatestMessageSet
115
+ isLatestMessagesSet: (_event$queriedChannel4 = event.queriedChannels) == null ? void 0 : _event$queriedChannel4.isLatestMessageSet
114
116
  });
115
117
  }
116
118
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["handleEventToSyncDB.ts"],"names":["handleEventToSyncDB","event","flush","type","user","id","cid","reads","last_read","received_at","unread_messages","message","parent_id","messages","reaction","channel","queriedChannels","channels","isLatestMessagesSet","isLatestMessageSet","member","members"],"mappings":"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","sourcesContent":["import type { Event } from 'stream-chat';\n\nimport { deleteChannel } from '../../../../store/apis/deleteChannel';\nimport { deleteMember } from '../../../../store/apis/deleteMember';\nimport { deleteMessagesForChannel } from '../../../../store/apis/deleteMessagesForChannel';\nimport { updateMessage } from '../../../../store/apis/updateMessage';\nimport { upsertChannelData } from '../../../../store/apis/upsertChannelData';\nimport { upsertChannels } from '../../../../store/apis/upsertChannels';\nimport { upsertMembers } from '../../../../store/apis/upsertMembers';\nimport { upsertMessages } from '../../../../store/apis/upsertMessages';\nimport { upsertReads } from '../../../../store/apis/upsertReads';\n\nexport const handleEventToSyncDB = (event: Event, flush?: boolean) => {\n const { type } = event;\n\n if (type === 'message.read') {\n if (event.user?.id && event.cid) {\n return upsertReads({\n cid: event.cid,\n flush,\n reads: [\n {\n last_read: event.received_at as string,\n unread_messages: 0,\n user: event.user,\n },\n ],\n });\n }\n }\n\n if (type === 'message.new') {\n if (event.message && !event.message.parent_id) {\n return upsertMessages({\n flush,\n messages: [event.message],\n });\n }\n }\n\n if (type === 'message.updated' || type === 'message.deleted') {\n if (event.message && !event.message.parent_id) {\n // Update only if it exists, otherwise event could be related\n // to a message which is not in database.\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.updated') {\n if (event.message && event.reaction) {\n // We update the entire message to make sure we also update\n // reaction_counts.\n updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.new' || type === 'reaction.deleted') {\n if (event.message && !event.message.parent_id) {\n // Here we are relying on the fact message.latest_reactions always includes\n // the new reaction. So we first delete all the existing reactions and populate\n // the reactions table with message.latest_reactions\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (\n type === 'channel.updated' ||\n type === 'channel.visible' ||\n type === 'notification.added_to_channel' ||\n type === 'notification.message_new'\n ) {\n if (event.channel) {\n return upsertChannelData({\n channel: event.channel,\n flush,\n });\n }\n }\n\n if (\n type === 'channel.hidden' ||\n type === 'channel.deleted' ||\n type === 'notification.removed_from_channel'\n ) {\n if (event.channel) {\n return deleteChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channel.truncated') {\n if (event.channel) {\n return deleteMessagesForChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channels.queried') {\n if (event.queriedChannels) {\n return upsertChannels({\n channels: event.queriedChannels?.channels,\n flush,\n isLatestMessagesSet: event.queriedChannels?.isLatestMessageSet,\n });\n }\n }\n\n if (type === 'member.added' || type === 'member.updated') {\n if (event.member && event.cid) {\n return upsertMembers({\n cid: event.cid,\n flush,\n members: [event.member],\n });\n }\n }\n\n if (type === 'member.removed') {\n if (event.member && event.cid) {\n return deleteMember({\n cid: event.cid,\n flush,\n member: event.member,\n });\n }\n }\n\n return [];\n};\n"]}
1
+ {"version":3,"sources":["handleEventToSyncDB.ts"],"names":["handleEventToSyncDB","event","flush","type","user","id","cid","reads","last_read","received_at","unread_messages","message","parent_id","messages","reaction","channel","queriedChannels","channels","length","isLatestMessagesSet","isLatestMessageSet","member","members"],"mappings":"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","sourcesContent":["import type { Event } from 'stream-chat';\n\nimport { deleteChannel } from '../../../../store/apis/deleteChannel';\nimport { deleteMember } from '../../../../store/apis/deleteMember';\nimport { deleteMessagesForChannel } from '../../../../store/apis/deleteMessagesForChannel';\nimport { updateMessage } from '../../../../store/apis/updateMessage';\nimport { upsertChannelData } from '../../../../store/apis/upsertChannelData';\nimport { upsertChannels } from '../../../../store/apis/upsertChannels';\nimport { upsertMembers } from '../../../../store/apis/upsertMembers';\nimport { upsertMessages } from '../../../../store/apis/upsertMessages';\nimport { upsertReads } from '../../../../store/apis/upsertReads';\n\nexport const handleEventToSyncDB = (event: Event, flush?: boolean) => {\n const { type } = event;\n\n if (type === 'message.read') {\n if (event.user?.id && event.cid) {\n return upsertReads({\n cid: event.cid,\n flush,\n reads: [\n {\n last_read: event.received_at as string,\n unread_messages: 0,\n user: event.user,\n },\n ],\n });\n }\n }\n\n if (type === 'message.new') {\n if (event.message && !event.message.parent_id) {\n return upsertMessages({\n flush,\n messages: [event.message],\n });\n }\n }\n\n if (type === 'message.updated' || type === 'message.deleted') {\n if (event.message && !event.message.parent_id) {\n // Update only if it exists, otherwise event could be related\n // to a message which is not in database.\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.updated') {\n if (event.message && event.reaction) {\n // We update the entire message to make sure we also update\n // reaction_counts.\n updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (type === 'reaction.new' || type === 'reaction.deleted') {\n if (event.message && !event.message.parent_id) {\n // Here we are relying on the fact message.latest_reactions always includes\n // the new reaction. So we first delete all the existing reactions and populate\n // the reactions table with message.latest_reactions\n return updateMessage({\n flush,\n message: event.message,\n });\n }\n }\n\n if (\n type === 'channel.updated' ||\n type === 'channel.visible' ||\n type === 'notification.added_to_channel' ||\n type === 'notification.message_new'\n ) {\n if (event.channel) {\n return upsertChannelData({\n channel: event.channel,\n flush,\n });\n }\n }\n\n if (\n type === 'channel.hidden' ||\n type === 'channel.deleted' ||\n type === 'notification.removed_from_channel'\n ) {\n if (event.channel) {\n return deleteChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channel.truncated') {\n if (event.channel) {\n return deleteMessagesForChannel({\n cid: event.channel.cid,\n flush,\n });\n }\n }\n\n if (type === 'channels.queried') {\n if (event.queriedChannels?.channels?.length) {\n return upsertChannels({\n channels: event.queriedChannels?.channels,\n flush,\n isLatestMessagesSet: event.queriedChannels?.isLatestMessageSet,\n });\n }\n }\n\n if (type === 'member.added' || type === 'member.updated') {\n if (event.member && event.cid) {\n return upsertMembers({\n cid: event.cid,\n flush,\n members: [event.member],\n });\n }\n }\n\n if (type === 'member.removed') {\n if (event.member && event.cid) {\n return deleteMember({\n cid: event.cid,\n flush,\n member: event.member,\n });\n }\n }\n\n return [];\n};\n"]}
@@ -33,7 +33,7 @@ function useStateManager(_ref, initialValue) {
33
33
  }
34
34
 
35
35
  function useChannelState(channel, threadId) {
36
- var _channel$state, _channel$state2, _channel$state2$threa;
36
+ var _channel$state, _channel$state2, _channel$state3, _channel$state4, _channel$state4$threa;
37
37
 
38
38
  var cid = (channel == null ? void 0 : channel.id) || 'id';
39
39
 
@@ -59,7 +59,7 @@ function useChannelState(channel, threadId) {
59
59
  key: 'members',
60
60
  setState: setState,
61
61
  state: state
62
- }, {}),
62
+ }, (channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.members) || {}),
63
63
  _useStateManager2 = (0, _slicedToArray2["default"])(_useStateManager, 2),
64
64
  members = _useStateManager2[0],
65
65
  setMembers = _useStateManager2[1];
@@ -69,7 +69,7 @@ function useChannelState(channel, threadId) {
69
69
  key: 'messages',
70
70
  setState: setState,
71
71
  state: state
72
- }, (channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.messages) || []),
72
+ }, (channel == null ? void 0 : (_channel$state2 = channel.state) == null ? void 0 : _channel$state2.messages) || []),
73
73
  _useStateManager4 = (0, _slicedToArray2["default"])(_useStateManager3, 2),
74
74
  messages = _useStateManager4[0],
75
75
  setMessages = _useStateManager4[1];
@@ -79,7 +79,7 @@ function useChannelState(channel, threadId) {
79
79
  key: 'read',
80
80
  setState: setState,
81
81
  state: state
82
- }, {}),
82
+ }, (channel == null ? void 0 : (_channel$state3 = channel.state) == null ? void 0 : _channel$state3.read) || {}),
83
83
  _useStateManager6 = (0, _slicedToArray2["default"])(_useStateManager5, 2),
84
84
  read = _useStateManager6[0],
85
85
  setRead = _useStateManager6[1];
@@ -119,7 +119,7 @@ function useChannelState(channel, threadId) {
119
119
  key: 'threadMessages',
120
120
  setState: setState,
121
121
  state: state
122
- }, threadId && (channel == null ? void 0 : (_channel$state2 = channel.state) == null ? void 0 : (_channel$state2$threa = _channel$state2.threads) == null ? void 0 : _channel$state2$threa[threadId]) || []),
122
+ }, threadId && (channel == null ? void 0 : (_channel$state4 = channel.state) == null ? void 0 : (_channel$state4$threa = _channel$state4.threads) == null ? void 0 : _channel$state4$threa[threadId]) || []),
123
123
  _useStateManager14 = (0, _slicedToArray2["default"])(_useStateManager13, 2),
124
124
  threadMessages = _useStateManager14[0],
125
125
  setThreadMessages = _useStateManager14[1];
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\n\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsStateContextValue<StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<StreamChatGenerics>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<StreamChatGenerics>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<StreamChatGenerics>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelState<StreamChatGenerics>['members'];\n messages: ChannelState<StreamChatGenerics>['messages'];\n read: ChannelState<StreamChatGenerics>['read'];\n setMembers: (value: ChannelState<StreamChatGenerics>['members']) => void;\n setMessages: (value: ChannelState<StreamChatGenerics>['messages']) => void;\n setRead: (value: ChannelState<StreamChatGenerics>['read']) => void;\n setThreadMessages: (value: ChannelState<StreamChatGenerics>['threadMessages']) => void;\n setTyping: (value: ChannelState<StreamChatGenerics>['typing']) => void;\n setWatcherCount: (value: ChannelState<StreamChatGenerics>['watcherCount']) => void;\n setWatchers: (value: ChannelState<StreamChatGenerics>['watchers']) => void;\n threadMessages: ChannelState<StreamChatGenerics>['threadMessages'];\n typing: ChannelState<StreamChatGenerics>['typing'];\n watcherCount: ChannelState<StreamChatGenerics>['watcherCount'];\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n};\n\nexport function useChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: ChannelType<StreamChatGenerics> | undefined,\n threadId?: string,\n): UseChannelStateValue<StreamChatGenerics> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<StreamChatGenerics>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
1
+ {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\n\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsStateContextValue<StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<StreamChatGenerics>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<StreamChatGenerics>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<StreamChatGenerics>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelState<StreamChatGenerics>['members'];\n messages: ChannelState<StreamChatGenerics>['messages'];\n read: ChannelState<StreamChatGenerics>['read'];\n setMembers: (value: ChannelState<StreamChatGenerics>['members']) => void;\n setMessages: (value: ChannelState<StreamChatGenerics>['messages']) => void;\n setRead: (value: ChannelState<StreamChatGenerics>['read']) => void;\n setThreadMessages: (value: ChannelState<StreamChatGenerics>['threadMessages']) => void;\n setTyping: (value: ChannelState<StreamChatGenerics>['typing']) => void;\n setWatcherCount: (value: ChannelState<StreamChatGenerics>['watcherCount']) => void;\n setWatchers: (value: ChannelState<StreamChatGenerics>['watchers']) => void;\n threadMessages: ChannelState<StreamChatGenerics>['threadMessages'];\n typing: ChannelState<StreamChatGenerics>['typing'];\n watcherCount: ChannelState<StreamChatGenerics>['watcherCount'];\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n};\n\nexport function useChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: ChannelType<StreamChatGenerics> | undefined,\n threadId?: string,\n): UseChannelStateValue<StreamChatGenerics> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<StreamChatGenerics>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n channel?.state?.members || {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n channel?.state?.read || {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
@@ -48,7 +48,7 @@ var mapStorableToChannel = function mapStorableToChannel(channelRow) {
48
48
  id: id,
49
49
  invites: invites && JSON.parse(invites),
50
50
  last_message_at: lastMessageAt,
51
- memberCount: memberCount,
51
+ member_count: memberCount,
52
52
  muted: muted,
53
53
  own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),
54
54
  team: team,
@@ -1 +1 @@
1
- {"version":3,"sources":["mapStorableToChannel.ts"],"names":["mapStorableToChannel","channelRow","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","id","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","channel","auto_translation_enabled","auto_translation_language","JSON","parse","created_at","created_by_id","deleted_at","last_message_at","own_capabilities","truncated_at","truncated_by","truncated_by_id","updated_at"],"mappings":";;;;;;;;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,UAHkC,EAO/B;AACH,MACEC,sBADF,GAyBID,UAzBJ,CACEC,sBADF;AAAA,MAEEC,uBAFF,GAyBIF,UAzBJ,CAEEE,uBAFF;AAAA,MAGEC,GAHF,GAyBIH,UAzBJ,CAGEG,GAHF;AAAA,MAIEC,MAJF,GAyBIJ,UAzBJ,CAIEI,MAJF;AAAA,MAKEC,QALF,GAyBIL,UAzBJ,CAKEK,QALF;AAAA,MAMEC,SANF,GAyBIN,UAzBJ,CAMEM,SANF;AAAA,MAOEC,WAPF,GAyBIP,UAzBJ,CAOEO,WAPF;AAAA,MAQEC,SARF,GAyBIR,UAzBJ,CAQEQ,SARF;AAAA,MASEC,QATF,GAyBIT,UAzBJ,CASES,QATF;AAAA,MAUEC,SAVF,GAyBIV,UAzBJ,CAUEU,SAVF;AAAA,MAWEC,MAXF,GAyBIX,UAzBJ,CAWEW,MAXF;AAAA,MAYEC,MAZF,GAyBIZ,UAzBJ,CAYEY,MAZF;AAAA,MAaEC,EAbF,GAyBIb,UAzBJ,CAaEa,EAbF;AAAA,MAcEC,OAdF,GAyBId,UAzBJ,CAcEc,OAdF;AAAA,MAeEC,aAfF,GAyBIf,UAzBJ,CAeEe,aAfF;AAAA,MAgBEC,WAhBF,GAyBIhB,UAzBJ,CAgBEgB,WAhBF;AAAA,MAiBEC,KAjBF,GAyBIjB,UAzBJ,CAiBEiB,KAjBF;AAAA,MAkBEC,eAlBF,GAyBIlB,UAzBJ,CAkBEkB,eAlBF;AAAA,MAmBEC,IAnBF,GAyBInB,UAzBJ,CAmBEmB,IAnBF;AAAA,MAoBEC,WApBF,GAyBIpB,UAzBJ,CAoBEoB,WApBF;AAAA,MAqBEC,WArBF,GAyBIrB,UAzBJ,CAqBEqB,WArBF;AAAA,MAsBEC,aAtBF,GAyBItB,UAzBJ,CAsBEsB,aAtBF;AAAA,MAuBEC,IAvBF,GAyBIvB,UAzBJ,CAuBEuB,IAvBF;AAAA,MAwBEC,SAxBF,GAyBIxB,UAzBJ,CAwBEwB,SAxBF;AA2BA,SAAO;AACLC,IAAAA,OAAO;AACLC,MAAAA,wBAAwB,EAAEzB,sBADrB;AAEL0B,MAAAA,yBAAyB,EAAEzB,uBAFtB;AAGLC,MAAAA,GAAG,EAAHA,GAHK;AAILC,MAAAA,MAAM,EAAEA,MAAM,IAAIwB,IAAI,CAACC,KAAL,CAAWzB,MAAX,CAJb;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLyB,MAAAA,UAAU,EAAExB,SANP;AAOLyB,MAAAA,aAAa,EAAExB,WAPV;AAQLyB,MAAAA,UAAU,EAAExB,SARP;AASLC,MAAAA,QAAQ,EAARA,QATK;AAULE,MAAAA,MAAM,EAANA,MAVK;AAWLC,MAAAA,MAAM,EAANA,MAXK;AAYLC,MAAAA,EAAE,EAAFA,EAZK;AAaLC,MAAAA,OAAO,EAAEA,OAAO,IAAIc,IAAI,CAACC,KAAL,CAAWf,OAAX,CAbf;AAcLmB,MAAAA,eAAe,EAAElB,aAdZ;AAeLC,MAAAA,WAAW,EAAXA,WAfK;AAgBLC,MAAAA,KAAK,EAALA,KAhBK;AAiBLiB,MAAAA,gBAAgB,EAAEhB,eAAe,IAAIU,IAAI,CAACC,KAAL,CAAWX,eAAX,CAjBhC;AAkBLC,MAAAA,IAAI,EAAJA,IAlBK;AAmBLgB,MAAAA,YAAY,EAAEf,WAnBT;AAoBLgB,MAAAA,YAAY,EAAEf,WApBT;AAqBLgB,MAAAA,eAAe,EAAEf,aArBZ;AAsBLC,MAAAA,IAAI,EAAJA,IAtBK;AAuBLe,MAAAA,UAAU,EAAEd;AAvBP,OAwBDd,SAAS,GAAGkB,IAAI,CAACC,KAAL,CAAWnB,SAAX,CAAH,GAA2B,EAxBnC;AADF,GAAP;AA4BD,CA/DM","sourcesContent":["import type { ChannelAPIResponse } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { TableRow } from '../types';\n\nexport const mapStorableToChannel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channelRow: TableRow<'channels'>,\n): Omit<\n ChannelAPIResponse<StreamChatGenerics>,\n 'duration' | 'messages' | 'members' | 'pinned_messages'\n> => {\n const {\n autoTranslationEnabled,\n autoTranslationLanguage,\n cid,\n config,\n cooldown,\n createdAt,\n createdById,\n deletedAt,\n disabled,\n extraData,\n frozen,\n hidden,\n id,\n invites,\n lastMessageAt,\n memberCount,\n muted,\n ownCapabilities,\n team,\n truncatedAt,\n truncatedBy,\n truncatedById,\n type,\n updatedAt,\n } = channelRow;\n\n return {\n channel: {\n auto_translation_enabled: autoTranslationEnabled,\n auto_translation_language: autoTranslationLanguage,\n cid,\n config: config && JSON.parse(config),\n cooldown,\n created_at: createdAt,\n created_by_id: createdById,\n deleted_at: deletedAt,\n disabled,\n frozen,\n hidden,\n id,\n invites: invites && JSON.parse(invites),\n last_message_at: lastMessageAt,\n memberCount,\n muted,\n own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),\n team,\n truncated_at: truncatedAt,\n truncated_by: truncatedBy,\n truncated_by_id: truncatedById,\n type,\n updated_at: updatedAt,\n ...(extraData ? JSON.parse(extraData) : {}),\n },\n };\n};\n"]}
1
+ {"version":3,"sources":["mapStorableToChannel.ts"],"names":["mapStorableToChannel","channelRow","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","id","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","channel","auto_translation_enabled","auto_translation_language","JSON","parse","created_at","created_by_id","deleted_at","last_message_at","member_count","own_capabilities","truncated_at","truncated_by","truncated_by_id","updated_at"],"mappings":";;;;;;;;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,UAHkC,EAO/B;AACH,MACEC,sBADF,GAyBID,UAzBJ,CACEC,sBADF;AAAA,MAEEC,uBAFF,GAyBIF,UAzBJ,CAEEE,uBAFF;AAAA,MAGEC,GAHF,GAyBIH,UAzBJ,CAGEG,GAHF;AAAA,MAIEC,MAJF,GAyBIJ,UAzBJ,CAIEI,MAJF;AAAA,MAKEC,QALF,GAyBIL,UAzBJ,CAKEK,QALF;AAAA,MAMEC,SANF,GAyBIN,UAzBJ,CAMEM,SANF;AAAA,MAOEC,WAPF,GAyBIP,UAzBJ,CAOEO,WAPF;AAAA,MAQEC,SARF,GAyBIR,UAzBJ,CAQEQ,SARF;AAAA,MASEC,QATF,GAyBIT,UAzBJ,CASES,QATF;AAAA,MAUEC,SAVF,GAyBIV,UAzBJ,CAUEU,SAVF;AAAA,MAWEC,MAXF,GAyBIX,UAzBJ,CAWEW,MAXF;AAAA,MAYEC,MAZF,GAyBIZ,UAzBJ,CAYEY,MAZF;AAAA,MAaEC,EAbF,GAyBIb,UAzBJ,CAaEa,EAbF;AAAA,MAcEC,OAdF,GAyBId,UAzBJ,CAcEc,OAdF;AAAA,MAeEC,aAfF,GAyBIf,UAzBJ,CAeEe,aAfF;AAAA,MAgBEC,WAhBF,GAyBIhB,UAzBJ,CAgBEgB,WAhBF;AAAA,MAiBEC,KAjBF,GAyBIjB,UAzBJ,CAiBEiB,KAjBF;AAAA,MAkBEC,eAlBF,GAyBIlB,UAzBJ,CAkBEkB,eAlBF;AAAA,MAmBEC,IAnBF,GAyBInB,UAzBJ,CAmBEmB,IAnBF;AAAA,MAoBEC,WApBF,GAyBIpB,UAzBJ,CAoBEoB,WApBF;AAAA,MAqBEC,WArBF,GAyBIrB,UAzBJ,CAqBEqB,WArBF;AAAA,MAsBEC,aAtBF,GAyBItB,UAzBJ,CAsBEsB,aAtBF;AAAA,MAuBEC,IAvBF,GAyBIvB,UAzBJ,CAuBEuB,IAvBF;AAAA,MAwBEC,SAxBF,GAyBIxB,UAzBJ,CAwBEwB,SAxBF;AA2BA,SAAO;AACLC,IAAAA,OAAO;AACLC,MAAAA,wBAAwB,EAAEzB,sBADrB;AAEL0B,MAAAA,yBAAyB,EAAEzB,uBAFtB;AAGLC,MAAAA,GAAG,EAAHA,GAHK;AAILC,MAAAA,MAAM,EAAEA,MAAM,IAAIwB,IAAI,CAACC,KAAL,CAAWzB,MAAX,CAJb;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLyB,MAAAA,UAAU,EAAExB,SANP;AAOLyB,MAAAA,aAAa,EAAExB,WAPV;AAQLyB,MAAAA,UAAU,EAAExB,SARP;AASLC,MAAAA,QAAQ,EAARA,QATK;AAULE,MAAAA,MAAM,EAANA,MAVK;AAWLC,MAAAA,MAAM,EAANA,MAXK;AAYLC,MAAAA,EAAE,EAAFA,EAZK;AAaLC,MAAAA,OAAO,EAAEA,OAAO,IAAIc,IAAI,CAACC,KAAL,CAAWf,OAAX,CAbf;AAcLmB,MAAAA,eAAe,EAAElB,aAdZ;AAeLmB,MAAAA,YAAY,EAAElB,WAfT;AAgBLC,MAAAA,KAAK,EAALA,KAhBK;AAiBLkB,MAAAA,gBAAgB,EAAEjB,eAAe,IAAIU,IAAI,CAACC,KAAL,CAAWX,eAAX,CAjBhC;AAkBLC,MAAAA,IAAI,EAAJA,IAlBK;AAmBLiB,MAAAA,YAAY,EAAEhB,WAnBT;AAoBLiB,MAAAA,YAAY,EAAEhB,WApBT;AAqBLiB,MAAAA,eAAe,EAAEhB,aArBZ;AAsBLC,MAAAA,IAAI,EAAJA,IAtBK;AAuBLgB,MAAAA,UAAU,EAAEf;AAvBP,OAwBDd,SAAS,GAAGkB,IAAI,CAACC,KAAL,CAAWnB,SAAX,CAAH,GAA2B,EAxBnC;AADF,GAAP;AA4BD,CA/DM","sourcesContent":["import type { ChannelAPIResponse } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { TableRow } from '../types';\n\nexport const mapStorableToChannel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channelRow: TableRow<'channels'>,\n): Omit<\n ChannelAPIResponse<StreamChatGenerics>,\n 'duration' | 'messages' | 'members' | 'pinned_messages'\n> => {\n const {\n autoTranslationEnabled,\n autoTranslationLanguage,\n cid,\n config,\n cooldown,\n createdAt,\n createdById,\n deletedAt,\n disabled,\n extraData,\n frozen,\n hidden,\n id,\n invites,\n lastMessageAt,\n memberCount,\n muted,\n ownCapabilities,\n team,\n truncatedAt,\n truncatedBy,\n truncatedById,\n type,\n updatedAt,\n } = channelRow;\n\n return {\n channel: {\n auto_translation_enabled: autoTranslationEnabled,\n auto_translation_language: autoTranslationLanguage,\n cid,\n config: config && JSON.parse(config),\n cooldown,\n created_at: createdAt,\n created_by_id: createdById,\n deleted_at: deletedAt,\n disabled,\n frozen,\n hidden,\n id,\n invites: invites && JSON.parse(invites),\n last_message_at: lastMessageAt,\n member_count: memberCount,\n muted,\n own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),\n team,\n truncated_at: truncatedAt,\n truncated_by: truncatedBy,\n truncated_by_id: truncatedById,\n type,\n updated_at: updatedAt,\n ...(extraData ? JSON.parse(extraData) : {}),\n },\n };\n};\n"]}
@@ -14,9 +14,10 @@ var appendWhereClause = function appendWhereClause(selectQuery, whereCondition)
14
14
 
15
15
  for (var key in whereCondition) {
16
16
  var value = whereCondition[key];
17
+ if (value === undefined) continue;
17
18
 
18
19
  if (Array.isArray(value)) {
19
- if (!value || value.length === 0) continue;
20
+ if (value.length === 0) continue;
20
21
  var questionMarks = Array(Object.keys(value).length).fill('?').join(',');
21
22
  whereClause.push(key + " in (" + questionMarks + ")");
22
23
  whereParams.push.apply(whereParams, (0, _toConsumableArray2["default"])(value));
@@ -1 +1 @@
1
- {"version":3,"sources":["appendWhereCluase.ts"],"names":["appendWhereClause","selectQuery","whereCondition","whereClause","whereParams","key","value","Array","isArray","length","questionMarks","Object","keys","fill","join","push"],"mappings":";;;;;;;;;AAGO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,WAD+B,EAE/BC,cAF+B,EAG5B;AACH,MAAI,CAACA,cAAL,EAAqB,OAAO,CAACD,WAAD,EAAc,EAAd,CAAP;AAErB,MAAME,WAAW,GAAG,EAApB;AACA,MAAMC,WAAsB,GAAG,EAA/B;;AAEA,OAAK,IAAMC,GAAX,IAAkBH,cAAlB,EAAkC;AAChC,QAAMI,KAAc,GAAGJ,cAAc,CAACG,GAAD,CAArC;;AACA,QAAIE,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,UAAI,CAACA,KAAD,IAAUA,KAAK,CAACG,MAAN,KAAiB,CAA/B,EAAkC;AAClC,UAAMC,aAAa,GAAGH,KAAK,CAACI,MAAM,CAACC,IAAP,CAAYN,KAAZ,EAAmBG,MAApB,CAAL,CAAiCI,IAAjC,CAAsC,GAAtC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAtB;AACAX,MAAAA,WAAW,CAACY,IAAZ,CAAoBV,GAApB,aAA+BK,aAA/B;AACAN,MAAAA,WAAW,CAACW,IAAZ,OAAAX,WAAW,sCAASE,KAAT,EAAX;AACD,KALD,MAKO;AACLH,MAAAA,WAAW,CAACY,IAAZ,CAAoBV,GAApB;AACAD,MAAAA,WAAW,CAACW,IAAZ,CAAiBT,KAAjB;AACD;AACF;;AAED,MAAI,CAACF,WAAW,CAACK,MAAjB,EAAyB;AACvB,WAAO,CAACR,WAAD,EAAc,EAAd,CAAP;AACD;;AAED,SAAO,CAAIA,WAAJ,eAAyBE,WAAW,CAACW,IAAZ,CAAiB,OAAjB,CAAzB,EAAsDV,WAAtD,CAAP;AACD,CA3BM","sourcesContent":["import type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames } from '../types';\n\nexport const appendWhereClause = <T extends keyof Schema>(\n selectQuery: string,\n whereCondition?: Partial<{ [k in TableColumnNames<T>]: any }>,\n) => {\n if (!whereCondition) return [selectQuery, []];\n\n const whereClause = [];\n const whereParams: unknown[] = [];\n\n for (const key in whereCondition) {\n const value: unknown = whereCondition[key];\n if (Array.isArray(value)) {\n if (!value || value.length === 0) continue;\n const questionMarks = Array(Object.keys(value).length).fill('?').join(',');\n whereClause.push(`${key} in (${questionMarks})`);\n whereParams.push(...value);\n } else {\n whereClause.push(`${key} = ?`);\n whereParams.push(value);\n }\n }\n\n if (!whereParams.length) {\n return [selectQuery, []];\n }\n\n return [`${selectQuery} WHERE ${whereClause.join(' AND ')}`, whereParams] as PreparedQueries;\n};\n"]}
1
+ {"version":3,"sources":["appendWhereCluase.ts"],"names":["appendWhereClause","selectQuery","whereCondition","whereClause","whereParams","key","value","undefined","Array","isArray","length","questionMarks","Object","keys","fill","join","push"],"mappings":";;;;;;;;;AAGO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,WAD+B,EAE/BC,cAF+B,EAG5B;AACH,MAAI,CAACA,cAAL,EAAqB,OAAO,CAACD,WAAD,EAAc,EAAd,CAAP;AAErB,MAAME,WAAW,GAAG,EAApB;AACA,MAAMC,WAAsB,GAAG,EAA/B;;AAEA,OAAK,IAAMC,GAAX,IAAkBH,cAAlB,EAAkC;AAChC,QAAMI,KAAc,GAAGJ,cAAc,CAACG,GAAD,CAArC;AACA,QAAIC,KAAK,KAAKC,SAAd,EAAyB;;AAEzB,QAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EAA0B;AACxB,UAAIA,KAAK,CAACI,MAAN,KAAiB,CAArB,EAAwB;AACxB,UAAMC,aAAa,GAAGH,KAAK,CAACI,MAAM,CAACC,IAAP,CAAYP,KAAZ,EAAmBI,MAApB,CAAL,CAAiCI,IAAjC,CAAsC,GAAtC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAtB;AACAZ,MAAAA,WAAW,CAACa,IAAZ,CAAoBX,GAApB,aAA+BM,aAA/B;AACAP,MAAAA,WAAW,CAACY,IAAZ,OAAAZ,WAAW,sCAASE,KAAT,EAAX;AACD,KALD,MAKO;AACLH,MAAAA,WAAW,CAACa,IAAZ,CAAoBX,GAApB;AACAD,MAAAA,WAAW,CAACY,IAAZ,CAAiBV,KAAjB;AACD;AACF;;AAED,MAAI,CAACF,WAAW,CAACM,MAAjB,EAAyB;AACvB,WAAO,CAACT,WAAD,EAAc,EAAd,CAAP;AACD;;AAED,SAAO,CAAIA,WAAJ,eAAyBE,WAAW,CAACY,IAAZ,CAAiB,OAAjB,CAAzB,EAAsDX,WAAtD,CAAP;AACD,CA7BM","sourcesContent":["import type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames } from '../types';\n\nexport const appendWhereClause = <T extends keyof Schema>(\n selectQuery: string,\n whereCondition?: Partial<{ [k in TableColumnNames<T>]: any }>,\n) => {\n if (!whereCondition) return [selectQuery, []];\n\n const whereClause = [];\n const whereParams: unknown[] = [];\n\n for (const key in whereCondition) {\n const value: unknown = whereCondition[key];\n if (value === undefined) continue;\n\n if (Array.isArray(value)) {\n if (value.length === 0) continue;\n const questionMarks = Array(Object.keys(value).length).fill('?').join(',');\n whereClause.push(`${key} in (${questionMarks})`);\n whereParams.push(...value);\n } else {\n whereClause.push(`${key} = ?`);\n whereParams.push(value);\n }\n }\n\n if (!whereParams.length) {\n return [selectQuery, []];\n }\n\n return [`${selectQuery} WHERE ${whereClause.join(' AND ')}`, whereParams] as PreparedQueries;\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.2"
2
+ "version": "5.0.0-offline-support.5"
3
3
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.0.0-offline-support.2",
4
+ "version": "5.0.0-offline-support.5",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -109,7 +109,7 @@ export const handleEventToSyncDB = (event: Event, flush?: boolean) => {
109
109
  }
110
110
 
111
111
  if (type === 'channels.queried') {
112
- if (event.queriedChannels) {
112
+ if (event.queriedChannels?.channels?.length) {
113
113
  return upsertChannels({
114
114
  channels: event.queriedChannels?.channels,
115
115
  flush,
@@ -95,7 +95,7 @@ export function useChannelState<
95
95
  setState,
96
96
  state,
97
97
  },
98
- {},
98
+ channel?.state?.members || {},
99
99
  );
100
100
 
101
101
  const [messages, setMessages] = useStateManager(
@@ -115,7 +115,7 @@ export function useChannelState<
115
115
  setState,
116
116
  state,
117
117
  },
118
- {},
118
+ channel?.state?.read || {},
119
119
  );
120
120
 
121
121
  const [typing, setTyping] = useStateManager(
@@ -54,7 +54,7 @@ export const mapStorableToChannel = <
54
54
  id,
55
55
  invites: invites && JSON.parse(invites),
56
56
  last_message_at: lastMessageAt,
57
- memberCount,
57
+ member_count: memberCount,
58
58
  muted,
59
59
  own_capabilities: ownCapabilities && JSON.parse(ownCapabilities),
60
60
  team,
@@ -12,8 +12,10 @@ export const appendWhereClause = <T extends keyof Schema>(
12
12
 
13
13
  for (const key in whereCondition) {
14
14
  const value: unknown = whereCondition[key];
15
+ if (value === undefined) continue;
16
+
15
17
  if (Array.isArray(value)) {
16
- if (!value || value.length === 0) continue;
18
+ if (value.length === 0) continue;
17
19
  const questionMarks = Array(Object.keys(value).length).fill('?').join(',');
18
20
  whereClause.push(`${key} in (${questionMarks})`);
19
21
  whereParams.push(...value);
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.2"
2
+ "version": "5.0.0-offline-support.5"
3
3
  }