@rtsee/messenger 0.0.18

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.
Files changed (41) hide show
  1. package/dist/messenger/src/index.d.ts +3 -0
  2. package/dist/messenger/src/index.d.ts.map +1 -0
  3. package/dist/messenger/src/index.js +15 -0
  4. package/dist/messenger/src/index.js.map +1 -0
  5. package/dist/messenger/src/interfaces/Messages.d.ts +10 -0
  6. package/dist/messenger/src/interfaces/Messages.d.ts.map +1 -0
  7. package/dist/messenger/src/interfaces/Messages.js +3 -0
  8. package/dist/messenger/src/interfaces/Messages.js.map +1 -0
  9. package/dist/messenger/src/interfaces/RTSeeMessengerEvents.d.ts +7 -0
  10. package/dist/messenger/src/interfaces/RTSeeMessengerEvents.d.ts.map +1 -0
  11. package/dist/messenger/src/interfaces/RTSeeMessengerEvents.js +11 -0
  12. package/dist/messenger/src/interfaces/RTSeeMessengerEvents.js.map +1 -0
  13. package/dist/messenger/src/interfaces/RTSeeMessengerSignalingClient.d.ts +7 -0
  14. package/dist/messenger/src/interfaces/RTSeeMessengerSignalingClient.d.ts.map +1 -0
  15. package/dist/messenger/src/interfaces/RTSeeMessengerSignalingClient.js +3 -0
  16. package/dist/messenger/src/interfaces/RTSeeMessengerSignalingClient.js.map +1 -0
  17. package/dist/messenger/src/interfaces/index.d.ts +4 -0
  18. package/dist/messenger/src/interfaces/index.d.ts.map +1 -0
  19. package/dist/messenger/src/interfaces/index.js +16 -0
  20. package/dist/messenger/src/interfaces/index.js.map +1 -0
  21. package/dist/messenger/src/models/RTSeeChat.d.ts +45 -0
  22. package/dist/messenger/src/models/RTSeeChat.d.ts.map +1 -0
  23. package/dist/messenger/src/models/RTSeeChat.js +182 -0
  24. package/dist/messenger/src/models/RTSeeChat.js.map +1 -0
  25. package/dist/messenger/src/models/RTSeeChatMember.d.ts +13 -0
  26. package/dist/messenger/src/models/RTSeeChatMember.d.ts.map +1 -0
  27. package/dist/messenger/src/models/RTSeeChatMember.js +16 -0
  28. package/dist/messenger/src/models/RTSeeChatMember.js.map +1 -0
  29. package/dist/messenger/src/models/RTSeeMessage.d.ts +19 -0
  30. package/dist/messenger/src/models/RTSeeMessage.d.ts.map +1 -0
  31. package/dist/messenger/src/models/RTSeeMessage.js +42 -0
  32. package/dist/messenger/src/models/RTSeeMessage.js.map +1 -0
  33. package/dist/messenger/src/models/RTSeeMessenger.d.ts +38 -0
  34. package/dist/messenger/src/models/RTSeeMessenger.d.ts.map +1 -0
  35. package/dist/messenger/src/models/RTSeeMessenger.js +128 -0
  36. package/dist/messenger/src/models/RTSeeMessenger.js.map +1 -0
  37. package/dist/messenger/src/models/index.d.ts +5 -0
  38. package/dist/messenger/src/models/index.d.ts.map +1 -0
  39. package/dist/messenger/src/models/index.js +17 -0
  40. package/dist/messenger/src/models/index.js.map +1 -0
  41. package/package.json +44 -0
