@viewberapp/chat 0.0.51 → 0.0.53

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,20 +2,23 @@ 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
6
  import PendingMessage from "./PendingMessage";
6
- import ChatSubscription from "./ChatSubscription";
7
7
  import Message from "./Message";
8
- import { ChatConnectionStatus } from './Chat';
8
+ import ChatSubscription, { ChatSubscriptionStatus } 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
14
  logger: Logger;
14
15
  }
15
16
  export interface SendMessageOptions {
16
17
  isAdminMessage: boolean;
17
18
  }
18
19
  export declare type Messages = (Message | PendingMessage)[];
20
+ export declare type ChannelStatus = 'initialized' | 'attaching' | 'attached' | 'detaching' | 'detached' | 'suspended' | 'failed';
21
+ export declare type GetLatestMessagesStatus = 'initialized' | 'fetching' | 'success' | 'failed';
19
22
  export default class CachedChat {
20
23
  private id;
21
24
  private api;
@@ -23,15 +26,22 @@ export default class CachedChat {
23
26
  onlineUsers: OnlineUser[];
24
27
  private subscriptions;
25
28
  private channel;
29
+ private connectionStatus;
30
+ private channelStatus;
31
+ private getLatestMessagesStatus;
26
32
  private logger;
27
- constructor({ id, api, channel, logger }: CachedChatParams);
33
+ constructor({ id, api, channel, connectionStatus, logger }: CachedChatParams);
28
34
  sendMessage(message: string, options?: SendMessageOptions): Promise<void>;
29
35
  getLatestMessages(): void;
30
36
  addMessage(message: Message | PendingMessage): void;
31
37
  private replacePendingMessage;
32
38
  addSubscription(subscription: ChatSubscription): void;
33
- private fireMessagesEventOnEachActiveSubscription;
34
- onConnectionStatusChange(status: ChatConnectionStatus): void;
39
+ private fireMessagesEventOnEachNonCancelledSubscription;
40
+ setConnectionStatus(status: ChatConnectionStatus): void;
41
+ setGetLatestMessagesStatus(status: GetLatestMessagesStatus): void;
42
+ private handleChannelStateChange;
43
+ private assignNewlyCalculatedStatusToEachNonCancelledSubscription;
44
+ calculateChatSubscriptionStatus(): ChatSubscriptionStatus;
35
45
  cancelSubscription(subscription: ChatSubscription): void;
36
46
  cancelAllSubscriptions(): void;
37
47
  }
@@ -30,14 +30,18 @@ const uuid_1 = require("uuid");
30
30
  const PendingMessage_1 = __importDefault(require("./PendingMessage"));
31
31
  const Message_1 = __importStar(require("./Message"));
32
32
  class CachedChat {
33
- constructor({ id, api, channel, logger }) {
33
+ constructor({ id, api, channel, connectionStatus, logger }) {
34
+ this.getLatestMessagesStatus = 'initialized';
34
35
  this.id = id;
35
36
  this.api = api;
36
37
  this.messages = [];
37
38
  this.onlineUsers = [];
38
39
  this.subscriptions = [];
39
40
  this.channel = channel;
41
+ this.channelStatus = this.channel.state;
42
+ this.connectionStatus = connectionStatus;
40
43
  this.logger = logger;
44
+ this.channel.on(this.handleChannelStateChange);
41
45
  this.channel.subscribe((message) => {
42
46
  if (message.name === 'chat.message.created') {
43
47
  this.addMessage(new Message_1.default({
@@ -49,7 +53,7 @@ class CachedChat {
49
53
  isAdminMessage: message.data.is_admin_message,
50
54
  createdAt: new Date(message.data.created_at)
51
55
  }));
52
- this.fireMessagesEventOnEachActiveSubscription();
56
+ this.fireMessagesEventOnEachNonCancelledSubscription();
53
57
  }
54
58
  });
55
59
  this.channel.presence.enter(undefined, (err) => {
@@ -72,13 +76,13 @@ class CachedChat {
72
76
  status: 'pending'
73
77
  });
74
78
  this.addMessage(pendingMessage);
75
- this.fireMessagesEventOnEachActiveSubscription();
79
+ this.fireMessagesEventOnEachNonCancelledSubscription();
76
80
  this.api.storeMessage(this.id, message, options).then(({ message, error }) => {
77
81
  if (error) {
78
82
  return;
79
83
  }
80
84
  this.replacePendingMessage(pendingMessage, message);
81
- this.fireMessagesEventOnEachActiveSubscription();
85
+ this.fireMessagesEventOnEachNonCancelledSubscription();
82
86
  resolve();
83
87
  }).catch(err => {
84
88
  this.logger.error(err);
@@ -87,13 +91,16 @@ class CachedChat {
87
91
  });
88
92
  }
89
93
  getLatestMessages() {
94
+ this.setGetLatestMessagesStatus('fetching');
90
95
  this.api.getLatestMessages(this.id).then(({ messages, error }) => {
91
96
  if (messages) {
92
97
  messages.forEach(m => this.addMessage(m));
93
- this.fireMessagesEventOnEachActiveSubscription();
98
+ this.setGetLatestMessagesStatus('success');
99
+ this.fireMessagesEventOnEachNonCancelledSubscription();
94
100
  }
101
+ this.setGetLatestMessagesStatus('failed');
95
102
  }).catch(err => {
96
- this.logger.error(err);
103
+ this.setGetLatestMessagesStatus('failed');
97
104
  });
98
105
  }
99
106
  addMessage(message) {
@@ -128,18 +135,51 @@ class CachedChat {
128
135
  addSubscription(subscription) {
129
136
  this.subscriptions.push(subscription);
130
137
  }
131
- fireMessagesEventOnEachActiveSubscription() {
138
+ fireMessagesEventOnEachNonCancelledSubscription() {
132
139
  this.subscriptions.forEach((subscription) => {
133
140
  subscription.fireEventIfActive('messages', { messages: this.messages.concat() });
134
141
  });
135
142
  }
136
- onConnectionStatusChange(status) {
143
+ setConnectionStatus(status) {
144
+ this.connectionStatus = status;
145
+ this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
146
+ }
147
+ setGetLatestMessagesStatus(status) {
148
+ this.getLatestMessagesStatus = status;
149
+ this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
150
+ }
151
+ handleChannelStateChange(stateChange) {
152
+ this.channelStatus = stateChange.current;
153
+ this.assignNewlyCalculatedStatusToEachNonCancelledSubscription();
154
+ }
155
+ assignNewlyCalculatedStatusToEachNonCancelledSubscription() {
137
156
  this.subscriptions.forEach(subscription => {
138
- if (subscription.getStatus() === 'active') {
139
- subscription.setConnectionStatus(status);
157
+ if (subscription.getStatus() !== 'cancelled') {
158
+ subscription.setStatus(this.calculateChatSubscriptionStatus());
140
159
  }
141
160
  });
142
161
  }
162
+ calculateChatSubscriptionStatus() {
163
+ if (['initialized', 'connecting'].includes(this.connectionStatus)) {
164
+ return 'pending';
165
+ }
166
+ else if (this.connectionStatus !== 'connected') {
167
+ return 'failed';
168
+ }
169
+ if (['initialized', 'attaching', 'suspended'].includes(this.channelStatus)) {
170
+ return 'pending';
171
+ }
172
+ else if (this.channelStatus !== 'attached') {
173
+ return 'failed';
174
+ }
175
+ if (['initialized', 'fetching'].includes(this.getLatestMessagesStatus)) {
176
+ return 'pending';
177
+ }
178
+ else if (this.getLatestMessagesStatus !== 'success') {
179
+ return 'failed';
180
+ }
181
+ return 'active';
182
+ }
143
183
  cancelSubscription(subscription) {
144
184
  subscription.setStatus('cancelled');
145
185
  }
@@ -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
@@ -13,7 +13,7 @@ export interface ChatOptions {
13
13
  }
14
14
  export declare type ChatConnectionStatus = 'initialized' | 'connecting' | 'connected' | 'disconnected' | 'suspended' | 'closing' | 'closed' | 'failed';
15
15
  declare const Chat: {
16
- init: (_options: ChatOptions) => void;
16
+ init: (options: ChatOptions) => void;
17
17
  isInitialized: () => boolean;
18
18
  get: (id: number) => Promise<{
19
19
  subscription: ChatSubscription;
@@ -29,7 +29,7 @@ declare const Chat: {
29
29
  subscription?: undefined;
30
30
  error: ChatError;
31
31
  }>;
32
- setJwtToken: (jwtToken?: string) => void;
32
+ setJwtToken: (_jwtToken?: string) => void;
33
33
  logout: () => void;
34
34
  };
35
35
  export default Chat;
package/dist/Chat.js CHANGED
@@ -40,29 +40,33 @@ const API_1 = __importDefault(require("./API"));
40
40
  const CachedChat_1 = __importDefault(require("./CachedChat"));
41
41
  const logger_1 = require("./logger");
42
42
  const ChatSubscription_1 = __importDefault(require("./ChatSubscription"));
43
+ const jwtTokenChanged_1 = require("./util/jwtTokenChanged");
43
44
  const Chat = (function () {
44
45
  let initialized = false;
45
- let ably;
46
+ let axios;
47
+ let jwtToken;
48
+ let getChatMessagesRoute;
49
+ let getChatAblyTokenRoute;
50
+ let getChatStoreMessageRoute;
51
+ let getChatForAppointmentRoute;
46
52
  let api;
47
53
  let logger;
48
- let options;
49
- let connectionStatus = 'initialized';
54
+ let ably;
55
+ let connectionStatus;
50
56
  const chats = {};
51
- const init = (_options) => {
57
+ const init = (options) => {
52
58
  if (initialized) {
53
59
  console.warn('Chat.init() was called more than once. Ignoring.');
54
60
  return;
55
61
  }
56
62
  initialized = true;
57
- options = _options;
58
- api = new API_1.default({
59
- axios: options.axios,
60
- jwtToken: options.jwtToken,
61
- getChatMessagesRoute: options.getChatMessagesRoute,
62
- getChatAblyTokenRoute: options.getChatAblyTokenRoute,
63
- getChatStoreMessageRoute: options.getChatStoreMessageRoute,
64
- getChatForAppointmentRoute: options.getChatForAppointmentRoute
65
- });
63
+ axios = options.axios;
64
+ jwtToken = options.jwtToken;
65
+ getChatMessagesRoute = options.getChatMessagesRoute;
66
+ getChatAblyTokenRoute = options.getChatAblyTokenRoute;
67
+ getChatStoreMessageRoute = options.getChatStoreMessageRoute;
68
+ getChatForAppointmentRoute = options.getChatForAppointmentRoute;
69
+ api = makeApi();
66
70
  logger = options.logger || new logger_1.ConsoleLogger;
67
71
  ably = new Ably.Realtime({
68
72
  autoConnect: false,
@@ -82,18 +86,17 @@ const Chat = (function () {
82
86
  });
83
87
  },
84
88
  });
89
+ connectionStatus = ably.connection.state;
85
90
  ably.connection.on(handleAblyConnectionStateChange);
86
91
  };
87
92
  const isInitialized = () => {
88
93
  return initialized;
89
94
  };
90
- const setJwtToken = (jwtToken) => {
91
- if (options.jwtToken === jwtToken
92
- || ((options.jwtToken === null || typeof options.jwtToken === 'undefined')
93
- && (jwtToken === null || typeof jwtToken === 'undefined'))) {
95
+ const setJwtToken = (_jwtToken) => {
96
+ if (!(0, jwtTokenChanged_1.jwtTokenChanged)(_jwtToken, jwtToken)) {
94
97
  return;
95
98
  }
96
- options.jwtToken = jwtToken;
99
+ jwtToken = _jwtToken;
97
100
  for (const chatId in chats) {
98
101
  if (Object.prototype.hasOwnProperty.call(chats, chatId)) {
99
102
  chats[chatId].cancelAllSubscriptions();
@@ -101,59 +104,63 @@ const Chat = (function () {
101
104
  delete chats[chatId];
102
105
  }
103
106
  }
104
- api = new API_1.default({
105
- axios: options.axios,
106
- jwtToken: options.jwtToken,
107
- getChatMessagesRoute: options.getChatMessagesRoute,
108
- getChatAblyTokenRoute: options.getChatAblyTokenRoute,
109
- getChatStoreMessageRoute: options.getChatStoreMessageRoute,
110
- getChatForAppointmentRoute: options.getChatForAppointmentRoute
111
- });
107
+ api = makeApi();
112
108
  };
113
109
  const get = (id) => __awaiter(this, void 0, void 0, function* () {
114
- const { chat, error } = getChat(id);
115
- if (error) {
116
- return { error };
117
- }
118
- reauthorizeAbly();
110
+ const { chat, isFirstFetch } = getChat(id);
111
+ ably.auth.authorize();
119
112
  const subscription = new ChatSubscription_1.default(chat, {
120
- status: 'active',
121
- connectionStatus
113
+ status: chat.calculateChatSubscriptionStatus()
122
114
  });
123
115
  chat.addSubscription(subscription);
124
- chat.getLatestMessages();
116
+ if (isFirstFetch) {
117
+ chat.getLatestMessages();
118
+ }
125
119
  return { subscription };
126
120
  });
127
121
  const appointment = (appointmentId) => __awaiter(this, void 0, void 0, function* () {
128
- const { chatId, error } = yield api.getChatIdFromAppointmentId(appointmentId);
129
- if (error) {
130
- return { error };
122
+ try {
123
+ const { chatId, error } = yield api.getChatIdFromAppointmentId(appointmentId);
124
+ if (error) {
125
+ return { error };
126
+ }
127
+ return yield get(chatId);
128
+ }
129
+ catch (err) {
130
+ return { error: { code: 'error' } };
131
131
  }
132
- return yield get(chatId);
133
132
  });
134
133
  const getChat = (chatId) => {
134
+ let isFirstFetch = false;
135
135
  if (!(chatId.toString() in chats)) {
136
136
  chats[chatId] = new CachedChat_1.default({
137
137
  id: chatId,
138
138
  api,
139
139
  channel: ably.channels.get(getChannelName(chatId)),
140
+ connectionStatus,
140
141
  logger
141
142
  });
143
+ isFirstFetch = true;
142
144
  }
143
- return { chat: chats[chatId] };
144
- };
145
- const reauthorizeAbly = () => {
146
- ably.auth.authorize(undefined, undefined, function (err, result) {
147
- logger.debug('Reauthorize ably', err, result);
148
- });
145
+ return {
146
+ chat: chats[chatId],
147
+ isFirstFetch
148
+ };
149
149
  };
150
150
  const handleAblyConnectionStateChange = (event) => {
151
151
  connectionStatus = event.current;
152
152
  Object.values(chats).forEach(chat => {
153
- chat.onConnectionStatusChange(connectionStatus);
153
+ chat.setConnectionStatus(connectionStatus);
154
154
  });
155
- logger.debug('Connection state change', event);
156
155
  };
156
+ const makeApi = () => new API_1.default({
157
+ axios,
158
+ jwtToken,
159
+ getChatMessagesRoute,
160
+ getChatAblyTokenRoute,
161
+ getChatStoreMessageRoute,
162
+ getChatForAppointmentRoute
163
+ });
157
164
  const logout = () => {
158
165
  setJwtToken(undefined);
159
166
  };
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,10 +1,8 @@
1
- import CachedChat, { Messages, SendMessageOptions } from "./CachedChat";
2
- import { ChatConnectionStatus } from "./Chat";
3
1
  import OnlineUser from "./OnlineUser";
4
- export declare type ChatSubscriptionStatus = 'active' | 'cancelled';
2
+ import CachedChat, { Messages, SendMessageOptions } from "./CachedChat";
3
+ export declare type ChatSubscriptionStatus = 'active' | 'pending' | 'failed' | 'cancelled';
5
4
  export interface ChatSubscriptionOptions {
6
5
  status: ChatSubscriptionStatus;
7
- connectionStatus: ChatConnectionStatus;
8
6
  }
9
7
  export interface ChatSubscriptionEventCallbackData {
10
8
  messages: {
@@ -24,9 +22,6 @@ export interface ChatSubscriptionEventCallbackData {
24
22
  statusChange: {
25
23
  status: ChatSubscriptionStatus;
26
24
  };
27
- connectionStatusChange: {
28
- status: ChatConnectionStatus;
29
- };
30
25
  }
31
26
  export declare type ChatSubscriptionEventHandlers = {
32
27
  [Event in keyof ChatSubscriptionEventCallbackData]: (data: ChatSubscriptionEventCallbackData[Event]) => void;
@@ -37,17 +32,15 @@ export declare type ChatSubscriptionEventsAndCallbacks = {
37
32
  export default class ChatSubscription {
38
33
  private chat;
39
34
  private status;
40
- private connectionStatus;
41
35
  private eventHandlers;
42
36
  constructor(chat: CachedChat, options: ChatSubscriptionOptions);
43
37
  getStatus(): ChatSubscriptionStatus;
44
38
  setStatus(status: ChatSubscriptionStatus): void;
45
- getConnectionStatus(): ChatConnectionStatus;
46
- setConnectionStatus(status: ChatConnectionStatus): void;
47
39
  sendMessage(message: string, options?: SendMessageOptions): Promise<any>;
48
40
  on<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
49
41
  off<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
50
42
  fireEvent<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
51
43
  fireEventIfActive<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
44
+ fireEventIfNotCancelled<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
52
45
  cancel(): void;
53
46
  }
@@ -4,14 +4,12 @@ class ChatSubscription {
4
4
  constructor(chat, options) {
5
5
  this.chat = chat;
6
6
  this.status = options.status;
7
- this.connectionStatus = options.connectionStatus;
8
7
  this.eventHandlers = {
9
8
  messages: [],
10
9
  here: [],
11
10
  userJoining: [],
12
11
  userLeaving: [],
13
- statusChange: [],
14
- connectionStatusChange: []
12
+ statusChange: []
15
13
  };
16
14
  }
17
15
  getStatus() {
@@ -19,15 +17,7 @@ class ChatSubscription {
19
17
  }
20
18
  setStatus(status) {
21
19
  this.status = status;
22
- }
23
- getConnectionStatus() {
24
- return this.connectionStatus;
25
- }
26
- setConnectionStatus(status) {
27
- this.connectionStatus = status;
28
- this.fireEvent('connectionStatusChange', {
29
- status: this.connectionStatus
30
- });
20
+ this.fireEvent('statusChange', { status });
31
21
  }
32
22
  sendMessage(message, options) {
33
23
  return this.chat.sendMessage(message, options);
@@ -56,6 +46,11 @@ class ChatSubscription {
56
46
  this.fireEvent(name, data);
57
47
  }
58
48
  }
49
+ fireEventIfNotCancelled(name, data) {
50
+ if (this.status !== 'cancelled') {
51
+ this.fireEvent(name, data);
52
+ }
53
+ }
59
54
  cancel() {
60
55
  this.chat.cancelSubscription(this);
61
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":";;AA4CA,MAAqB,gBAAgB;IAMjC,YAAY,IAAgB,EAAE,OAAgC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG;YACjB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,sBAAsB,EAAE,EAAE;SAC7B,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,MAA8B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,mBAAmB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,MAA4B;QAC5C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB;SAChC,CAAC,CAAC;IACP,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,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACJ;AA9ED,mCA8EC"}
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,2 +1,3 @@
1
- declare const useAppointmentChat: (id: number) => import("./useChat").UseChatReturnValue;
1
+ import { UseChatOptions } from "./useChat";
2
+ declare const useAppointmentChat: (id: number, options: Omit<UseChatOptions, 'idType'>) => import("./useChat").UseChatReturnValue;
2
3
  export default useAppointmentChat;
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const useChat_1 = __importDefault(require("./useChat"));
7
- const useAppointmentChat = (id) => {
8
- return (0, useChat_1.default)(id, { idType: 'appointment' });
7
+ const useAppointmentChat = (id, options) => {
8
+ return (0, useChat_1.default)(id, Object.assign(Object.assign({}, options), { idType: 'appointment' }));
9
9
  };
10
10
  exports.default = useAppointmentChat;
11
11
  //# sourceMappingURL=useAppointmentChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAppointmentChat.js","sourceRoot":"","sources":["../../src/react/useAppointmentChat.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE;IACtC,OAAO,IAAA,iBAAO,EAAC,EAAE,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC,CAAC;AAChD,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"useAppointmentChat.js","sourceRoot":"","sources":["../../src/react/useAppointmentChat.ts"],"names":[],"mappings":";;;;;AAAA,wDAAoD;AAEpD,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,OAAuC,EAAE,EAAE;IAC/E,OAAO,IAAA,iBAAO,EAAC,EAAE,kCACV,OAAO,KACV,MAAM,EAAE,aAAa,IACvB,CAAC;AACP,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"groupMessages.js","sourceRoot":"","sources":["../../src/util/groupMessages.tsx"],"names":[],"mappings":";;;AA8BO,MAAM,aAAa,GAAG,CAAC,QAAmB,EAAgB,EAAE;IAC/D,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,uBAAuB,GAA+B,SAAS,CAAC;IAEpE,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,EAAE,GAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAGvC,IAAI,CAAC,uBAAuB,EAAE;YAC1B,uBAAuB,GAAG;gBACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC9B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;gBAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1B,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC3C,SAAS;SACZ;QAMD,IAAI,uBAAuB,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC3D,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,SAAS;SACZ;QAGD,uBAAuB,GAAG;YACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC9B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;YAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1B,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KAC9C;IAED,OAAO,YAAY,CAAC;AACxB,CAAC,CAAA;AApCY,QAAA,aAAa,iBAoCzB"}
1
+ {"version":3,"file":"groupMessages.js","sourceRoot":"","sources":["../../src/util/groupMessages.ts"],"names":[],"mappings":";;;AA8BO,MAAM,aAAa,GAAG,CAAC,QAAmB,EAAgB,EAAE;IAC/D,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,uBAAuB,GAA+B,SAAS,CAAC;IAEpE,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,EAAE,GAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAGvC,IAAI,CAAC,uBAAuB,EAAE;YAC1B,uBAAuB,GAAG;gBACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC9B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;gBAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1B,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC3C,SAAS;SACZ;QAMD,IAAI,uBAAuB,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC3D,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,SAAS;SACZ;QAGD,uBAAuB,GAAG;YACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC9B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;YAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1B,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KAC9C;IAED,OAAO,YAAY,CAAC;AACxB,CAAC,CAAA;AApCY,QAAA,aAAa,iBAoCzB"}
@@ -0,0 +1 @@
1
+ export declare const isNil: (value: any) => value is null | undefined;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNil = void 0;
4
+ const isNil = (value) => {
5
+ return value == null;
6
+ };
7
+ exports.isNil = isNil;
8
+ //# sourceMappingURL=isNil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNil.js","sourceRoot":"","sources":["../../src/util/isNil.ts"],"names":[],"mappings":";;;AAGO,MAAM,KAAK,GAAG,CAAC,KAAU,EAA6B,EAAE;IAC3D,OAAO,KAAK,IAAI,IAAI,CAAA;AACxB,CAAC,CAAA;AAFY,QAAA,KAAK,SAEjB"}
@@ -0,0 +1 @@
1
+ export declare const jwtTokenChanged: (tokenA?: string, tokenB?: string) => boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jwtTokenChanged = void 0;
4
+ const isNil_1 = require("./isNil");
5
+ const jwtTokenChanged = (tokenA, tokenB) => {
6
+ return (tokenA !== tokenB)
7
+ || ((0, isNil_1.isNil)(tokenA) && !(0, isNil_1.isNil)(tokenB))
8
+ || ((0, isNil_1.isNil)(tokenB) && !(0, isNil_1.isNil)(tokenA));
9
+ };
10
+ exports.jwtTokenChanged = jwtTokenChanged;
11
+ //# sourceMappingURL=jwtTokenChanged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwtTokenChanged.js","sourceRoot":"","sources":["../../src/util/jwtTokenChanged.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEzB,MAAM,eAAe,GAAG,CAAC,MAAe,EAAE,MAAe,EAAW,EAAE;IACzE,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC;WACnB,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC;WACjC,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viewberapp/chat",
3
- "version": "0.0.51",
3
+ "version": "0.0.53",
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": "4cc2e83d30713570ca1d47696028dc7b1ea10841"
44
+ "gitHead": "81b88f6d7236ad9187e5c39c33f076e39f9846c6"
45
45
  }