@viewberapp/chat 0.0.12 → 0.0.15

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.
@@ -1,21 +1,21 @@
1
1
  import { AxiosInstance } from "axios";
2
2
  import { PresenceChannel } from "laravel-echo";
3
3
  import ChatSubscription from "./ChatSubscription";
4
- export declare type CachedChatGetLatestMessagesReturnValue = {
5
- messages: [];
6
- } | {
7
- error: {};
8
- };
4
+ export interface CachedChatParams {
5
+ axios: AxiosInstance;
6
+ channel: PresenceChannel;
7
+ leave: () => void;
8
+ }
9
9
  export default class CachedChat {
10
10
  private axios;
11
11
  private messages;
12
12
  private subscriptions;
13
13
  private channel;
14
- constructor(axios: AxiosInstance, channel: PresenceChannel);
14
+ private _leave;
15
+ constructor({ axios, channel, leave }: CachedChatParams);
15
16
  addSubscription(subscription: ChatSubscription): void;
16
- protected handleChannelHere(users: any): void;
17
- protected handleChannelJoining(user: any): void;
18
- protected handleChannelLeaving(user: any): void;
19
- protected handleChannelChatMessageCreated(event: any): void;
20
- protected handleChannelError(error: any): void;
17
+ cancelSubscription(subscription: ChatSubscription): void;
18
+ cancelAllSubscriptions(): void;
19
+ leave(): void;
20
+ cancelAllSubscriptionsAndLeave(): void;
21
21
  }
