@viewberapp/chat 0.0.60 → 0.0.61

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.
@@ -2,15 +2,15 @@ import Ably from 'ably';
2
2
  import API from "./API";
3
3
  import { Logger } from "./logger";
4
4
  import OnlineUser from "./OnlineUser";
5
- import { ChatConnectionStatus } from './Chat';
5
+ import { ConnectionStatus } from './Chat';
6
6
  import PendingMessage from "./PendingMessage";
7
7
  import Message from "./Message";
8
- import ChatSubscription, { ChatSubscriptionStatus } from "./ChatSubscription";
8
+ import ChatSubscription from "./ChatSubscription";
9
9
  export interface CachedChatParams {
10
10
  id: number;
11
11
  api: API;
12
12
  channel: Ably.Types.RealtimeChannelCallbacks;
13
- connectionStatus: ChatConnectionStatus;
13
+ connectionStatus: ConnectionStatus;
14
14
  logger: Logger;
15
15
  }
16
16
  export interface SendMessageOptions {
@@ -36,12 +36,14 @@ export default class CachedChat {
36
36
  addMessage(message: Message | PendingMessage): void;
37
37
  private replacePendingMessage;
38
38
  addSubscription(subscription: ChatSubscription): void;
39
- private fireMessagesEventOnEachNonCancelledSubscription;
40
- setConnectionStatus(status: ChatConnectionStatus): void;
41
- setGetLatestMessagesStatus(status: GetLatestMessagesStatus): void;
39
+ getConnectionStatus(): ConnectionStatus;
40
+ setConnectionStatus(status: ConnectionStatus): void;
41
+ getChannelStatus(): ChannelStatus;
42
42
  private handleChannelStateChange;
43
- private assignNewlyCalculatedStatusToEachNonCancelledSubscription;
44
- calculateChatSubscriptionStatus(): ChatSubscriptionStatus;
43
+ getGetLatestMessagesStatus(): GetLatestMessagesStatus;
44
+ setGetLatestMessagesStatus(status: GetLatestMessagesStatus): void;
45
+ private fireMessagesEventOnEachNonCancelledSubscription;
46
+ private fireEventOnEachSubscription;
45
47
  cancelSubscription(subscription: ChatSubscription): void;
46
48
  cancelAllSubscriptions(): void;
47
49
  }
@@ -136,52 +136,54 @@ class CachedChat {
136
136
  addSubscription(subscription) {
137
137
  this.subscriptions.push(subscription);
138
138
  }
139
- fireMessagesEventOnEachNonCancelledSubscription() {
140
- this.subscriptions.forEach((subscription) => {
141
- subscription.fireEventIfNotCancelled('messages', {
142
- messages: this.messages.concat()
143
- });
144
- });
139
+ getConnectionStatus() {
140
+ return this.connectionStatus;
145
141
  }
146
142
  setConnectionStatus(status) {
147
143
  this.connectionStatus = status;
148
- this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
144
+ this.subscriptions.forEach(subscription => {
145
+ if (subscription.getStatus() !== 'cancelled') {
146
+ subscription.setConnectionStatus(this.connectionStatus);
147
+ }
148
+ });
149
149
  }
150
- setGetLatestMessagesStatus(status) {
151
- this.getLatestMessagesStatus = status;
152
- this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
150
+ getChannelStatus() {
151
+ return this.channelStatus;
153
152
  }
154
153
  handleChannelStateChange(stateChange) {
155
154
  this.channelStatus = stateChange.current;
156
- this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
155
+ this.subscriptions.forEach(subscription => {
156
+ if (subscription.getStatus() !== 'cancelled') {
157
+ subscription.setChannelStatus(this.channelStatus);
158
+ }
159
+ });
157
160
  }
158
- assignNewlyCalculatedStatusToEachNonCancelledSubscription() {
161
+ getGetLatestMessagesStatus() {
162
+ return this.getLatestMessagesStatus;
163
+ }
164
+ setGetLatestMessagesStatus(status) {
165
+ this.getLatestMessagesStatus = status;
159
166
  this.subscriptions.forEach(subscription => {
160
167
  if (subscription.getStatus() !== 'cancelled') {
161
- subscription.setStatus(this.calculateChatSubscriptionStatus());
168
+ subscription.setGetLatestMessagesStatus(this.getLatestMessagesStatus);
162
169
  }
163
170
  });
164
171
  }
165
- calculateChatSubscriptionStatus() {
166
- if (['initialized', 'connecting'].includes(this.connectionStatus)) {
167
- return 'pending';
168
- }
169
- else if (this.connectionStatus !== 'connected') {
170
- return 'failed';
171
- }
172
- if (['initialized', 'attaching', 'suspended'].includes(this.channelStatus)) {
173
- return 'pending';
174
- }
175
- else if (this.channelStatus !== 'attached') {
176
- return 'failed';
177
- }
178
- if (['initialized', 'fetching'].includes(this.getLatestMessagesStatus)) {
179
- return 'pending';
180
- }
181
- else if (this.getLatestMessagesStatus !== 'success') {
182
- return 'failed';
172
+ fireMessagesEventOnEachNonCancelledSubscription() {
173
+ this.fireEventOnEachSubscription('messages', {
174
+ messages: this.messages.concat()
175
+ }, {
176
+ whereStatusNotIn: ['cancelled']
177
+ });
178
+ }
179
+ fireEventOnEachSubscription(name, data, options) {
180
+ for (let i = 0, il = this.subscriptions.length; i < il; i++) {
181
+ const subscription = this.subscriptions[i];
182
+ if (options && Array.isArray(options.whereStatusNotIn) && options.whereStatusNotIn.includes(subscription.getStatus())) {
183
+ continue;
184
+ }
185
+ subscription.fireEvent(name, data);
183
186
  }
184
- return 'active';
185
187
  }
186
188
  cancelSubscription(subscription) {
187
189
  subscription.setStatus('cancelled');
@@ -1 +1 @@
1
- {"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":"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"}
package/dist/Chat.d.ts CHANGED
@@ -11,7 +11,7 @@ export interface ChatOptions {
11
11
  getChatStoreMessageRoute: (chatId: number) => string;
12
12
  getChatForAppointmentRoute: (appointmentId: number) => string;
13
13
  }
14
- export declare type ChatConnectionStatus = 'initialized' | 'connecting' | 'connected' | 'disconnected' | 'suspended' | 'closing' | 'closed' | 'failed';
14
+ export declare type ConnectionStatus = 'initialized' | 'connecting' | 'connected' | 'disconnected' | 'suspended' | 'closing' | 'closed' | 'failed';
15
15
  declare const Chat: {
16
16
  init: (options: ChatOptions) => void;
17
17
  isInitialized: () => boolean;
package/dist/Chat.js CHANGED
@@ -110,7 +110,10 @@ const Chat = (function () {
110
110
  const { chat, isFirstFetch } = getChat(id);
111
111
  ably.auth.authorize();
112
112
  const subscription = new ChatSubscription_1.default(chat, {
113
- status: chat.calculateChatSubscriptionStatus()
113
+ status: 'active',
114
+ channelStatus: chat.getChannelStatus(),
115
+ connectionStatus: chat.getConnectionStatus(),
116
+ getLatestMessagesStatus: chat.getGetLatestMessagesStatus()
114
117
  });
115
118
  chat.addSubscription(subscription);
116
119
  if (isFirstFetch) {
package/dist/Chat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../src/Chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../src/Chat.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import OnlineUser from "./OnlineUser";
2
- import CachedChat, { Messages, SendMessageOptions } from "./CachedChat";
3
- export declare type ChatSubscriptionStatus = 'active' | 'pending' | 'failed' | 'cancelled';
2
+ import { ConnectionStatus } from "./Chat";
3
+ import CachedChat, { ChannelStatus, GetLatestMessagesStatus, Messages, SendMessageOptions } from "./CachedChat";
4
+ export declare type ChatSubscriptionStatus = 'active' | 'cancelled';
4
5
  export interface ChatSubscriptionOptions {
5
6
  status: ChatSubscriptionStatus;
7
+ channelStatus: ChannelStatus;
8
+ connectionStatus: ConnectionStatus;
9
+ getLatestMessagesStatus: GetLatestMessagesStatus;
6
10
  }
7
11
  export interface ChatSubscriptionEventCallbackData {
8
12
  messages: {
@@ -22,6 +26,15 @@ export interface ChatSubscriptionEventCallbackData {
22
26
  statusChange: {
23
27
  status: ChatSubscriptionStatus;
24
28
  };
29
+ channelStatusChange: {
30
+ status: ChannelStatus;
31
+ };
32
+ connectionStatusChange: {
33
+ status: ConnectionStatus;
34
+ };
35
+ getLatestMessagesStatusChange: {
36
+ status: GetLatestMessagesStatus;
37
+ };
25
38
  }
26
39
  export declare type ChatSubscriptionEventHandlers = {
27
40
  [Event in keyof ChatSubscriptionEventCallbackData]: (data: ChatSubscriptionEventCallbackData[Event]) => void;
@@ -32,15 +45,24 @@ export declare type ChatSubscriptionEventsAndCallbacks = {
32
45
  export default class ChatSubscription {
33
46
  private chat;
34
47
  private status;
48
+ private channelStatus;
49
+ private connectionStatus;
50
+ private getLatestMessagesStatus;
35
51
  private eventHandlers;
36
52
  constructor(chat: CachedChat, options: ChatSubscriptionOptions);
53
+ get messages(): Messages;
37
54
  getStatus(): ChatSubscriptionStatus;
38
55
  setStatus(status: ChatSubscriptionStatus): void;
56
+ getChannelStatus(): ChannelStatus;
57
+ setChannelStatus(status: ChannelStatus): void;
58
+ getConnectionStatus(): ConnectionStatus;
59
+ setConnectionStatus(status: ConnectionStatus): void;
60
+ getGetLatestMessagesStatus(): GetLatestMessagesStatus;
61
+ setGetLatestMessagesStatus(status: GetLatestMessagesStatus): void;
39
62
  sendMessage(message: string, options?: SendMessageOptions): Promise<any>;
63
+ getLatestMessages(): void;
40
64
  on<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
41
65
  off<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
42
66
  fireEvent<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
43
- fireEventIfActive<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
44
- fireEventIfNotCancelled<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
45
67
  cancel(): void;
46
68
  }
@@ -4,14 +4,23 @@ class ChatSubscription {
4
4
  constructor(chat, options) {
5
5
  this.chat = chat;
6
6
  this.status = options.status;
7
+ this.channelStatus = options.channelStatus;
8
+ this.connectionStatus = options.connectionStatus;
9
+ this.getLatestMessagesStatus = options.getLatestMessagesStatus;
7
10
  this.eventHandlers = {
8
11
  messages: [],
9
12
  here: [],
10
13
  userJoining: [],
11
14
  userLeaving: [],
12
- statusChange: []
15
+ statusChange: [],
16
+ channelStatusChange: [],
17
+ connectionStatusChange: [],
18
+ getLatestMessagesStatusChange: []
13
19
  };
14
20
  }
21
+ get messages() {
22
+ return this.chat.messages;
23
+ }
15
24
  getStatus() {
16
25
  return this.status;
17
26
  }
@@ -19,9 +28,33 @@ class ChatSubscription {
19
28
  this.status = status;
20
29
  this.fireEvent('statusChange', { status });
21
30
  }
31
+ getChannelStatus() {
32
+ return this.channelStatus;
33
+ }
34
+ setChannelStatus(status) {
35
+ this.channelStatus = status;
36
+ this.fireEvent('channelStatusChange', { status });
37
+ }
38
+ getConnectionStatus() {
39
+ return this.connectionStatus;
40
+ }
41
+ setConnectionStatus(status) {
42
+ this.connectionStatus = status;
43
+ this.fireEvent('connectionStatusChange', { status });
44
+ }
45
+ getGetLatestMessagesStatus() {
46
+ return this.getLatestMessagesStatus;
47
+ }
48
+ setGetLatestMessagesStatus(status) {
49
+ this.getLatestMessagesStatus = status;
50
+ this.fireEvent('getLatestMessagesStatusChange', { status });
51
+ }
22
52
  sendMessage(message, options) {
23
53
  return this.chat.sendMessage(message, options);
24
54
  }
55
+ getLatestMessages() {
56
+ return this.chat.getLatestMessages();
57
+ }
25
58
  on(event, handler) {
26
59
  this.eventHandlers[event].push(handler);
27
60
  return this;
@@ -41,16 +74,6 @@ class ChatSubscription {
41
74
  handler(data);
42
75
  });
43
76
  }
44
- fireEventIfActive(name, data) {
45
- if (this.status === 'active') {
46
- this.fireEvent(name, data);
47
- }
48
- }
49
- fireEventIfNotCancelled(name, data) {
50
- if (this.status !== 'cancelled') {
51
- this.fireEvent(name, data);
52
- }
53
- }
54
77
  cancel() {
55
78
  this.chat.cancelSubscription(this);
56
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":";;AA0CA,MAAqB,gBAAgB;IAKjC,YAAY,IAAgB,EAAE,OAAgC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG;YACjB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,MAA8B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,OAA4B;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,EAAE,CAAoD,KAAY,EAAE,OAA6C;QAC7G,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAoD,KAAY,EAAE,OAA6C;QAC9G,IAAI,gBAAgB,GAA8C,EAAE,CAAC;QAIrE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACtE,IAAI,CAAC,KAAK,OAAO,EAAE;gBACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAoD,IAAW,EAAE,IAA8C;QACpH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAoD,IAAW,EAAE,IAA8C;QAC5H,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,uBAAuB,CAAoD,IAAW,EAAE,IAA8C;QAClI,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACJ;AAvED,mCAuEC"}
1
+ {"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,24 @@
1
1
  import OnlineUser from '../OnlineUser';
2
- import { Messages } from '../CachedChat';
2
+ import { ConnectionStatus } from '../Chat';
3
+ import { ChannelStatus, GetLatestMessagesStatus, Messages } from '../CachedChat';
3
4
  import { ChatSubscriptionStatus, ChatSubscriptionEventCallbackData } from '../ChatSubscription';
4
5
  export interface UseChatOptions {
5
6
  idType?: 'appointment';
6
7
  onMessages?: OnMessagesCallback | undefined;
7
8
  }
8
9
  export declare type OnMessagesCallback = (data: ChatSubscriptionEventCallbackData['messages']) => void;
10
+ export declare type UseChatStatus = 'initializing' | 'initialized' | 'failed';
9
11
  export interface UseChatReturnValue {
10
- status: ChatSubscriptionStatus | undefined;
12
+ status: UseChatStatus;
11
13
  messages: Messages;
12
14
  onlineUsers: OnlineUser[];
15
+ subscriptionStatus: ChatSubscriptionStatus | undefined;
16
+ channelStatus: ChannelStatus | undefined;
17
+ connectionStatus: ConnectionStatus | undefined;
18
+ getLatestMessagesStatus: GetLatestMessagesStatus | undefined;
19
+ initialize: () => void;
13
20
  sendMessage: (message: string) => Promise<any> | void;
21
+ getLatestMessages: () => void;
14
22
  }
15
23
  declare const useChat: (id: number, { idType, onMessages }: UseChatOptions) => UseChatReturnValue;
16
24
  export default useChat;
@@ -4,18 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = require("react");
7
- const Chat_1 = __importDefault(require("../Chat"));
8
7
  const isNil_1 = require("../util/isNil");
8
+ const Chat_1 = __importDefault(require("../Chat"));
9
9
  const useChat = (id, { idType, onMessages }) => {
10
10
  const [subscription, setSubscription] = (0, react_1.useState)();
11
- const [status, setStatus] = (0, react_1.useState)('pending');
11
+ const [status, setStatus] = (0, react_1.useState)('initializing');
12
12
  const [messages, setMessages] = (0, react_1.useState)([]);
13
13
  const [onlineUsers, setOnlineUsers] = (0, react_1.useState)([]);
14
+ const [subscriptionStatus, setSubscriptionStatus] = (0, react_1.useState)();
15
+ const [channelStatus, setChannelStatus] = (0, react_1.useState)();
16
+ const [connectionStatus, setConnectionStatus] = (0, react_1.useState)();
17
+ const [getLatestMessagesStatus, setGetLatestMessagesStatus] = (0, react_1.useState)();
14
18
  const handleMessages = ({ messages }) => {
15
19
  setMessages(messages);
16
- if (onMessages) {
20
+ if (onMessages)
17
21
  onMessages({ messages });
18
- }
19
22
  };
20
23
  const handleHere = ({ users }) => {
21
24
  setOnlineUsers(users);
@@ -26,20 +29,34 @@ const useChat = (id, { idType, onMessages }) => {
26
29
  const handleUserLeaving = ({ user, users }) => {
27
30
  setOnlineUsers(users);
28
31
  };
29
- const handleStatusChange = ({ status }) => {
30
- setStatus(status);
32
+ const handleSubscriptionStatusChange = ({ status }) => {
33
+ setSubscriptionStatus(status);
34
+ };
35
+ const handleChannelStatusChange = ({ status }) => {
36
+ setChannelStatus(status);
37
+ };
38
+ const handleConnectionStatusChange = ({ status }) => {
39
+ setConnectionStatus(status);
40
+ };
41
+ const handleGetLatestMessagesStatusChange = ({ status }) => {
42
+ setGetLatestMessagesStatus(status);
31
43
  };
32
44
  const initializeChatSubscription = () => {
33
- if (!(0, isNil_1.isNil)(subscription)) {
45
+ if (status === 'initializing' || !(0, isNil_1.isNil)(subscription)) {
46
+ if (!(0, isNil_1.isNil)(subscription) && status !== 'initialized') {
47
+ setStatus('initialized');
48
+ }
49
+ ;
34
50
  return;
35
51
  }
52
+ setStatus('initializing');
36
53
  Chat_1.default[idType === 'appointment' ? 'appointment' : 'get'](id).then(({ subscription, error }) => {
37
54
  if (error) {
38
55
  setStatus('failed');
39
56
  return;
40
57
  }
41
58
  setSubscription(subscription);
42
- setStatus(subscription.getStatus());
59
+ setStatus('initialized');
43
60
  }).catch((err) => {
44
61
  setStatus('failed');
45
62
  });
@@ -48,8 +65,8 @@ const useChat = (id, { idType, onMessages }) => {
48
65
  initializeChatSubscription();
49
66
  }, []);
50
67
  (0, react_1.useEffect)(() => {
51
- var _a, _b, _c, _d;
52
- (_d = (_c = (_b = (_a = subscription === null || subscription === void 0 ? void 0 : subscription.on('here', handleHere)) === null || _a === void 0 ? void 0 : _a.on('userJoining', handleUserJoining)) === null || _b === void 0 ? void 0 : _b.on('userLeaving', handleUserLeaving)) === null || _c === void 0 ? void 0 : _c.on('messages', handleMessages)) === null || _d === void 0 ? void 0 : _d.on('statusChange', handleStatusChange);
68
+ var _a, _b, _c, _d, _e, _f, _g;
69
+ (_g = (_f = (_e = (_d = (_c = (_b = (_a = subscription === null || subscription === void 0 ? void 0 : subscription.on('here', handleHere)) === null || _a === void 0 ? void 0 : _a.on('userJoining', handleUserJoining)) === null || _b === void 0 ? void 0 : _b.on('userLeaving', handleUserLeaving)) === null || _c === void 0 ? void 0 : _c.on('messages', handleMessages)) === null || _d === void 0 ? void 0 : _d.on('statusChange', handleSubscriptionStatusChange)) === null || _e === void 0 ? void 0 : _e.on('channelStatusChange', handleChannelStatusChange)) === null || _f === void 0 ? void 0 : _f.on('connectionStatusChange', handleConnectionStatusChange)) === null || _g === void 0 ? void 0 : _g.on('getLatestMessagesStatusChange', handleGetLatestMessagesStatusChange);
53
70
  return () => {
54
71
  subscription === null || subscription === void 0 ? void 0 : subscription.cancel();
55
72
  };
@@ -58,7 +75,13 @@ const useChat = (id, { idType, onMessages }) => {
58
75
  status,
59
76
  messages,
60
77
  onlineUsers,
61
- sendMessage: (message) => subscription === null || subscription === void 0 ? void 0 : subscription.sendMessage(message)
78
+ subscriptionStatus,
79
+ channelStatus,
80
+ connectionStatus,
81
+ getLatestMessagesStatus,
82
+ initialize: initializeChatSubscription,
83
+ sendMessage: (message) => subscription === null || subscription === void 0 ? void 0 : subscription.sendMessage(message),
84
+ getLatestMessages: () => subscription === null || subscription === void 0 ? void 0 : subscription.getLatestMessages()
62
85
  };
63
86
  };
64
87
  exports.default = useChat;
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viewberapp/chat",
3
- "version": "0.0.60",
3
+ "version": "0.0.61",
4
4
  "description": "Viewber chat",
5
5
  "author": "Jacob <jacob.chen@viewber.co.uk>",
6
6
  "homepage": "https://bitbucket.org/ezadr/viewberjs#readme",
@@ -41,5 +41,5 @@
41
41
  "react": "^16.14.0",
42
42
  "rollbar": "^2.25.0"
43
43
  },
44
- "gitHead": "9c6c1da84699931937e29f452f6ae3b516ded253"
44
+ "gitHead": "6886a15aa081ced1d9c2f3a5318ef4f2521a5a8c"
45
45
  }