stream-chat-react-native-core 5.0.0-offline-support.3 → 5.0.0-offline-support.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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":";;;;;;;;;AAAA;;AAIA;;AAsBA,SAASA,eAAT,OAaEC,YAbF,EAcE;AAAA;;AAAA,MATEC,GASF,QATEA,GASF;AAAA,MAREC,GAQF,QAREA,GAQF;AAAA,MAPEC,QAOF,QAPEA,QAOF;AAAA,MANEC,KAMF,QANEA,KAMF;AACA,MAAMC,oBAAoB,GAAG,oBAAQ;AAAA,WAAML,YAAN;AAAA,GAAR,EAA4B,EAA5B,CAA7B;AACA,MAAMM,KAAK,GACT,eAAAF,KAAK,CAACH,GAAD,CAAL,gCAAaC,GAAb,MAAsBG,oBADxB;AAGA,MAAME,QAAQ,GAAG,wBACf,UAACD,KAAD;AAAA,WAAkDH,QAAQ,CAAC;AAAEF,MAAAA,GAAG,EAAHA,GAAF;AAAOC,MAAAA,GAAG,EAAHA,GAAP;AAAYI,MAAAA,KAAK,EAALA;AAAZ,KAAD,CAA1D;AAAA,GADe,EAEf,CAACL,GAAD,EAAMC,GAAN,CAFe,CAAjB;AAKA,SAAO,CAACI,KAAD,EAAQC,QAAR,CAAP;AACD;;AAqBM,SAASC,eAAT,CAGLC,OAHK,EAILC,QAJK,EAKqC;AAAA;;AAC1C,MAAMT,GAAG,GAAG,CAAAQ,OAAO,QAAP,YAAAA,OAAO,CAAEE,EAAT,KAAe,IAA3B;;AACA,8BACE,oDADF;AAAA,MAAQC,uBAAR,yBAAQA,uBAAR;AAAA,MAAiCC,uBAAjC,yBAAiCA,uBAAjC;AAAA,MAA0DV,QAA1D,yBAA0DA,QAA1D;AAAA,MAAoEC,KAApE,yBAAoEA,KAApE;;AAIA,wBAAU,YAAM;AACdS,IAAAA,uBAAuB,CAAC;AAAEZ,MAAAA,GAAG,EAAHA;AAAF,KAAD,CAAvB;AACA,WAAO,YAAM;AACXW,MAAAA,uBAAuB,CAAC;AAAEX,QAAAA,GAAG,EAAHA;AAAF,OAAD,CAAvB;AACD,KAFD;AAGD,GALD,EAKG,EALH;;AAOA,yBAA8BF,eAAe,CAC3C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD2C,EAO3C,EAP2C,CAA7C;AAAA;AAAA,MAAOU,OAAP;AAAA,MAAgBC,UAAhB;;AAUA,0BAAgChB,eAAe,CAC7C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,UAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD6C,EAO7C,CAAAK,OAAO,QAAP,8BAAAA,OAAO,CAAEL,KAAT,oCAAgBY,QAAhB,KAA4B,EAPiB,CAA/C;AAAA;AAAA,MAAOA,QAAP;AAAA,MAAiBC,WAAjB;;AAUA,0BAAwBlB,eAAe,CACrC;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,MAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADqC,EAOrC,EAPqC,CAAvC;AAAA;AAAA,MAAOc,IAAP;AAAA,MAAaC,OAAb;;AAUA,0BAA4BpB,eAAe,CACzC;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,QAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADyC,EAOzC,EAPyC,CAA3C;AAAA;AAAA,MAAOgB,MAAP;AAAA,MAAeC,SAAf;;AAUA,0BAAwCtB,eAAe,CAAC;AACtDE,IAAAA,GAAG,EAAHA,GADsD;AAEtDC,IAAAA,GAAG,EAAE,cAFiD;AAGtDC,IAAAA,QAAQ,EAARA,QAHsD;AAItDC,IAAAA,KAAK,EAALA;AAJsD,GAAD,CAAvD;AAAA;AAAA,MAAOkB,YAAP;AAAA,MAAqBC,eAArB;;AAOA,2BAAgCxB,eAAe,CAC7C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,UAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD6C,EAO7C,EAP6C,CAA/C;AAAA;AAAA,MAAOoB,QAAP;AAAA,MAAiBC,WAAjB;;AAUA,2BAA4C1B,eAAe,CACzD;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,gBAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADyD,EAOxDM,QAAQ,KAAID,OAAJ,uCAAIA,OAAO,CAAEL,KAAb,8CAAI,gBAAgBsB,OAApB,qBAAI,sBAA0BhB,QAA1B,CAAJ,CAAT,IAAqD,EAPI,CAA3D;AAAA;AAAA,MAAOiB,cAAP;AAAA,MAAuBC,iBAAvB;;AAUA,SAAO;AACLd,IAAAA,OAAO,EAAPA,OADK;AAELE,IAAAA,QAAQ,EAARA,QAFK;AAGLE,IAAAA,IAAI,EAAJA,IAHK;AAILH,IAAAA,UAAU,EAAVA,UAJK;AAKLE,IAAAA,WAAW,EAAXA,WALK;AAMLE,IAAAA,OAAO,EAAPA,OANK;AAOLS,IAAAA,iBAAiB,EAAjBA,iBAPK;AAQLP,IAAAA,SAAS,EAATA,SARK;AASLE,IAAAA,eAAe,EAAfA,eATK;AAULE,IAAAA,WAAW,EAAXA,WAVK;AAWLE,IAAAA,cAAc,EAAdA,cAXK;AAYLP,IAAAA,MAAM,EAANA,MAZK;AAaLE,IAAAA,YAAY,EAAZA,YAbK;AAcLE,IAAAA,QAAQ,EAARA;AAdK,GAAP;AAgBD","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"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.3"
2
+ "version": "5.0.0-offline-support.4"
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":";;;;;;;;;AAAA;;AAIA;;AAsBA,SAASA,eAAT,OAaEC,YAbF,EAcE;AAAA;;AAAA,MATEC,GASF,QATEA,GASF;AAAA,MAREC,GAQF,QAREA,GAQF;AAAA,MAPEC,QAOF,QAPEA,QAOF;AAAA,MANEC,KAMF,QANEA,KAMF;AACA,MAAMC,oBAAoB,GAAG,oBAAQ;AAAA,WAAML,YAAN;AAAA,GAAR,EAA4B,EAA5B,CAA7B;AACA,MAAMM,KAAK,GACT,eAAAF,KAAK,CAACH,GAAD,CAAL,gCAAaC,GAAb,MAAsBG,oBADxB;AAGA,MAAME,QAAQ,GAAG,wBACf,UAACD,KAAD;AAAA,WAAkDH,QAAQ,CAAC;AAAEF,MAAAA,GAAG,EAAHA,GAAF;AAAOC,MAAAA,GAAG,EAAHA,GAAP;AAAYI,MAAAA,KAAK,EAALA;AAAZ,KAAD,CAA1D;AAAA,GADe,EAEf,CAACL,GAAD,EAAMC,GAAN,CAFe,CAAjB;AAKA,SAAO,CAACI,KAAD,EAAQC,QAAR,CAAP;AACD;;AAqBM,SAASC,eAAT,CAGLC,OAHK,EAILC,QAJK,EAKqC;AAAA;;AAC1C,MAAMT,GAAG,GAAG,CAAAQ,OAAO,QAAP,YAAAA,OAAO,CAAEE,EAAT,KAAe,IAA3B;;AACA,8BACE,oDADF;AAAA,MAAQC,uBAAR,yBAAQA,uBAAR;AAAA,MAAiCC,uBAAjC,yBAAiCA,uBAAjC;AAAA,MAA0DV,QAA1D,yBAA0DA,QAA1D;AAAA,MAAoEC,KAApE,yBAAoEA,KAApE;;AAIA,wBAAU,YAAM;AACdS,IAAAA,uBAAuB,CAAC;AAAEZ,MAAAA,GAAG,EAAHA;AAAF,KAAD,CAAvB;AACA,WAAO,YAAM;AACXW,MAAAA,uBAAuB,CAAC;AAAEX,QAAAA,GAAG,EAAHA;AAAF,OAAD,CAAvB;AACD,KAFD;AAGD,GALD,EAKG,EALH;;AAOA,yBAA8BF,eAAe,CAC3C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD2C,EAO3C,EAP2C,CAA7C;AAAA;AAAA,MAAOU,OAAP;AAAA,MAAgBC,UAAhB;;AAUA,0BAAgChB,eAAe,CAC7C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,UAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD6C,EAO7C,CAAAK,OAAO,QAAP,8BAAAA,OAAO,CAAEL,KAAT,oCAAgBY,QAAhB,KAA4B,EAPiB,CAA/C;AAAA;AAAA,MAAOA,QAAP;AAAA,MAAiBC,WAAjB;;AAUA,0BAAwBlB,eAAe,CACrC;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,MAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADqC,EAOrC,EAPqC,CAAvC;AAAA;AAAA,MAAOc,IAAP;AAAA,MAAaC,OAAb;;AAUA,0BAA4BpB,eAAe,CACzC;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,QAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADyC,EAOzC,EAPyC,CAA3C;AAAA;AAAA,MAAOgB,MAAP;AAAA,MAAeC,SAAf;;AAUA,0BAAwCtB,eAAe,CAAC;AACtDE,IAAAA,GAAG,EAAHA,GADsD;AAEtDC,IAAAA,GAAG,EAAE,cAFiD;AAGtDC,IAAAA,QAAQ,EAARA,QAHsD;AAItDC,IAAAA,KAAK,EAALA;AAJsD,GAAD,CAAvD;AAAA;AAAA,MAAOkB,YAAP;AAAA,MAAqBC,eAArB;;AAOA,2BAAgCxB,eAAe,CAC7C;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,UAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GAD6C,EAO7C,EAP6C,CAA/C;AAAA;AAAA,MAAOoB,QAAP;AAAA,MAAiBC,WAAjB;;AAUA,2BAA4C1B,eAAe,CACzD;AACEE,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,GAAG,EAAE,gBAFP;AAGEC,IAAAA,QAAQ,EAARA,QAHF;AAIEC,IAAAA,KAAK,EAALA;AAJF,GADyD,EAOxDM,QAAQ,KAAID,OAAJ,uCAAIA,OAAO,CAAEL,KAAb,8CAAI,gBAAgBsB,OAApB,qBAAI,sBAA0BhB,QAA1B,CAAJ,CAAT,IAAqD,EAPI,CAA3D;AAAA;AAAA,MAAOiB,cAAP;AAAA,MAAuBC,iBAAvB;;AAUA,SAAO;AACLd,IAAAA,OAAO,EAAPA,OADK;AAELE,IAAAA,QAAQ,EAARA,QAFK;AAGLE,IAAAA,IAAI,EAAJA,IAHK;AAILH,IAAAA,UAAU,EAAVA,UAJK;AAKLE,IAAAA,WAAW,EAAXA,WALK;AAMLE,IAAAA,OAAO,EAAPA,OANK;AAOLS,IAAAA,iBAAiB,EAAjBA,iBAPK;AAQLP,IAAAA,SAAS,EAATA,SARK;AASLE,IAAAA,eAAe,EAAfA,eATK;AAULE,IAAAA,WAAW,EAAXA,WAVK;AAWLE,IAAAA,cAAc,EAAdA,cAXK;AAYLP,IAAAA,MAAM,EAANA,MAZK;AAaLE,IAAAA,YAAY,EAAZA,YAbK;AAcLE,IAAAA,QAAQ,EAARA;AAdK,GAAP;AAgBD","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"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.3"
2
+ "version": "5.0.0-offline-support.4"
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.3",
4
+ "version": "5.0.0-offline-support.4",
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(
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.0.0-offline-support.3"
2
+ "version": "5.0.0-offline-support.4"
3
3
  }