@@ -1,35 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class CachedChat {
4
- constructor(axios, channel) {
4
+ constructor({ axios, channel, leave }) {
5
5
  this.axios = axios;
6
6
  this.messages = [];
7
7
  this.subscriptions = [];
8
8
  this.channel = channel;
9
+ this._leave = leave;
9
10
  channel
10
- .here(this.handleChannelHere)
11
- .joining(this.handleChannelJoining)
12
- .leaving(this.handleChannelLeaving)
13
- .listen('.chat.message.created', this.handleChannelChatMessageCreated)
14
- .error(this.handleChannelError);
11
+ .here((users) => {
12
+ this.subscriptions.forEach((subscription) => {
13
+ if (subscription.getStatus() === 'active') {
14
+ subscription.event('onHere', users);
15
+ }
16
+ });
17
+ })
18
+ .joining((user) => {
19
+ this.subscriptions.forEach((subscription) => {
20
+ if (subscription.getStatus() === 'active') {
21
+ subscription.event('onUserJoining', user);
22
+ }
23
+ });
24
+ })
25
+ .leaving((user) => {
26
+ this.subscriptions.forEach((subscription) => {
27
+ if (subscription.getStatus() === 'active') {
28
+ subscription.event('onUserLeaving', user);
29
+ }
30
+ });
31
+ })
32
+ .listen('.chat.message.created', (event) => {
33
+ this.subscriptions.forEach((subscription) => {
34
+ if (subscription.getStatus() === 'active') {
35
+ subscription.event('onMessage', event);
36
+ }
37
+ });
38
+ })
39
+ .error((error) => {
40
+ console.error(error);
41
+ });
15
42
  }
16
43
  addSubscription(subscription) {
17
44
  this.subscriptions.push(subscription);
18
45
  }
19
- handleChannelHere(users) {
20
- this.subscriptions.forEach((subscription) => subscription.emit('onHere', users));
46
+ cancelSubscription(subscription) {
47
+ subscription.setStatus('cancelled');
21
48
  }
22
- handleChannelJoining(user) {
23
- this.subscriptions.forEach((subscription) => subscription.emit('onUserJoining', user));
49
+ cancelAllSubscriptions() {
50
+ this.subscriptions.forEach(subscription => {
51
+ this.cancelSubscription(subscription);
52
+ });
24
53
  }
25
- handleChannelLeaving(user) {
26
- this.subscriptions.forEach((subscription) => subscription.emit('onUserLeaving', user));
54
+ leave() {
55
+ this._leave();
27
56
  }
28
- handleChannelChatMessageCreated(event) {
29
- this.subscriptions.forEach((subscription) => subscription.emit('onMessage', event));
30
- }
31
- handleChannelError(error) {
32
- console.error(error);
57
+ cancelAllSubscriptionsAndLeave() {
58
+ this.cancelAllSubscriptions();
59
+ this.leave();
33
60
  }
34
61
  }
35
62
  exports.default = CachedChat;
@@ -1 +1 @@
1
- {"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":";;AAQA,MAAqB,UAAU;IAM3B,YAAY,KAAoB,EAAE,OAAwB;QACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO;aACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;aAC5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAClC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAClC,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC,+BAA+B,CAAC;aACrE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,YAA8B;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAES,iBAAiB,CAAC,KAAU;QAClC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE,CAC1D,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CACrC,CAAC;IACN,CAAC;IAES,oBAAoB,CAAC,IAAS;QACpC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE,CAC1D,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAC3C,CAAC;IACN,CAAC;IAES,oBAAoB,CAAC,IAAS;QACpC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE,CAC1D,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAC3C,CAAC;IACN,CAAC;IAES,+BAA+B,CAAC,KAAU;QAChD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE,CAC1D,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CACxC,CAAC;IACN,CAAC;IAES,kBAAkB,CAAC,KAAU;QACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACJ;AAlDD,6BAkDC"}
1
+ {"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":";;AAUA,MAAqB,UAAU;IAO3B,YAAY,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAmB;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO;aACF,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE;gBAC1D,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;oBACvC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE;gBAC1D,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;oBACvC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;iBAC7C;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE;gBAC1D,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;oBACvC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;iBAC7C;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,MAAM,CAAC,uBAAuB,EAAE,CAAC,KAAU,EAAE,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE;gBAC1D,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;oBACvC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;iBAC1C;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACX,CAAC;IAED,eAAe,CAAC,YAA8B;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB,CAAC,YAA8B;QAC7C,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,8BAA8B;QAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ;AArED,6BAqEC"}
package/dist/Chat.d.ts CHANGED
@@ -1,16 +1,19 @@
1
1
  import Echo from "laravel-echo";
2
2
  import { Logger } from "./Logger";
3
+ import CachedChat from "./CachedChat";
3
4
  import { AxiosInstance } from 'axios';
4
5
  import ChatSubscription from "./ChatSubscription";
5
6
  export interface ChatOptions {
6
7
  echo: Echo;
7
8
  axios?: AxiosInstance;
8
9
  logger?: Logger;
10
+ jwtToken?: string;
11
+ constructPusher: (config: ConstructPusherConfig) => any;
9
12
  getChatMessagesRoute: (chatId: number) => string;
10
13
  getChatForAppointmentRoute: (appointmentId: number) => string;
11
- additionalRequestHeaders?: {
12
- [index: string]: string;
13
- };
14
+ }
15
+ export interface ConstructPusherConfig {
16
+ jwtToken?: string;
14
17
  }
15
18
  export declare type GetReturnValue = {
16
19
  subscription: ChatSubscription;
@@ -19,6 +22,11 @@ export declare type GetReturnValue = {
19
22
  subscription?: undefined;
20
23
  error: ChatError;
21
24
  };
25
+ export interface GetLatestChatMessagesOptions {
26
+ headers?: {
27
+ [index: string]: string | undefined;
28
+ };
29
+ }
22
30
  export declare type GetLatestChatMessagesReturnValue = {
23
31
  messages: any[];
24
32
  error?: undefined;
@@ -26,6 +34,11 @@ export declare type GetLatestChatMessagesReturnValue = {
26
34
  messages?: undefined;
27
35
  error: ChatError;
28
36
  };
37
+ export interface GetChatIdFromAppointmentIdOptions {
38
+ headers?: {
39
+ [index: string]: string | undefined;
40
+ };
41
+ }
29
42
  export declare type GetChatIdFromAppointmentIdReturnValue = {
30
43
  chatId: number;
31
44
  error?: undefined;
@@ -33,13 +46,22 @@ export declare type GetChatIdFromAppointmentIdReturnValue = {
33
46
  chatId?: undefined;
34
47
  error: ChatError;
35
48
  };
49
+ export declare type GetChatReturnValue = {
50
+ chat: CachedChat;
51
+ error?: undefined;
52
+ } | {
53
+ chat?: undefined;
54
+ error: ChatError;
55
+ };
36
56
  export interface ChatError {
37
57
  code: ChatErrorCode;
38
58
  }
39
- export declare type ChatErrorCode = 'error' | 'unauthorized' | 'chat_not_initialized';
59
+ export declare type ChatErrorCode = 'error' | 'unauthorized' | 'chat_not_initialized' | 'echo_is_not_defined';
40
60
  declare const Chat: {
41
61
  init: (_options: ChatOptions) => void;
42
62
  isInitialized: () => boolean;
63
+ login: () => void;
64
+ logout: () => void;
43
65
  get: (id: number) => Promise<GetReturnValue>;
44
66
  appointment: (appointmentId: number) => Promise<GetReturnValue>;
45
67
  };
package/dist/Chat.js CHANGED
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const laravel_echo_1 = __importDefault(require("laravel-echo"));
15
16
  const Logger_1 = require("./Logger");
16
17
  const CachedChat_1 = __importDefault(require("./CachedChat"));
17
18
  const axios_1 = __importDefault(require("axios"));
@@ -29,23 +30,56 @@ const Chat = (function () {
29
30
  return;
30
31
  }
31
32
  initialized = true;
32
- echo = _options.echo;
33
- axios = _options.axios || axios_1.default.create();
34
- logger = _options.logger || new Logger_1.ConsoleLogger;
35
33
  options = _options;
34
+ echo = new laravel_echo_1.default({
35
+ broadcaster: 'pusher',
36
+ client: _options.constructPusher({
37
+ jwtToken: options.jwtToken
38
+ })
39
+ });
40
+ axios = options.axios || axios_1.default.create();
41
+ logger = options.logger || new Logger_1.ConsoleLogger;
36
42
  };
37
43
  const isInitialized = () => {
38
44
  return initialized;
39
45
  };
46
+ const login = () => {
47
+ if (echo) {
48
+ logout();
49
+ }
50
+ echo = new laravel_echo_1.default({
51
+ broadcaster: 'pusher',
52
+ client: options.constructPusher({
53
+ jwtToken: options.jwtToken
54
+ })
55
+ });
56
+ };
57
+ const logout = () => {
58
+ for (const chatId in chats) {
59
+ if (Object.prototype.hasOwnProperty.call(chats, chatId)) {
60
+ chats[chatId].cancelAllSubscriptionsAndLeave();
61
+ delete chats[chatId];
62
+ }
63
+ }
64
+ echo === null || echo === void 0 ? void 0 : echo.disconnect();
65
+ echo = undefined;
66
+ };
40
67
  const get = (id) => __awaiter(this, void 0, void 0, function* () {
41
- const chat = getChat(id);
42
- let { messages, error } = yield getLatestChatMessages(id);
68
+ const { chat, error: getChatError } = getChat(id);
69
+ if (getChatError) {
70
+ return { error: getChatError };
71
+ }
72
+ let { messages, error: getLatestChatMessagesError } = yield getLatestChatMessages(id, {
73
+ headers: options.jwtToken
74
+ ? { 'Authorization': `Bearer ${options.jwtToken}` }
75
+ : undefined
76
+ });
43
77
  console.log('MESSAGES', messages);
44
- if (error) {
45
- return { error };
78
+ if (getLatestChatMessagesError) {
79
+ return { error: getLatestChatMessagesError };
46
80
  }
47
- const subscription = new ChatSubscription_1.default({
48
- destroy: destroyChatSubscription
81
+ const subscription = new ChatSubscription_1.default(chat, {
82
+ status: 'active'
49
83
  });
50
84
  chat.addSubscription(subscription);
51
85
  return { subscription };
@@ -72,11 +106,13 @@ const Chat = (function () {
72
106
  }
73
107
  return yield get(chatId);
74
108
  });
75
- const getLatestChatMessages = (id) => __awaiter(this, void 0, void 0, function* () {
109
+ const getLatestChatMessages = (id, opts) => __awaiter(this, void 0, void 0, function* () {
76
110
  var _b;
77
111
  try {
78
112
  const response = yield axios.get(options.getChatMessagesRoute(id), {
79
- headers: options.additionalRequestHeaders || {}
113
+ headers: options.jwtToken
114
+ ? { 'Authorization': `Bearer ${options.jwtToken}` }
115
+ : undefined
80
116
  });
81
117
  return { messages: response.data.data };
82
118
  }
@@ -91,11 +127,13 @@ const Chat = (function () {
91
127
  return { error: { code: 'error' } };
92
128
  }
93
129
  });
94
- const getChatIdFromAppointmentId = (appointmentId) => __awaiter(this, void 0, void 0, function* () {
130
+ const getChatIdFromAppointmentId = (appointmentId, opts) => __awaiter(this, void 0, void 0, function* () {
95
131
  var _c;
96
132
  try {
97
133
  const response = yield axios.get(options.getChatForAppointmentRoute(appointmentId), {
98
- headers: options.additionalRequestHeaders || {}
134
+ headers: options.jwtToken
135
+ ? { 'Authorization': `Bearer ${options.jwtToken}` }
136
+ : undefined
99
137
  });
100
138
  return { chatId: response.data.data.id };
101
139
  }
@@ -111,18 +149,30 @@ const Chat = (function () {
111
149
  }
112
150
  });
113
151
  const getChat = (chatId) => {
152
+ if (!echo) {
153
+ return { error: {
154
+ code: 'echo_is_not_defined'
155
+ } };
156
+ }
114
157
  if (!(chatId.toString() in chats)) {
115
- chats[chatId] = new CachedChat_1.default(axios, echo.join(`chat.${chatId}`));
158
+ chats[chatId] = new CachedChat_1.default({
159
+ axios,
160
+ channel: echo.join(getChannelName(chatId)),
161
+ leave: () => echo === null || echo === void 0 ? void 0 : echo.leave(getChannelName(chatId))
162
+ });
116
163
  }
117
- return chats[chatId];
164
+ return { chat: chats[chatId] };
118
165
  };
119
- const destroyChatSubscription = (subscription) => {
166
+ const getChannelName = (chatId) => {
167
+ return `chat.${chatId}`;
120
168
  };
121
169
  return {
122
170
  init,
123
171
  isInitialized,
172
+ login,
173
+ logout,
124
174
  get,
125
- appointment
175
+ appointment,
126
176
  };
127
177
  })();
128
178
  exports.default = Chat;
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,20 +1,27 @@
1
+ import CachedChat from "./CachedChat";
2
+ export declare type ChatSubscriptionStatus = 'active' | 'cancelled';
1
3
  export interface ChatSubscriptionOptions {
2
- destroy: (subscription: ChatSubscription) => void;
4
+ status: ChatSubscriptionStatus;
3
5
  }
4
6
  export interface ChatSubscriptionEventHandlers {
5
7
  onMessage?: (event: any) => void;
6
8
  onHere?: (event: any) => void;
7
9
  onUserJoining?: (event: any) => void;
8
10
  onUserLeaving?: (event: any) => void;
11
+ onStatusChange?: (status: ChatSubscriptionStatus) => void;
9
12
  }
10
13
  export default class ChatSubscription {
11
- private options;
14
+ private chat;
15
+ private status;
12
16
  private eventHandlers;
13
- constructor(options: ChatSubscriptionOptions);
17
+ constructor(chat: CachedChat, options: ChatSubscriptionOptions);
18
+ getStatus(): ChatSubscriptionStatus;
19
+ setStatus(status: ChatSubscriptionStatus): void;
14
20
  onMessage(handler: ChatSubscriptionEventHandlers['onMessage']): this;
15
21
  onHere(handler: ChatSubscriptionEventHandlers['onHere']): this;
16
22
  onUserJoining(handler: ChatSubscriptionEventHandlers['onUserJoining']): this;
17
23
  onUserLeaving(handler: ChatSubscriptionEventHandlers['onUserLeaving']): this;
18
- emit(name: keyof ChatSubscriptionEventHandlers, data: any): void;
19
- destroy(): void;
24
+ onStatusChange(handler: ChatSubscriptionEventHandlers['onStatusChange']): this;
25
+ event(name: keyof ChatSubscriptionEventHandlers, data: any): void;
26
+ cancel(): void;
20
27
  }
@@ -1,9 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class ChatSubscription {
4
- constructor(options) {
4
+ constructor(chat, options) {
5
+ this.chat = chat;
6
+ this.status = options.status;
5
7
  this.eventHandlers = {};
6
- this.options = options;
8
+ }
9
+ getStatus() {
10
+ return this.status;
11
+ }
12
+ setStatus(status) {
13
+ this.status = status;
7
14
  }
8
15
  onMessage(handler) {
9
16
  this.eventHandlers.onMessage = handler;
@@ -21,12 +28,16 @@ class ChatSubscription {
21
28
  this.eventHandlers.onUserLeaving = handler;
22
29
  return this;
23
30
  }
24
- emit(name, data) {
31
+ onStatusChange(handler) {
32
+ this.eventHandlers.onStatusChange = handler;
33
+ return this;
34
+ }
35
+ event(name, data) {
25
36
  var _a, _b;
26
37
  (_b = (_a = this.eventHandlers)[name]) === null || _b === void 0 ? void 0 : _b.call(_a, data);
27
38
  }
28
- destroy() {
29
- this.options.destroy(this);
39
+ cancel() {
40
+ this.chat.cancelSubscription(this);
30
41
  }
31
42
  }
32
43
  exports.default = ChatSubscription;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":";;AAWA,MAAqB,gBAAgB;IAIjC,YAAY,OAAgC;QACxC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,OAAmD;QACzD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAgD;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAuD;QACjE,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAuD;QACjE,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAyC,EAAE,IAAS;;QACrD,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,IAAI,CAAC,mDAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACJ;AApCD,mCAoCC"}
1
+ {"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":";;AAkBA,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,EAAE,CAAC;IAC5B,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,SAAS,CAAC,OAAmD;QACzD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAgD;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAuD;QACjE,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAuD;QACjE,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,OAAwD;QACnE,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAyC,EAAE,IAAS;;QACtD,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,IAAI,CAAC,mDAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACJ;AAnDD,mCAmDC"}
@@ -7,17 +7,20 @@ const Chat_1 = __importDefault(require("../Chat"));
7
7
  const react_1 = require("react");
8
8
  const useChat = (id, { idType }) => {
9
9
  const [subscription, setSubscription] = (0, react_1.useState)();
10
- const handleChatHere = (users) => {
11
- console.log('handleChatHere', users);
10
+ const handleHere = (users) => {
11
+ console.log('handleHere', users);
12
12
  };
13
- const handleChatUserJoining = (user) => {
14
- console.log('handleChatUserJoining', user);
13
+ const handleUserJoining = (user) => {
14
+ console.log('handleUserJoining', user);
15
15
  };
16
- const handleChatUserLeaving = (user) => {
17
- console.log('handleChatUserLeaving', user);
16
+ const handleUserLeaving = (user) => {
17
+ console.log('handleUserLeaving', user);
18
18
  };
19
- const handleChatMessage = (event) => {
20
- console.log('handleChatMessage', event);
19
+ const handleMessage = (event) => {
20
+ console.log('handleMessage', event);
21
+ };
22
+ const handleStatusChange = (status) => {
23
+ console.log('status change', status);
21
24
  };
22
25
  (0, react_1.useEffect)(() => {
23
26
  const method = idType === 'appointment' ? 'appointment' : 'get';
@@ -32,10 +35,10 @@ const useChat = (id, { idType }) => {
32
35
  });
33
36
  }, []);
34
37
  (0, react_1.useEffect)(() => {
35
- var _a, _b, _c;
36
- (_c = (_b = (_a = subscription === null || subscription === void 0 ? void 0 : subscription.onHere(handleChatHere)) === null || _a === void 0 ? void 0 : _a.onUserJoining(handleChatUserJoining)) === null || _b === void 0 ? void 0 : _b.onUserLeaving(handleChatUserLeaving)) === null || _c === void 0 ? void 0 : _c.onMessage(handleChatMessage);
38
+ var _a, _b, _c, _d;
39
+ (_d = (_c = (_b = (_a = subscription === null || subscription === void 0 ? void 0 : subscription.onHere(handleHere)) === null || _a === void 0 ? void 0 : _a.onUserJoining(handleUserJoining)) === null || _b === void 0 ? void 0 : _b.onUserLeaving(handleUserLeaving)) === null || _c === void 0 ? void 0 : _c.onMessage(handleMessage)) === null || _d === void 0 ? void 0 : _d.onStatusChange(handleStatusChange);
37
40
  return () => {
38
- subscription === null || subscription === void 0 ? void 0 : subscription.destroy();
41
+ subscription === null || subscription === void 0 ? void 0 : subscription.cancel();
39
42
  };
40
43
  }, [subscription]);
41
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":";;;;;AAAA,mDAA2B;AAC3B,iCAA0C;AAO1C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,MAAM,EAAkB,EAAE,EAAE;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAA8B,CAAC;IAE/E,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,IAAS,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,IAAS,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,cAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,YAAY,EAAE,KAAK,EAAC,EAAE,EAAE;YAC5C,IAAI,KAAK,EAAE;gBAEP,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5B,OAAO;aACV;YACD,eAAe,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACX,MAAA,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CACN,MAAM,CAAC,cAAc,CAAC,0CACtB,aAAa,CAAC,qBAAqB,CAAC,0CACpC,aAAa,CAAC,qBAAqB,CAAC,0CACpC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAElC,OAAO,GAAG,EAAE;YACR,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACvB,CAAC,CAAA;AAED,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":";;;;;AAAA,mDAA2B;AAC3B,iCAA0C;AAO1C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,MAAM,EAAkB,EAAE,EAAE;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAA8B,CAAC;IAE/E,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,MAA8B,EAAE,EAAE;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,cAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,YAAY,EAAE,KAAK,EAAC,EAAE,EAAE;YAC5C,IAAI,KAAK,EAAE;gBAEP,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5B,OAAO;aACV;YACD,eAAe,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACX,MAAA,MAAA,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CACN,MAAM,CAAC,UAAU,CAAC,0CAClB,aAAa,CAAC,iBAAiB,CAAC,0CAChC,aAAa,CAAC,iBAAiB,CAAC,0CAChC,SAAS,CAAC,aAAa,CAAC,0CACxB,cAAc,CAAC,kBAAkB,CAAC,CAAA;QAExC,OAAO,GAAG,EAAE;YACR,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE,CAAC;QAC3B,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACvB,CAAC,CAAA;AAED,kBAAe,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viewberapp/chat",
3
- "version": "0.0.12",
3
+ "version": "0.0.15",
4
4
  "description": "Viewber chat",
5
5
  "author": "Jacob <jacob.chen@viewber.co.uk>",
6
6
  "homepage": "https://bitbucket.org/ezadr/viewberjs#readme",
@@ -28,14 +28,16 @@
28
28
  "bugs": {
29
29
  "url": "https://bitbucket.org/ezadr/viewberjs/issues"
30
30
  },
31
+ "dependencies": {
32
+ "laravel-echo": "^1.13.1"
33
+ },
31
34
  "devDependencies": {
32
35
  "@types/react": "^16.14.0"
33
36
  },
34
37
  "peerDependencies": {
35
38
  "axios": "^0.21.1",
36
- "laravel-echo": "^1.12.0",
37
39
  "react": "^16.14.0",
38
40
  "rollbar": "^2.25.0"
39
41
  },
40
- "gitHead": "39c96ce4b6662f1031983ed6eeab5746502d3ac7"
42
+ "gitHead": "00b425659f1313542e404a1684a7e9a98d23bbf5"
41
43
  }