@only-chat/in-memory-store 0.2.0-beta.10

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/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # only-chat
2
+ This is an in-memory message store implementation for only-chat.
@@ -0,0 +1,3 @@
1
+ import type { MessageStore, SaveResponse } from '@only-chat/types/store.js';
2
+ export declare function saveInstance(): Promise<SaveResponse>;
3
+ export declare function initialize(): Promise<MessageStore>;
package/dist/index.js ADDED
@@ -0,0 +1,275 @@
1
+ let connectionId = 0;
2
+ let conversationId = 0;
3
+ let instanceId = 0;
4
+ let messageId = 0;
5
+ let conversations = new Map();
6
+ let messages = new Map();
7
+ let peerToPeerConversations = new Map();
8
+ async function findMessages(r) {
9
+ function filterMessage(m, r) {
10
+ if (m.deletedAt) {
11
+ return false;
12
+ }
13
+ if (r.excludeIds?.includes(m.id)) {
14
+ return false;
15
+ }
16
+ if (r.text) {
17
+ if (m.type !== 'text' || !m.data?.text.includes(r.text)) {
18
+ return false;
19
+ }
20
+ }
21
+ if (r.fromIds?.length) {
22
+ if (!r.fromIds.includes(m.fromId)) {
23
+ return false;
24
+ }
25
+ }
26
+ if (r.types?.length) {
27
+ if (!r.types.includes(m.type)) {
28
+ return false;
29
+ }
30
+ }
31
+ if (r.clientMessageIds?.length) {
32
+ if (!r.clientMessageIds.includes(m.clientMessageId)) {
33
+ return false;
34
+ }
35
+ }
36
+ if (r.createdFrom) {
37
+ if (m.createdAt < r.createdFrom) {
38
+ return false;
39
+ }
40
+ }
41
+ if (r.createdTo) {
42
+ if (m.createdAt > r.createdTo) {
43
+ return false;
44
+ }
45
+ }
46
+ return true;
47
+ }
48
+ let m = [];
49
+ if (r.ids?.length) {
50
+ r.ids.forEach(id => {
51
+ const msg = messages.get(id);
52
+ if (msg && filterMessage(msg, r)) {
53
+ m.push(msg);
54
+ }
55
+ });
56
+ }
57
+ else if (r.conversationIds?.length) {
58
+ r.conversationIds.forEach(id => {
59
+ const c = conversations.get(id);
60
+ c?.messages.forEach(id => {
61
+ const msg = messages.get(id);
62
+ if (msg && filterMessage(msg, r)) {
63
+ m.push(msg);
64
+ }
65
+ });
66
+ });
67
+ }
68
+ else {
69
+ m = [...messages.values()];
70
+ }
71
+ if (r.sort) {
72
+ const sortOrder = r.sortDesc ? 'desc' : 'asc';
73
+ m.sort((msg1, msg2) => {
74
+ if (msg1[r.sort] === msg2[r.sort]) {
75
+ return 0;
76
+ }
77
+ if (sortOrder == 'desc') {
78
+ return msg1[r.sort] > msg2[r.sort] ? -1 : 1;
79
+ }
80
+ return msg1[r.sort] < msg2[r.sort] ? -1 : 1;
81
+ });
82
+ }
83
+ if (r.size !== 0 && !r.size || r.size < 0) {
84
+ r.size = 100;
85
+ }
86
+ if (!r.from || r.from < 0) {
87
+ r.from = 0;
88
+ }
89
+ return {
90
+ messages: m.slice(r.from, r.from + r.size),
91
+ from: r.from,
92
+ size: r.size,
93
+ total: m.length,
94
+ };
95
+ }
96
+ const getConversationById = getParticipantConversationById.bind(this, undefined);
97
+ async function getLastMessagesTimestamps(participant, conversationId) {
98
+ const result = {};
99
+ for (const id in conversationId) {
100
+ const c = conversations.get(id);
101
+ if (!c || c.conversation.deletedAt || c.messages.length < 1) {
102
+ continue;
103
+ }
104
+ const latest = c.messages.findLast(m => {
105
+ const msg = messages.get(m);
106
+ if (!msg) {
107
+ return false;
108
+ }
109
+ return !msg.deletedAt && ['file', 'text'].includes(msg.type);
110
+ });
111
+ const lastFromId = c.messages.findLast(m => {
112
+ const msg = messages.get(m);
113
+ if (!msg) {
114
+ return false;
115
+ }
116
+ return !msg.deletedAt && msg.fromId === participant;
117
+ });
118
+ result[id] = {
119
+ latest: latest ? messages.get(latest) : undefined,
120
+ left: lastFromId ? messages.get(lastFromId)?.createdAt : undefined,
121
+ };
122
+ }
123
+ return result;
124
+ }
125
+ async function getParticipantConversationById(participant, id) {
126
+ const c = conversations.get(id);
127
+ if (!c?.conversation) {
128
+ return undefined;
129
+ }
130
+ if (c.conversation.deletedAt) {
131
+ return undefined;
132
+ }
133
+ if (participant) {
134
+ if (!c.conversation.participants.includes(participant)) {
135
+ return undefined;
136
+ }
137
+ }
138
+ return c.conversation;
139
+ }
140
+ async function getParticipantConversations(participant, excludeIds, from = 0, size = 100) {
141
+ const result = [];
142
+ const sortedConversations = Array.from(conversations.values()).map(kv => kv.conversation).sort((a, b) => {
143
+ if (a.createdAt == b.createdAt) {
144
+ if (a.id === b.id) {
145
+ return 0;
146
+ }
147
+ return a.id < b.id ? 1 : -1;
148
+ }
149
+ if (a.createdAt == undefined)
150
+ return -1;
151
+ if (b.createdAt == undefined)
152
+ return 1;
153
+ return a.createdAt < b.createdAt ? 1 : -1;
154
+ });
155
+ let start = from;
156
+ let total = 0;
157
+ for (const c of sortedConversations) {
158
+ if (!c.deletedAt) {
159
+ if (c.participants.includes(participant)) {
160
+ ++total;
161
+ if (start < 1) {
162
+ if (result.length > size) {
163
+ continue;
164
+ }
165
+ result.push(c);
166
+ }
167
+ else {
168
+ --start;
169
+ }
170
+ }
171
+ }
172
+ }
173
+ return {
174
+ conversations: result,
175
+ from,
176
+ size,
177
+ total,
178
+ };
179
+ }
180
+ async function getParticipantLastMessage(participant, conversationId) {
181
+ const c = conversations.get(conversationId);
182
+ if (!c) {
183
+ return undefined;
184
+ }
185
+ if (c.conversation.deletedAt) {
186
+ return undefined;
187
+ }
188
+ if (!c.conversation.participants.includes(participant)) {
189
+ return undefined;
190
+ }
191
+ const lastFromId = c.messages.findLast(m => {
192
+ const msg = messages.get(m);
193
+ if (!msg) {
194
+ return false;
195
+ }
196
+ return !msg.deletedAt && msg.fromId === participant;
197
+ });
198
+ return lastFromId ? messages.get(lastFromId) : undefined;
199
+ }
200
+ async function getPeerToPeerConversationId(peer1, peer2) {
201
+ const id = [peer1, peer2].sort(undefined).join('-');
202
+ let peerToPeerConversationId = peerToPeerConversations.get(id);
203
+ if (!peerToPeerConversationId) {
204
+ peerToPeerConversationId = (++conversationId).toString();
205
+ conversations.set(peerToPeerConversationId, {
206
+ conversation: {
207
+ id: peerToPeerConversationId,
208
+ participants: [],
209
+ createdBy: '',
210
+ createdAt: new Date(),
211
+ }, messages: []
212
+ });
213
+ peerToPeerConversations.set(id, peerToPeerConversationId);
214
+ }
215
+ return peerToPeerConversationId;
216
+ }
217
+ async function saveConnection(userId, instanceId) {
218
+ return {
219
+ _id: (++connectionId).toString(),
220
+ result: 'created',
221
+ };
222
+ }
223
+ async function saveConversation(c) {
224
+ const exists = c.id && conversations.has(c.id);
225
+ const _id = c.id ?? (++conversationId).toString();
226
+ if (exists) {
227
+ conversations.get(_id).conversation = c;
228
+ }
229
+ else {
230
+ conversations.set(_id, { conversation: c, messages: [] });
231
+ }
232
+ return {
233
+ _id,
234
+ result: exists ? 'updated' : 'created',
235
+ };
236
+ }
237
+ async function saveMessage(m) {
238
+ const conversationId = m.conversationId ?? '';
239
+ const exists = m.id && messages.has(m.id) && conversations.has(conversationId);
240
+ const _id = m.id ?? (++messageId).toString();
241
+ messages.set(_id, { ...m, id: _id });
242
+ conversations.get(conversationId)?.messages.push(_id);
243
+ return {
244
+ _id,
245
+ result: exists ? 'updated' : 'created',
246
+ };
247
+ }
248
+ export async function saveInstance() {
249
+ return {
250
+ _id: (++instanceId).toString(),
251
+ result: 'created',
252
+ };
253
+ }
254
+ export async function initialize() {
255
+ connectionId = 0;
256
+ conversationId = 0;
257
+ instanceId = 0;
258
+ messageId = 0;
259
+ conversations.clear();
260
+ messages.clear();
261
+ peerToPeerConversations.clear();
262
+ return {
263
+ findMessages,
264
+ getConversationById,
265
+ getLastMessagesTimestamps,
266
+ getParticipantConversationById,
267
+ getParticipantConversations,
268
+ getParticipantLastMessage,
269
+ getPeerToPeerConversationId,
270
+ saveConnection,
271
+ saveConversation,
272
+ saveMessage,
273
+ };
274
+ }
275
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@only-chat/in-memory-store",
3
+ "version": "0.2.0-beta.10",
4
+ "description": "In memory storage for only-chat",
5
+ "homepage": "https://github.com/only-chat/node-backend/packages/stores/memory",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "type": "module",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/only-chat/node-backend.git",
12
+ "directory": "packages/stores/memory"
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "test": "jest"
17
+ },
18
+ "author": "only-chat",
19
+ "license": "MIT",
20
+ "devDependencies": {
21
+ "@jest/globals": "^29.7.0",
22
+ "@only-chat/types": "0.2.0-beta.10",
23
+ "@types/jest": "^29.5.12",
24
+ "jest": "^29.7.0",
25
+ "jest-ts-webcompat-resolver": "^1.0.0",
26
+ "ts-jest": "^29.1.4",
27
+ "ts-node": "^10.9.2",
28
+ "typescript": "^5.4.5"
29
+ },
30
+ "files": [
31
+ "dist/"
32
+ ],
33
+ "keywords": [
34
+ "node",
35
+ "only-chat",
36
+ "store"
37
+ ]
38
+ }