@@ -0,0 +1,3 @@
1
+ export * from "./models";
2
+ export * from "./interfaces";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./models"), exports);
14
+ __exportStar(require("./interfaces"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B"}
@@ -0,0 +1,10 @@
1
+ import { IRTSeeChatMember, IRTSeeMessage } from "@rtsee/messenger";
2
+ export interface IRTSeeIncomingMessageOptions {
3
+ sender: IRTSeeChatMember;
4
+ message: IRTSeeMessage;
5
+ }
6
+ export interface IRTSeeIncomingMessagesSeenOptions {
7
+ senderId: string;
8
+ messagesIds: string[];
9
+ }
10
+ //# sourceMappingURL=Messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/Messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../src/interfaces/Messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export declare enum RTSeeMessengerEvents {
2
+ INCOMING_MESSAGE = "rtsee-incoming-message",
3
+ OUTGOING_MESSAGE = "rtsee-outgoing-message",
4
+ INCOMING_MESSAGES_SEEN = "incoming-message-seen",
5
+ OUTGOING_MESSAGES_SEEN = "outgoing-message-seen"
6
+ }
7
+ //# sourceMappingURL=RTSeeMessengerEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessengerEvents.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeMessengerEvents.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B,gBAAgB,2BAA2B;IAC3C,gBAAgB,2BAA2B;IAC3C,sBAAsB,0BAA0B;IAChD,sBAAsB,0BAA0B;CACjD"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RTSeeMessengerEvents = void 0;
4
+ var RTSeeMessengerEvents;
5
+ (function (RTSeeMessengerEvents) {
6
+ RTSeeMessengerEvents["INCOMING_MESSAGE"] = "rtsee-incoming-message";
7
+ RTSeeMessengerEvents["OUTGOING_MESSAGE"] = "rtsee-outgoing-message";
8
+ RTSeeMessengerEvents["INCOMING_MESSAGES_SEEN"] = "incoming-message-seen";
9
+ RTSeeMessengerEvents["OUTGOING_MESSAGES_SEEN"] = "outgoing-message-seen";
10
+ })(RTSeeMessengerEvents = exports.RTSeeMessengerEvents || (exports.RTSeeMessengerEvents = {}));
11
+ //# sourceMappingURL=RTSeeMessengerEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessengerEvents.js","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeMessengerEvents.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,mEAA2C,CAAA;IAC3C,mEAA2C,CAAA;IAC3C,wEAAgD,CAAA;IAChD,wEAAgD,CAAA;AAClD,CAAC,EALW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAK/B"}
@@ -0,0 +1,7 @@
1
+ import { IRTSeeSignalingClientBase } from "@rtsee/core";
2
+ import { IRTSeeMessage } from "@rtsee/messenger";
3
+ export interface IRTSeeMessengerSignalingClient extends IRTSeeSignalingClientBase {
4
+ joinChat: (chatId: string) => void;
5
+ sendMessage: (message: IRTSeeMessage) => void;
6
+ }
7
+ //# sourceMappingURL=RTSeeMessengerSignalingClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessengerSignalingClient.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeMessengerSignalingClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,8BACf,SAAQ,yBAAyB;IACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RTSeeMessengerSignalingClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessengerSignalingClient.js","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeMessengerSignalingClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from "./RTSeeMessengerSignalingClient";
2
+ export * from "./RTSeeMessengerEvents";
3
+ export * from "./Messages";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./RTSeeMessengerSignalingClient"), exports);
14
+ __exportStar(require("./RTSeeMessengerEvents"), exports);
15
+ __exportStar(require("./Messages"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAgD;AAChD,yDAAuC;AACvC,6CAA2B"}
@@ -0,0 +1,45 @@
1
+ import { IRTSeeChatMember, RTSeeChatMember } from "./RTSeeChatMember";
2
+ import { IRTSeeMessage, RTSeeMessage } from "./RTSeeMessage";
3
+ import { IRTSeeMessengerSignalingClient } from "@rtsee/messenger";
4
+ export declare type RTSeeChatTypes = "individual" | "group" | "channel";
5
+ export interface IRTSeeChat {
6
+ id?: string;
7
+ type: RTSeeChatTypes;
8
+ clientId: string;
9
+ signalingClient: IRTSeeMessengerSignalingClient;
10
+ name?: string;
11
+ imageUrl?: string;
12
+ members?: IRTSeeChatMember[];
13
+ messages?: IRTSeeMessage[];
14
+ getRemoteMessages?: (clientId: string) => Promise<IRTSeeMessage[]>;
15
+ getRemoteMembers?: (chatId: string) => Promise<IRTSeeChatMember[]>;
16
+ }
17
+ export declare class RTSeeChat {
18
+ id?: string;
19
+ type: RTSeeChatTypes;
20
+ clientId: string;
21
+ signalingClient: IRTSeeMessengerSignalingClient;
22
+ name?: string;
23
+ imageUrl?: string;
24
+ members?: RTSeeChatMember<any>[];
25
+ messages?: RTSeeMessage[];
26
+ getRemoteMessages?: (clientId: string) => Promise<IRTSeeMessage[]>;
27
+ getRemoteMembers?: (chatId: string) => Promise<IRTSeeChatMember[]>;
28
+ receiverId: string;
29
+ constructor(options: IRTSeeChat);
30
+ sendMessage(text: string): void;
31
+ populateMembers(membersData: IRTSeeChatMember[]): void;
32
+ populateMessages(messagesData: IRTSeeMessage[]): void;
33
+ addMessage(messageData: IRTSeeMessage): void;
34
+ getLastSender(): "" | RTSeeChatMember<any>;
35
+ getLastSenderName(): string;
36
+ getLastSentMessage(): RTSeeMessage;
37
+ getLastSentMessageText(): string;
38
+ assignName(): void;
39
+ markMessagesAsSeen(messagesIds: string[]): void;
40
+ updateMembers(): Promise<void>;
41
+ updateMessages(): Promise<void>;
42
+ private nameAfterOneSender;
43
+ private getNotMeMember;
44
+ }
45
+ //# sourceMappingURL=RTSeeChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeChat.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,oBAAY,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,8BAA8B,CAAC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACpE;AAED,qBAAa,SAAS;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,8BAA8B,CAAC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAM;IACtC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,UAAU;IA2B/B,WAAW,CAAC,IAAI,EAAE,MAAM;IASxB,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE;IAO/C,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE;IAO9C,UAAU,CAAC,WAAW,EAAE,aAAa;IAIrC,aAAa;IAWb,iBAAiB;IAQjB,kBAAkB;IAIlB,sBAAsB;IAQtB,UAAU;IAMV,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE;IAQlC,aAAa;IAQb,cAAc;IAQpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,cAAc;CAGvB"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.RTSeeChat = void 0;
40
+ var RTSeeChatMember_1 = require("./RTSeeChatMember");
41
+ var RTSeeMessage_1 = require("./RTSeeMessage");
42
+ var RTSeeChat = /** @class */ (function () {
43
+ function RTSeeChat(options) {
44
+ this.members = [];
45
+ this.messages = [];
46
+ if (options.id) {
47
+ this.id = options.id;
48
+ }
49
+ this.type = options.type;
50
+ this.clientId = options.clientId;
51
+ this.signalingClient = options.signalingClient;
52
+ if (options.members) {
53
+ this.populateMembers(options.members);
54
+ }
55
+ if (options.messages) {
56
+ this.populateMessages(options.messages);
57
+ }
58
+ if (options.getRemoteMessages) {
59
+ this.getRemoteMessages = options.getRemoteMessages;
60
+ }
61
+ if (options.getRemoteMembers) {
62
+ this.getRemoteMembers = options.getRemoteMembers;
63
+ }
64
+ // To be removed when group chats added
65
+ this.receiverId = this.getNotMeMember().id;
66
+ console.log("CLIENT ID", this.clientId);
67
+ console.log("Receiver ID", this.receiverId);
68
+ }
69
+ RTSeeChat.prototype.sendMessage = function (text) {
70
+ var message = new RTSeeMessage_1.RTSeeMessage({
71
+ to: this.receiverId,
72
+ text: text,
73
+ });
74
+ this.signalingClient.sendMessage(message.toMessageData());
75
+ this.messages.push(message);
76
+ };
77
+ RTSeeChat.prototype.populateMembers = function (membersData) {
78
+ var _this = this;
79
+ this.members.length = 0;
80
+ membersData.forEach(function (elem) {
81
+ _this.members.push(new RTSeeChatMember_1.RTSeeChatMember(elem, elem.data));
82
+ });
83
+ };
84
+ RTSeeChat.prototype.populateMessages = function (messagesData) {
85
+ var _this = this;
86
+ this.messages.length = 0;
87
+ messagesData.forEach(function (elem) {
88
+ _this.addMessage(elem);
89
+ });
90
+ };
91
+ RTSeeChat.prototype.addMessage = function (messageData) {
92
+ this.messages.push(new RTSeeMessage_1.RTSeeMessage(messageData));
93
+ };
94
+ RTSeeChat.prototype.getLastSender = function () {
95
+ if (!this.messages.length) {
96
+ return "";
97
+ }
98
+ var lastMessage = this.getLastSentMessage();
99
+ var lastSenderId = lastMessage.from;
100
+ return this.members.find(function (elem) { return elem.id === lastSenderId; });
101
+ };
102
+ RTSeeChat.prototype.getLastSenderName = function () {
103
+ var lastSender = this.getLastSender();
104
+ if (!lastSender) {
105
+ return "";
106
+ }
107
+ return lastSender.name;
108
+ };
109
+ RTSeeChat.prototype.getLastSentMessage = function () {
110
+ return this.messages[this.messages.length - 1];
111
+ };
112
+ RTSeeChat.prototype.getLastSentMessageText = function () {
113
+ var lastMessage = this.getLastSentMessage();
114
+ if (!lastMessage) {
115
+ return "";
116
+ }
117
+ return lastMessage.text;
118
+ };
119
+ RTSeeChat.prototype.assignName = function () {
120
+ if (!this.name && this.type === "individual") {
121
+ this.nameAfterOneSender();
122
+ }
123
+ };
124
+ RTSeeChat.prototype.markMessagesAsSeen = function (messagesIds) {
125
+ this.messages.forEach(function (e) {
126
+ if (messagesIds.indexOf(e.id) !== -1) {
127
+ e.seen = true;
128
+ }
129
+ });
130
+ };
131
+ RTSeeChat.prototype.updateMembers = function () {
132
+ return __awaiter(this, void 0, void 0, function () {
133
+ var membersData;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0:
137
+ if (!this.getRemoteMembers) {
138
+ return [2 /*return*/];
139
+ }
140
+ return [4 /*yield*/, this.getRemoteMembers(this.id)];
141
+ case 1:
142
+ membersData = _a.sent();
143
+ this.populateMembers(membersData);
144
+ return [2 /*return*/];
145
+ }
146
+ });
147
+ });
148
+ };
149
+ RTSeeChat.prototype.updateMessages = function () {
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ var messagesData;
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ if (!this.getRemoteMembers) {
156
+ return [2 /*return*/];
157
+ }
158
+ return [4 /*yield*/, this.getRemoteMessages(this.id)];
159
+ case 1:
160
+ messagesData = _a.sent();
161
+ this.populateMessages(messagesData);
162
+ return [2 /*return*/];
163
+ }
164
+ });
165
+ });
166
+ };
167
+ RTSeeChat.prototype.nameAfterOneSender = function () {
168
+ var member = this.getNotMeMember();
169
+ if (!member) {
170
+ return "";
171
+ }
172
+ this.name = member.name;
173
+ this.imageUrl = member.imageUrl;
174
+ };
175
+ RTSeeChat.prototype.getNotMeMember = function () {
176
+ var _this = this;
177
+ return this.members.find(function (elem) { return elem.id !== _this.clientId; });
178
+ };
179
+ return RTSeeChat;
180
+ }());
181
+ exports.RTSeeChat = RTSeeChat;
182
+ //# sourceMappingURL=RTSeeChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeChat.js","sourceRoot":"","sources":["../../../../src/models/RTSeeChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { IPeerInfo } from "@rtsee/core";
2
+ export interface IRTSeeChatMember extends IPeerInfo {
3
+ id: string;
4
+ data?: any;
5
+ }
6
+ export declare class RTSeeChatMember<T> implements IPeerInfo {
7
+ id: string;
8
+ name: string;
9
+ imageUrl?: string;
10
+ data?: T;
11
+ constructor(options: IRTSeeChatMember, data?: T);
12
+ }
13
+ //# sourceMappingURL=RTSeeChatMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeChatMember.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeChatMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,SAAS;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEG,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC;CAShD"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RTSeeChatMember = void 0;
4
+ var RTSeeChatMember = /** @class */ (function () {
5
+ function RTSeeChatMember(options, data) {
6
+ this.id = options.id;
7
+ this.name = options.name || options.id;
8
+ this.imageUrl = options.imageUrl || "";
9
+ if (options.data) {
10
+ this.data = data;
11
+ }
12
+ }
13
+ return RTSeeChatMember;
14
+ }());
15
+ exports.RTSeeChatMember = RTSeeChatMember;
16
+ //# sourceMappingURL=RTSeeChatMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeChatMember.js","sourceRoot":"","sources":["../../../../src/models/RTSeeChatMember.ts"],"names":[],"mappings":";;;AAOA;IAME,yBAAY,OAAyB,EAAE,IAAQ;QAC7C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAEvC,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,0CAAe"}
@@ -0,0 +1,19 @@
1
+ export interface IRTSeeMessage {
2
+ id?: string;
3
+ from?: string;
4
+ to: string;
5
+ text: string;
6
+ widget?: string;
7
+ seen?: boolean;
8
+ }
9
+ export declare class RTSeeMessage {
10
+ id?: string;
11
+ from?: string;
12
+ to: string;
13
+ text: string;
14
+ widget?: string;
15
+ seen: boolean;
16
+ constructor(options: IRTSeeMessage);
17
+ toMessageData(): IRTSeeMessage;
18
+ }
19
+ //# sourceMappingURL=RTSeeMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessage.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeMessage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,UAAS;gBAED,OAAO,EAAE,aAAa;IAgBlC,aAAa,IAAI,aAAa;CAqB/B"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RTSeeMessage = void 0;
4
+ var RTSeeMessage = /** @class */ (function () {
5
+ function RTSeeMessage(options) {
6
+ this.seen = false;
7
+ if (options.id) {
8
+ this.id = options.id;
9
+ }
10
+ this.from = options.from;
11
+ this.to = options.to;
12
+ this.text = options.text;
13
+ if (options.widget) {
14
+ this.widget = options.widget;
15
+ }
16
+ if (options.seen) {
17
+ this.seen = options.seen;
18
+ }
19
+ }
20
+ RTSeeMessage.prototype.toMessageData = function () {
21
+ var messageData = {
22
+ to: this.to,
23
+ text: this.text,
24
+ };
25
+ if (this.id) {
26
+ messageData.id = this.id;
27
+ }
28
+ if (this.from) {
29
+ messageData.from = this.from;
30
+ }
31
+ if (this.widget) {
32
+ messageData.widget = this.widget;
33
+ }
34
+ if (this.seen) {
35
+ messageData.seen = this.seen;
36
+ }
37
+ return messageData;
38
+ };
39
+ return RTSeeMessage;
40
+ }());
41
+ exports.RTSeeMessage = RTSeeMessage;
42
+ //# sourceMappingURL=RTSeeMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessage.js","sourceRoot":"","sources":["../../../../src/models/RTSeeMessage.ts"],"names":[],"mappings":";;;AASA;IAQE,sBAAY,OAAsB;QAFlC,SAAI,GAAG,KAAK,CAAC;QAGX,IAAI,OAAO,CAAC,EAAE,EAAE;YACd,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC9B;QACD,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SAC1B;IACH,CAAC;IAED,oCAAa,GAAb;QACE,IAAM,WAAW,GAAkB;YACjC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC9B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IACH,mBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,oCAAY"}
@@ -0,0 +1,38 @@
1
+ /// <reference types="node" />
2
+ import { IRTSeeChat, RTSeeChat } from "./RTSeeChat";
3
+ import { IRTSeeIncomingMessageOptions, IRTSeeIncomingMessagesSeenOptions, IRTSeeMessengerSignalingClient, RTSeeChatMember, RTSeeMessage } from "@rtsee/messenger";
4
+ import { EventEmitter } from "events";
5
+ import { IRTSeeDashboardClient } from "@rtsee/events-manager";
6
+ import { IPeerInfo } from "@rtsee/core";
7
+ export interface IRTSeeMessengerOptions {
8
+ clientId: string;
9
+ clientInfo?: IPeerInfo;
10
+ signalingClient?: IRTSeeMessengerSignalingClient;
11
+ getHistoricalChats?: (clientId: string) => Promise<IRTSeeChat[]>;
12
+ onMessageSent?: (message: RTSeeMessage) => void;
13
+ onMessagesRead?: (messages: RTSeeMessage[], readerId: string) => void;
14
+ isAllowedToCreateChat?: () => void;
15
+ onChatCreated?: (chat: RTSeeChat) => void;
16
+ }
17
+ export declare class RTSeeMessenger extends EventEmitter {
18
+ clientId: string;
19
+ chats: RTSeeChat[];
20
+ openedChat: RTSeeChat;
21
+ signalingClient?: IRTSeeMessengerSignalingClient;
22
+ unreadCount: number;
23
+ getHistoricalChats: (clientId: string) => Promise<IRTSeeChat[]>;
24
+ constructor(options: IRTSeeMessengerOptions);
25
+ init(): void;
26
+ openChatByClient(client: IRTSeeDashboardClient): void;
27
+ openChat(chat: RTSeeChat): void;
28
+ closeChat(): void;
29
+ use(Plugin: any, options: any): this;
30
+ handleIncomingMessage(options: IRTSeeIncomingMessageOptions): void;
31
+ handleIncomingMessagesSeen(options: IRTSeeIncomingMessagesSeenOptions): void;
32
+ getChatByReceiverId(id: string): RTSeeChat | null;
33
+ populateChats(chats: IRTSeeChat[]): void;
34
+ addChat(chatData: Omit<IRTSeeChat, "signalingClient" | "clientId">): void;
35
+ getMeAsChatMember(): RTSeeChatMember<any>;
36
+ createChatFromIncomingMessage(options: IRTSeeIncomingMessageOptions): void;
37
+ }
38
+ //# sourceMappingURL=RTSeeMessenger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessenger.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeMessenger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,8BAA8B,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAM;IACxB,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,8BAA8B,CAAC;IACjD,WAAW,SAAK;IAChB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAEpD,OAAO,EAAE,sBAAsB;IAa3C,IAAI;IAQJ,gBAAgB,CAAC,MAAM,EAAE,qBAAqB;IAc9C,QAAQ,CAAC,IAAI,EAAE,SAAS;IAIxB,SAAS;IAIT,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAO7B,qBAAqB,CAAC,OAAO,EAAE,4BAA4B;IAS3D,0BAA0B,CAAC,OAAO,EAAE,iCAAiC;IAQrE,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIjD,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE;IAMjC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,UAAU,CAAC;IAUlE,iBAAiB,IAAI,eAAe,CAAC,GAAG,CAAC;IAazC,6BAA6B,CAAC,OAAO,EAAE,4BAA4B;CAOpE"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RTSeeMessenger = void 0;
28
+ var RTSeeChat_1 = require("./RTSeeChat");
29
+ var messenger_1 = require("@rtsee/messenger");
30
+ var events_1 = require("events");
31
+ var RTSeeMessenger = /** @class */ (function (_super) {
32
+ __extends(RTSeeMessenger, _super);
33
+ function RTSeeMessenger(options) {
34
+ var _this = _super.call(this) || this;
35
+ _this.chats = [];
36
+ _this.unreadCount = 0;
37
+ if (options.getHistoricalChats) {
38
+ _this.getHistoricalChats = options.getHistoricalChats;
39
+ }
40
+ if (options.signalingClient) {
41
+ _this.signalingClient = options.signalingClient;
42
+ _this.clientId = _this.signalingClient.getMyPeerId();
43
+ console.log("CLIENT ID IS: ", _this.clientId);
44
+ }
45
+ void _this.init();
46
+ return _this;
47
+ }
48
+ RTSeeMessenger.prototype.init = function () {
49
+ var _this = this;
50
+ if (this.getHistoricalChats) {
51
+ void this.getHistoricalChats(this.clientId).then(function (chats) {
52
+ _this.populateChats(chats);
53
+ });
54
+ }
55
+ };
56
+ RTSeeMessenger.prototype.openChatByClient = function (client) {
57
+ var chat = new RTSeeChat_1.RTSeeChat({
58
+ type: "individual",
59
+ clientId: this.signalingClient.getMyPeerId(),
60
+ name: client.name || client.id,
61
+ imageUrl: client.imageUrl,
62
+ signalingClient: this.signalingClient,
63
+ members: [this.getMeAsChatMember(), new messenger_1.RTSeeChatMember(__assign({}, client))],
64
+ });
65
+ chat.assignName();
66
+ this.chats.unshift(chat);
67
+ this.openChat(chat);
68
+ };
69
+ RTSeeMessenger.prototype.openChat = function (chat) {
70
+ this.openedChat = chat;
71
+ };
72
+ RTSeeMessenger.prototype.closeChat = function () {
73
+ this.openedChat = null;
74
+ };
75
+ RTSeeMessenger.prototype.use = function (Plugin, options) {
76
+ /* eslint-disable */
77
+ var plugin = new Plugin(this, options);
78
+ return this;
79
+ /* eslint-enable */
80
+ };
81
+ RTSeeMessenger.prototype.handleIncomingMessage = function (options) {
82
+ var chat = this.getChatByReceiverId(options.message.from);
83
+ if (chat) {
84
+ chat.addMessage(options.message);
85
+ }
86
+ else {
87
+ this.createChatFromIncomingMessage(options);
88
+ }
89
+ };
90
+ RTSeeMessenger.prototype.handleIncomingMessagesSeen = function (options) {
91
+ var chat = this.getChatByReceiverId(options.senderId);
92
+ if (!chat) {
93
+ return;
94
+ }
95
+ chat.markMessagesAsSeen(options.messagesIds);
96
+ };
97
+ RTSeeMessenger.prototype.getChatByReceiverId = function (id) {
98
+ return this.chats.find(function (e) { return e.receiverId === id; }) || null;
99
+ };
100
+ RTSeeMessenger.prototype.populateChats = function (chats) {
101
+ var _this = this;
102
+ chats.forEach(function (elem) {
103
+ _this.addChat(elem);
104
+ });
105
+ };
106
+ RTSeeMessenger.prototype.addChat = function (chatData) {
107
+ var chat = new RTSeeChat_1.RTSeeChat(__assign(__assign({}, chatData), { clientId: this.signalingClient.getMyPeerId(), signalingClient: this.signalingClient }));
108
+ chat.assignName();
109
+ this.chats.unshift(chat);
110
+ };
111
+ RTSeeMessenger.prototype.getMeAsChatMember = function () {
112
+ if (!this.signalingClient) {
113
+ throw new Error("Can not add chats before signalingClient is initialized.");
114
+ }
115
+ var myPeer = this.signalingClient.getMyPeer();
116
+ return new messenger_1.RTSeeChatMember(__assign(__assign({}, myPeer), { id: myPeer.clientId || this.signalingClient.getMyPeerId() }));
117
+ };
118
+ RTSeeMessenger.prototype.createChatFromIncomingMessage = function (options) {
119
+ this.addChat({
120
+ type: "individual",
121
+ members: [this.getMeAsChatMember(), new messenger_1.RTSeeChatMember(options.sender)],
122
+ messages: [new messenger_1.RTSeeMessage(options.message)],
123
+ });
124
+ };
125
+ return RTSeeMessenger;
126
+ }(events_1.EventEmitter));
127
+ exports.RTSeeMessenger = RTSeeMessenger;
128
+ //# sourceMappingURL=RTSeeMessenger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeMessenger.js","sourceRoot":"","sources":["../../../../src/models/RTSeeMessenger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoD;AACpD,8CAM0B;AAC1B,iCAAsC;AAetC;IAAoC,kCAAY;IAQ9C,wBAAY,OAA+B;QAA3C,YACE,iBAAO,SAUR;QAjBD,WAAK,GAAgB,EAAE,CAAC;QAGxB,iBAAW,GAAG,CAAC,CAAC;QAKd,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC9B,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;SACtD;QACD,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;SAC9C;QACD,KAAK,KAAI,CAAC,IAAI,EAAE,CAAC;;IACnB,CAAC;IAED,6BAAI,GAAJ;QAAA,iBAMC;QALC,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACrD,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,yCAAgB,GAAhB,UAAiB,MAA6B;QAC5C,IAAM,IAAI,GAAG,IAAI,qBAAS,CAAC;YACzB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,2BAAe,cAAM,MAAM,EAAG,CAAC;SACxE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAe;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,kCAAS,GAAT;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,4BAAG,GAAH,UAAI,MAAW,EAAE,OAAY;QAC3B,oBAAoB;QACpB,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;QACZ,mBAAmB;IACrB,CAAC;IAED,8CAAqB,GAArB,UAAsB,OAAqC;QACzD,IAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,mDAA0B,GAA1B,UAA2B,OAA0C;QACnE,IAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,4CAAmB,GAAnB,UAAoB,EAAU;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,EAAE,EAAnB,CAAmB,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,sCAAa,GAAb,UAAc,KAAmB;QAAjC,iBAIC;QAHC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;YACjB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAO,GAAP,UAAQ,QAA0D;QAChE,IAAM,IAAI,GAAG,IAAI,qBAAS,uBACrB,QAAQ,KACX,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAC5C,eAAe,EAAE,IAAI,CAAC,eAAe,IACrC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,0CAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;SACH;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAChD,OAAO,IAAI,2BAAe,uBACrB,MAAM,KACT,EAAE,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IACzD,CAAC;IACL,CAAC;IAED,sDAA6B,GAA7B,UAA8B,OAAqC;QACjE,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,2BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,QAAQ,EAAE,CAAC,IAAI,wBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IACH,qBAAC;AAAD,CAAC,AAnHD,CAAoC,qBAAY,GAmH/C;AAnHY,wCAAc"}
@@ -0,0 +1,5 @@
1
+ export * from "./RTSeeMessenger";
2
+ export * from "./RTSeeChat";
3
+ export * from "./RTSeeChatMember";
4
+ export * from "./RTSeeMessage";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./RTSeeMessenger"), exports);
14
+ __exportStar(require("./RTSeeChat"), exports);
15
+ __exportStar(require("./RTSeeChatMember"), exports);
16
+ __exportStar(require("./RTSeeMessage"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiC;AACjC,8CAA4B;AAC5B,oDAAkC;AAClC,iDAA+B"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@rtsee/messenger",
3
+ "version": "0.0.18",
4
+ "license": "ISC",
5
+ "private": false,
6
+ "main": "dist/messenger/src/index",
7
+ "types": "dist/messenger/src/index",
8
+ "files": [
9
+ "dist/messenger/src"
10
+ ],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git@github.com:thewerf/rtsee.git",
14
+ "directory": "packages/@rtsee/messenger"
15
+ },
16
+ "scripts": {
17
+ "prepublishOnly": "yarn build",
18
+ "clean": "rm -rf ./dist",
19
+ "build": "yarn clean && yarn compile",
20
+ "compile": "tsc -p tsconfig.json",
21
+ "lint-file:eslint": "yarn eslint",
22
+ "lint-file:prettier": "yarn prettier --check",
23
+ "lint:eslint": "yarn lint-file:eslint 'src/**/*.ts'",
24
+ "lint:prettier": "yarn lint-file:prettier './**/*.{ts,js,json,css,md}' --ignore-path ../../.prettierignore"
25
+ },
26
+ "devDependencies": {
27
+ "@types/jest": "^26.0.24",
28
+ "@types/node": "^16.3.1",
29
+ "@typescript-eslint/eslint-plugin": "^2.8.0",
30
+ "@typescript-eslint/parser": "^2.8.0",
31
+ "eslint": "^6.7.2",
32
+ "eslint-config-prettier": "^8.3.0",
33
+ "eslint-plugin-jest": "^23.1.1",
34
+ "jest": "^27.0.6",
35
+ "jest-watch-yarn-workspaces": "^1.1.0",
36
+ "prettier": "^2.3.2",
37
+ "ts-jest": "^27.0.3",
38
+ "typescript": "^3.7.2"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "gitHead": "51404cfbe997e8c30fd2f2aa86d787f6d4439787"
44
+ }