@viewberapp/chat 0.0.11 → 0.0.14

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,14 +1,20 @@
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
14
  }
15
+ export interface ConstructPusherConfig {
16
+ jwtToken?: string;
17
+ }
12
18
  export declare type GetReturnValue = {
13
19
  subscription: ChatSubscription;
14
20
  error?: undefined;
@@ -16,6 +22,11 @@ export declare type GetReturnValue = {
16
22
  subscription?: undefined;
17
23
  error: ChatError;
18
24
  };
25
+ export interface GetLatestChatMessagesOptions {
26
+ headers?: {
27
+ [index: string]: string | undefined;
28
+ };
29
+ }
19
30
  export declare type GetLatestChatMessagesReturnValue = {
20
31
  messages: any[];
21
32
  error?: undefined;
@@ -23,6 +34,11 @@ export declare type GetLatestChatMessagesReturnValue = {
23
34
  messages?: undefined;
24
35
  error: ChatError;
25
36
  };
37
+ export interface GetChatIdFromAppointmentIdOptions {
38
+ headers?: {
39
+ [index: string]: string | undefined;
40
+ };
41
+ }
26
42
  export declare type GetChatIdFromAppointmentIdReturnValue = {
27
43
  chatId: number;
28
44
  error?: undefined;
@@ -30,13 +46,22 @@ export declare type GetChatIdFromAppointmentIdReturnValue = {
30
46
  chatId?: undefined;
31
47
  error: ChatError;
32
48
  };
49
+ export declare type GetChatReturnValue = {
50
+ chat: CachedChat;
51
+ error?: undefined;
52
+ } | {
53
+ chat?: undefined;
54
+ error: ChatError;
55
+ };
33
56
  export interface ChatError {
34
57
  code: ChatErrorCode;
35
58
  }
36
- export declare type ChatErrorCode = 'error' | 'unauthorized' | 'chat_not_initialized';
59
+ export declare type ChatErrorCode = 'error' | 'unauthorized' | 'chat_not_initialized' | 'echo_is_not_defined';
37
60
  declare const Chat: {
38
61
  init: (_options: ChatOptions) => void;
39
62
  isInitialized: () => boolean;
63
+ login: () => void;
64
+ logout: () => void;
40
65
  get: (id: number) => Promise<GetReturnValue>;
41
66
  appointment: (appointmentId: number) => Promise<GetReturnValue>;
42
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,10 +106,14 @@ 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
- const response = yield axios.get(options.getChatMessagesRoute(id));
112
+ const response = yield axios.get(options.getChatMessagesRoute(id), {
113
+ headers: options.jwtToken
114
+ ? { 'Authorization': `Bearer ${options.jwtToken}` }
115
+ : undefined
116
+ });
79
117
  return { messages: response.data.data };
80
118
  }
81
119
  catch (error) {
@@ -89,10 +127,14 @@ const Chat = (function () {
89
127
  return { error: { code: 'error' } };
90
128
  }
91
129
  });
92
- const getChatIdFromAppointmentId = (appointmentId) => __awaiter(this, void 0, void 0, function* () {
130
+ const getChatIdFromAppointmentId = (appointmentId, opts) => __awaiter(this, void 0, void 0, function* () {
93
131
  var _c;
94
132
  try {
95
- const response = yield axios.get(options.getChatForAppointmentRoute(appointmentId));
133
+ const response = yield axios.get(options.getChatForAppointmentRoute(appointmentId), {
134
+ headers: options.jwtToken
135
+ ? { 'Authorization': `Bearer ${options.jwtToken}` }
136
+ : undefined
137
+ });
96
138
  return { chatId: response.data.data.id };
97
139
  }
98
140
  catch (error) {
@@ -107,18 +149,30 @@ const Chat = (function () {
107
149
  }
108
150
  });
109
151
  const getChat = (chatId) => {
152
+ if (!echo) {
153
+ return { error: {
154
+ code: 'echo_is_not_defined'
155
+ } };
156
+ }
110
157
  if (!(chatId.toString() in chats)) {
111
- 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
+ });
112
163
  }
113
- return chats[chatId];
164
+ return { chat: chats[chatId] };
114
165
  };
115
- const destroyChatSubscription = (subscription) => {
166
+ const getChannelName = (chatId) => {
167
+ return `chat.${chatId}`;
116
168
  };
117
169
  return {
118
170
  init,
119
171
  isInitialized,
172
+ login,
173
+ logout,
120
174
  get,
121
- appointment
175
+ appointment,
122
176
  };
123
177
  })();
124
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"}
@@ -1,5 +1,2 @@
1
- interface UserAppointmentChatParams {
2
- id: number;
3
- }
4
- declare const useAppointmentChat: ({ id }: UserAppointmentChatParams) => void;
1
+ declare const useAppointmentChat: (id: number) => void;
5
2
  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, type: 'appointment' });
7
+ const useAppointmentChat = (id) => {
8
+ return (0, useChat_1.default)(id, { 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;AAMhC,MAAM,kBAAkB,GAAG,CAAC,EAAC,EAAE,EAA4B,EAAE,EAAE;IAC3D,OAAO,IAAA,iBAAO,EAAC,EAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;AAC9C,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAC"}
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,6 +1,5 @@
1
- export interface UseChatParams {
2
- id: number;
3
- type?: 'appointment';
1
+ export interface UseChatOptions {
2
+ idType?: 'appointment';
4
3
  }
5
- declare const useChat: ({ id, type }: UseChatParams) => void;
4
+ declare const useChat: (id: number, { idType }: UseChatOptions) => void;
6
5
  export default useChat;
@@ -5,22 +5,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Chat_1 = __importDefault(require("../Chat"));
7
7
  const react_1 = require("react");
8
- const useChat = ({ id, type }) => {
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
- const method = type === 'appointment' ? 'appointment' : 'get';
26
+ const method = idType === 'appointment' ? 'appointment' : 'get';
24
27
  Chat_1.default[method](id).then(({ subscription, error }) => {
25
28
  if (error) {
26
29
  console.log('ERROR', error);
@@ -32,10 +35,10 @@ const useChat = ({ id, type }) => {
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;AAQ1C,MAAM,OAAO,GAAG,CAAC,EAAC,EAAE,EAAE,IAAI,EAAgB,EAAE,EAAE;IAC1C,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,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9D,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.11",
3
+ "version": "0.0.14",
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": "fb02ca032ad79de0c4a151d35ef578b3f1639307"
42
+ "gitHead": "1f1947be4289b5874e00b69315ed60c08281531f"
41
43
  }