@viewberapp/chat 0.0.48 → 0.0.50
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.
- package/dist/CachedChat.js.map +1 -1
- package/dist/ChatSubscription.d.ts +6 -4
- package/dist/ChatSubscription.js +22 -4
- package/dist/ChatSubscription.js.map +1 -1
- package/dist/react/useChat.d.ts +3 -1
- package/dist/react/useChat.js +6 -1
- package/dist/react/useChat.js.map +1 -1
- package/dist/util/groupMessages.d.ts +8 -0
- package/dist/util/groupMessages.js +31 -0
- package/dist/util/groupMessages.js.map +1 -0
- package/package.json +2 -2
package/dist/CachedChat.js.map
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,+BAAoC;AAEpC,sEAA8C;AAE9C,qDAAmD;AAgBnD,MAAqB,UAAU;IAS3B,YAAY,EACR,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACS;QACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAA2B,EAAE,EAAE;YACnD,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,iBAAO,CAAC;oBACxB,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;oBACnB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;oBAC5B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;oBAC7B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;oBAChC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;oBAC3B,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB;oBAC7C,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC/C,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,yCAAyC,EAAE,CAAC;aACpD;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAA6C,EAAE,EAAE;YACrF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAgC,EAAE,MAAgD,EAAE,EAAE;YAC7G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAmC,EAAE,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAiC,EAAE,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAA;IAmEN,CAAC;IAED,WAAW,CAAE,OAAe,EAAE,OAA4B;QACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEnC,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC;gBACtC,EAAE,EAAE,IAAA,SAAM,GAAE;gBACZ,OAAO;gBACP,MAAM,EAAE,SAAS;aACpB,CAAC,CAAC;YAGH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAGhC,IAAI,CAAC,yCAAyC,EAAE,CAAC;YAGjD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,EAAE,EAAE;gBAEvE,IAAI,KAAK,EAAE;oBACP,OAAO;iBACV;gBAGD,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAGpD,IAAI,CAAC,yCAAyC,EAAE,CAAC;gBAGjD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAC,EAAE,EAAE;YAE3D,IAAI,QAAQ,EAAE;gBAEV,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1C,IAAI,CAAC,yCAAyC,EAAE,CAAC;aACpD;QAIL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAMD,UAAU,CAAC,OAA+B;QAItC,IAAI,OAAO,YAAY,wBAAc,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;SACV;QAID,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QAGf,KAAI,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,IAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAI7C,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACzE,KAAK,GAAG,CAAC,CAAC;aACb;YAGD,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC3D,OAAO;aACV;SACJ;QAGD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAQd,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC5C;aAAM;YAOH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC5C;IACL,CAAC;IAEO,qBAAqB,CAAC,cAA8B,EAAE,OAAgB;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAyB,EAAE,EAAE;YAC/D,OAAO,CAAC,KAAK,cAAc,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe,CAAC,YAA8B;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAEO,yCAAyC;QAC7C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAA8B,EAAE,EAAE;YAG1D,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wBAAwB,CAAC,MAA4B;QACjD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACtC,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;gBACvC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;aAC5C;QACL,CAAC,CAAC,CAAC;IACP,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;CACJ;AAxQD,6BAwQC"}
|
|
@@ -28,10 +28,12 @@ export interface ChatSubscriptionEventCallbackData {
|
|
|
28
28
|
status: ChatConnectionStatus;
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
declare type
|
|
32
|
-
[Event in keyof
|
|
31
|
+
export declare type ChatSubscriptionEventHandlers = {
|
|
32
|
+
[Event in keyof ChatSubscriptionEventCallbackData]: (data: ChatSubscriptionEventCallbackData[Event]) => void;
|
|
33
|
+
};
|
|
34
|
+
export declare type ChatSubscriptionEventsAndCallbacks = {
|
|
35
|
+
[Event in keyof ChatSubscriptionEventCallbackData]: ChatSubscriptionEventHandlers[Event][];
|
|
33
36
|
};
|
|
34
|
-
export declare type ChatSubscriptionEventHandlers = ChatSubscriptionEventsAndCallbacks<ChatSubscriptionEventCallbackData>;
|
|
35
37
|
export default class ChatSubscription {
|
|
36
38
|
private chat;
|
|
37
39
|
private status;
|
|
@@ -44,8 +46,8 @@ export default class ChatSubscription {
|
|
|
44
46
|
setConnectionStatus(status: ChatConnectionStatus): void;
|
|
45
47
|
sendMessage(message: string, options?: SendMessageOptions): Promise<any>;
|
|
46
48
|
on<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
|
|
49
|
+
off<Event extends keyof ChatSubscriptionEventHandlers>(event: Event, handler: ChatSubscriptionEventHandlers[Event]): this;
|
|
47
50
|
fireEvent<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
|
|
48
51
|
fireEventIfActive<Event extends keyof ChatSubscriptionEventHandlers>(name: Event, data: ChatSubscriptionEventCallbackData[Event]): void;
|
|
49
52
|
cancel(): void;
|
|
50
53
|
}
|
|
51
|
-
export {};
|
package/dist/ChatSubscription.js
CHANGED
|
@@ -5,7 +5,14 @@ class ChatSubscription {
|
|
|
5
5
|
this.chat = chat;
|
|
6
6
|
this.status = options.status;
|
|
7
7
|
this.connectionStatus = options.connectionStatus;
|
|
8
|
-
this.eventHandlers = {
|
|
8
|
+
this.eventHandlers = {
|
|
9
|
+
messages: [],
|
|
10
|
+
here: [],
|
|
11
|
+
userJoining: [],
|
|
12
|
+
userLeaving: [],
|
|
13
|
+
statusChange: [],
|
|
14
|
+
connectionStatusChange: []
|
|
15
|
+
};
|
|
9
16
|
}
|
|
10
17
|
getStatus() {
|
|
11
18
|
return this.status;
|
|
@@ -26,12 +33,23 @@ class ChatSubscription {
|
|
|
26
33
|
return this.chat.sendMessage(message, options);
|
|
27
34
|
}
|
|
28
35
|
on(event, handler) {
|
|
29
|
-
this.eventHandlers[event]
|
|
36
|
+
this.eventHandlers[event].push(handler);
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
off(event, handler) {
|
|
40
|
+
let newEventHandlers = [];
|
|
41
|
+
this.eventHandlers[event] = this.eventHandlers[event].reduce((carry, h) => {
|
|
42
|
+
if (h !== handler) {
|
|
43
|
+
carry.push(h);
|
|
44
|
+
}
|
|
45
|
+
return carry;
|
|
46
|
+
}, newEventHandlers);
|
|
30
47
|
return this;
|
|
31
48
|
}
|
|
32
49
|
fireEvent(name, data) {
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
this.eventHandlers[name].forEach(handler => {
|
|
51
|
+
handler(data);
|
|
52
|
+
});
|
|
35
53
|
}
|
|
36
54
|
fireEventIfActive(name, data) {
|
|
37
55
|
if (this.status === 'active') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatSubscription.js","sourceRoot":"","sources":["../src/ChatSubscription.ts"],"names":[],"mappings":";;
|
|
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"}
|
package/dist/react/useChat.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import OnlineUser from '../OnlineUser';
|
|
2
2
|
import { Messages } from '../CachedChat';
|
|
3
|
-
import { ChatSubscriptionStatus } from '../ChatSubscription';
|
|
3
|
+
import { ChatSubscriptionStatus, ChatSubscriptionEventCallbackData } from '../ChatSubscription';
|
|
4
4
|
export interface UseChatOptions {
|
|
5
5
|
idType?: 'appointment';
|
|
6
6
|
}
|
|
7
|
+
export declare type OnMessagesCallback = (data: ChatSubscriptionEventCallbackData['messages']) => void;
|
|
7
8
|
export interface UseChatReturnValue {
|
|
8
9
|
status: ChatSubscriptionStatus | undefined;
|
|
9
10
|
messages: Messages;
|
|
10
11
|
onlineUsers: OnlineUser[];
|
|
11
12
|
sendMessage: (message: string) => Promise<any> | void;
|
|
13
|
+
onMessages: (handler: OnMessagesCallback | undefined) => void;
|
|
12
14
|
}
|
|
13
15
|
declare const useChat: (id: number, { idType }: UseChatOptions) => UseChatReturnValue;
|
|
14
16
|
export default useChat;
|
package/dist/react/useChat.js
CHANGED
|
@@ -10,8 +10,12 @@ const useChat = (id, { idType }) => {
|
|
|
10
10
|
const [status, setStatus] = (0, react_1.useState)();
|
|
11
11
|
const [messages, setMessages] = (0, react_1.useState)([]);
|
|
12
12
|
const [onlineUsers, setOnlineUsers] = (0, react_1.useState)([]);
|
|
13
|
+
const [onMessagesHandler, setOnMessagesHandler] = (0, react_1.useState)();
|
|
13
14
|
const handleMessages = ({ messages }) => {
|
|
14
15
|
setMessages(messages);
|
|
16
|
+
if (onMessagesHandler) {
|
|
17
|
+
onMessagesHandler({ messages });
|
|
18
|
+
}
|
|
15
19
|
};
|
|
16
20
|
const handleHere = ({ users }) => {
|
|
17
21
|
setOnlineUsers(users);
|
|
@@ -48,7 +52,8 @@ const useChat = (id, { idType }) => {
|
|
|
48
52
|
status,
|
|
49
53
|
messages,
|
|
50
54
|
onlineUsers,
|
|
51
|
-
sendMessage: (message) => subscription === null || subscription === void 0 ? void 0 : subscription.sendMessage(message)
|
|
55
|
+
sendMessage: (message) => subscription === null || subscription === void 0 ? void 0 : subscription.sendMessage(message),
|
|
56
|
+
onMessages: handler => setOnMessagesHandler(handler)
|
|
52
57
|
};
|
|
53
58
|
};
|
|
54
59
|
exports.default = useChat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":";;;;;AAAA,iCAA0C;AAC1C,mDAA2B;
|
|
1
|
+
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Message, { Sender } from "../Message";
|
|
2
|
+
export declare type MessageGroup = MessageGroupItem[];
|
|
3
|
+
export interface MessageGroupItem {
|
|
4
|
+
senderId: number;
|
|
5
|
+
sender: Sender;
|
|
6
|
+
messages: Message[];
|
|
7
|
+
}
|
|
8
|
+
export declare const groupMessages: (messages: Message[]) => MessageGroup;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.groupMessages = void 0;
|
|
4
|
+
const groupMessages = (messages) => {
|
|
5
|
+
const messageGroup = [];
|
|
6
|
+
let currentMessageGroupItem = undefined;
|
|
7
|
+
for (let i = 0, il = messages.length; i < il; i++) {
|
|
8
|
+
if (!currentMessageGroupItem) {
|
|
9
|
+
currentMessageGroupItem = {
|
|
10
|
+
senderId: messages[i].senderId,
|
|
11
|
+
sender: messages[i].sender,
|
|
12
|
+
messages: [messages[i]]
|
|
13
|
+
};
|
|
14
|
+
messageGroup.push(currentMessageGroupItem);
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (currentMessageGroupItem.senderId === messages[i].senderId) {
|
|
18
|
+
currentMessageGroupItem.messages.push(messages[i]);
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
currentMessageGroupItem = {
|
|
22
|
+
senderId: messages[i].senderId,
|
|
23
|
+
sender: messages[i].sender,
|
|
24
|
+
messages: [messages[i]]
|
|
25
|
+
};
|
|
26
|
+
messageGroup.push(currentMessageGroupItem);
|
|
27
|
+
}
|
|
28
|
+
return messageGroup;
|
|
29
|
+
};
|
|
30
|
+
exports.groupMessages = groupMessages;
|
|
31
|
+
//# sourceMappingURL=groupMessages.js.map
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viewberapp/chat",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.50",
|
|
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": "
|
|
44
|
+
"gitHead": "a50f3f9d0114c6c86e46c67235cb872070337a5a"
|
|
45
45
|
}
|