@simplito/privmx-webendpoint 2.5.2 → 2.6.0
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/Types.d.ts +97 -1
- package/Types.js +102 -15
- package/api/ConnectionNative.d.ts +18 -2
- package/api/ConnectionNative.js +26 -7
- package/api/EventApiNative.d.ts +4 -3
- package/api/EventApiNative.js +7 -4
- package/api/InboxApiNative.d.ts +4 -5
- package/api/InboxApiNative.js +6 -9
- package/api/KvdbApiNative.d.ts +5 -5
- package/api/KvdbApiNative.js +8 -8
- package/api/StoreApiNative.d.ts +6 -7
- package/api/StoreApiNative.js +6 -9
- package/api/ThreadApiNative.d.ts +4 -5
- package/api/ThreadApiNative.js +6 -9
- package/assets/driver-web-context.js +1 -1
- package/assets/e2ee-worker.js +1 -0
- package/assets/endpoint-wasm-module.js +2 -19
- package/assets/endpoint-wasm-module.wasm +0 -0
- package/assets/privmx-endpoint-web.js +2 -0
- package/bundle/privmx-endpoint-web.js +1 -1
- package/extra/PrivmxClient.d.ts +9 -2
- package/extra/PrivmxClient.js +15 -1
- package/extra/__mocks__/constants.d.ts +63 -0
- package/extra/__mocks__/constants.js +51 -0
- package/extra/__mocks__/mockContainerSubscriber.d.ts +8 -0
- package/extra/__mocks__/mockContainerSubscriber.js +26 -0
- package/extra/{__tests__/__mocks__ → __mocks__}/mockEventQueue.d.ts +1 -3
- package/extra/{__tests__/__mocks__ → __mocks__}/mockEventQueue.js +6 -8
- package/extra/{__tests__/__mocks__ → __mocks__}/utils.d.ts +1 -1
- package/extra/{__tests__/__mocks__ → __mocks__}/utils.js +4 -5
- package/extra/__tests__/eventsManager.test.js +38 -27
- package/extra/__tests__/inboxEventManager.js +79 -0
- package/extra/__tests__/storeEventManager.test.js +48 -28
- package/extra/__tests__/threadEventManager.test.js +49 -29
- package/extra/events.d.ts +4 -217
- package/extra/events.js +25 -213
- package/extra/files.d.ts +2 -2
- package/extra/files.js +2 -2
- package/extra/inbox.js +1 -2
- package/extra/index.d.ts +3 -3
- package/extra/index.js +9 -10
- package/extra/managers.d.ts +98 -0
- package/extra/managers.js +157 -0
- package/extra/subscriptions.d.ts +165 -0
- package/extra/subscriptions.js +51 -0
- package/extra/utils.js +4 -5
- package/index.d.ts +2 -2
- package/index.js +2 -1
- package/package.json +12 -13
- package/service/Connection.d.ts +21 -2
- package/service/Connection.js +27 -2
- package/service/CryptoApi.d.ts +1 -1
- package/service/CryptoApi.js +1 -1
- package/service/EventApi.d.ts +14 -9
- package/service/EventApi.js +35 -10
- package/service/InboxApi.d.ts +14 -13
- package/service/InboxApi.js +42 -17
- package/service/KvdbApi.d.ts +19 -11
- package/service/KvdbApi.js +51 -17
- package/service/StoreApi.d.ts +18 -15
- package/service/StoreApi.js +48 -20
- package/service/ThreadApi.d.ts +14 -13
- package/service/ThreadApi.js +44 -19
- package/service/index.d.ts +2 -1
- package/service/index.js +3 -1
- package/extra/__tests__/__mocks__/constants.d.ts +0 -36
- package/extra/__tests__/__mocks__/constants.js +0 -42
- package/extra/__tests__/__mocks__/mockContainerSubscriber.d.ts +0 -12
- package/extra/__tests__/__mocks__/mockContainerSubscriber.js +0 -25
- package/extra/__tests__/__mocks__/mockEventAPIs.d.ts +0 -30
- package/extra/__tests__/__mocks__/mockEventAPIs.js +0 -70
- package/extra/__tests__/inboxEventManager.test.js +0 -56
- /package/extra/__tests__/{inboxEventManager.test.d.ts → inboxEventManager.d.ts} +0 -0
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockInboxEventApi = exports.MockStoreEventApi = exports.MockThreadEventApi = void 0;
|
|
4
|
-
const mockContainerSubscriber_1 = require("./mockContainerSubscriber");
|
|
5
|
-
class MockThreadEventApi extends mockContainerSubscriber_1.MockContainerSubscriber {
|
|
6
|
-
containerChannel = 'thread';
|
|
7
|
-
containerElementChannel(id) {
|
|
8
|
-
return `thread/${id}/messages`;
|
|
9
|
-
}
|
|
10
|
-
constructor(queue) {
|
|
11
|
-
super(queue);
|
|
12
|
-
}
|
|
13
|
-
subscribeForThreadEvents() {
|
|
14
|
-
return this.subscribeForContainerEvents();
|
|
15
|
-
}
|
|
16
|
-
unsubscribeFromThreadEvents() {
|
|
17
|
-
return this.unsubscribeFromContainerEvents();
|
|
18
|
-
}
|
|
19
|
-
subscribeForMessageEvents(threadId) {
|
|
20
|
-
return this.subscribeForContainerItemEvents(threadId);
|
|
21
|
-
}
|
|
22
|
-
unsubscribeFromMessageEvents(threadId) {
|
|
23
|
-
return this.unsubscribeFromContainerItemEvents(threadId);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.MockThreadEventApi = MockThreadEventApi;
|
|
27
|
-
class MockStoreEventApi extends mockContainerSubscriber_1.MockContainerSubscriber {
|
|
28
|
-
containerChannel = 'store';
|
|
29
|
-
containerElementChannel(id) {
|
|
30
|
-
return `store/${id}/files`;
|
|
31
|
-
}
|
|
32
|
-
constructor(queue) {
|
|
33
|
-
super(queue);
|
|
34
|
-
}
|
|
35
|
-
subscribeForStoreEvents() {
|
|
36
|
-
return this.subscribeForContainerEvents();
|
|
37
|
-
}
|
|
38
|
-
unsubscribeFromStoreEvents() {
|
|
39
|
-
return this.unsubscribeFromContainerEvents();
|
|
40
|
-
}
|
|
41
|
-
subscribeForFileEvents(storeId) {
|
|
42
|
-
return this.subscribeForContainerItemEvents(storeId);
|
|
43
|
-
}
|
|
44
|
-
unsubscribeFromFileEvents(storeId) {
|
|
45
|
-
return this.unsubscribeFromContainerItemEvents(storeId);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.MockStoreEventApi = MockStoreEventApi;
|
|
49
|
-
class MockInboxEventApi extends mockContainerSubscriber_1.MockContainerSubscriber {
|
|
50
|
-
containerChannel = 'inbox';
|
|
51
|
-
containerElementChannel(id) {
|
|
52
|
-
return `inbox/${id}/entries`;
|
|
53
|
-
}
|
|
54
|
-
constructor(queue) {
|
|
55
|
-
super(queue);
|
|
56
|
-
}
|
|
57
|
-
subscribeForInboxEvents() {
|
|
58
|
-
return this.subscribeForContainerEvents();
|
|
59
|
-
}
|
|
60
|
-
unsubscribeFromInboxEvents() {
|
|
61
|
-
return this.unsubscribeFromContainerEvents();
|
|
62
|
-
}
|
|
63
|
-
subscribeForEntryEvents(storeId) {
|
|
64
|
-
return this.subscribeForContainerItemEvents(storeId);
|
|
65
|
-
}
|
|
66
|
-
unsubscribeFromEntryEvents(storeId) {
|
|
67
|
-
return this.unsubscribeFromContainerItemEvents(storeId);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.MockInboxEventApi = MockInboxEventApi;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const mockEventAPIs_1 = require("./__mocks__/mockEventAPIs");
|
|
4
|
-
const utils_1 = require("./__mocks__/utils");
|
|
5
|
-
const constants_1 = require("./__mocks__/constants");
|
|
6
|
-
describe('Inbox event manager', () => {
|
|
7
|
-
let { q, manager } = (0, utils_1.createTestSetup)();
|
|
8
|
-
let mockEventsManager = manager.getInboxEventManager(new mockEventAPIs_1.MockInboxEventApi(q));
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
let { q: _q, manager } = (0, utils_1.createTestSetup)();
|
|
11
|
-
q = _q;
|
|
12
|
-
mockEventsManager = manager.getInboxEventManager(new mockEventAPIs_1.MockInboxEventApi(q));
|
|
13
|
-
});
|
|
14
|
-
it('should add callback for event', async () => {
|
|
15
|
-
await mockEventsManager.onInboxEvent({
|
|
16
|
-
event: 'inboxUpdated',
|
|
17
|
-
callback: () => { }
|
|
18
|
-
});
|
|
19
|
-
expect(mockEventsManager.listeners.size).toBe(1);
|
|
20
|
-
});
|
|
21
|
-
it('should function to remove callback from event', async () => {
|
|
22
|
-
const removeListener = await mockEventsManager.onInboxEvent({
|
|
23
|
-
event: 'inboxUpdated',
|
|
24
|
-
callback: () => { }
|
|
25
|
-
});
|
|
26
|
-
expect(mockEventsManager.listeners.size).toBe(1);
|
|
27
|
-
await removeListener();
|
|
28
|
-
expect(mockEventsManager.listeners.size).toBe(0);
|
|
29
|
-
});
|
|
30
|
-
it('should register multiple callbacks for channel', async () => {
|
|
31
|
-
const storeEventCb = jest.fn();
|
|
32
|
-
await mockEventsManager.onInboxEvent({ event: constants_1.MOCK_INBOX_CREATED_EVENT.type, callback: storeEventCb });
|
|
33
|
-
await mockEventsManager.onInboxEvent({ event: constants_1.MOCK_INBOX_CREATED_EVENT.type, callback: storeEventCb });
|
|
34
|
-
q.dispatchEvent(constants_1.MOCK_INBOX_CREATED_EVENT);
|
|
35
|
-
//adding task on end of js event loop
|
|
36
|
-
await (0, utils_1.waitForNextTick)();
|
|
37
|
-
expect(storeEventCb).toHaveBeenCalledTimes(2);
|
|
38
|
-
});
|
|
39
|
-
it('should handle subscription for two channels', async () => {
|
|
40
|
-
const storeEventCb = jest.fn();
|
|
41
|
-
const messageEventCb = jest.fn();
|
|
42
|
-
const inboxId = "98dsyvb8as7ybd0asydvb0as";
|
|
43
|
-
const event = (0, constants_1.MOCK_INBOX_ENTRY_DELETED_EVENT)(inboxId);
|
|
44
|
-
await mockEventsManager.onInboxEvent({ event: constants_1.MOCK_INBOX_CREATED_EVENT.type, callback: storeEventCb });
|
|
45
|
-
await mockEventsManager.onEntryEvent(inboxId, {
|
|
46
|
-
event: event.type,
|
|
47
|
-
callback: messageEventCb
|
|
48
|
-
});
|
|
49
|
-
q.dispatchEvent(constants_1.MOCK_INBOX_CREATED_EVENT);
|
|
50
|
-
q.dispatchEvent(event);
|
|
51
|
-
//adding task on end of js event loop
|
|
52
|
-
await (0, utils_1.waitForNextTick)();
|
|
53
|
-
expect(storeEventCb).toHaveBeenCalledTimes(1);
|
|
54
|
-
expect(messageEventCb).toHaveBeenCalledTimes(1);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
File without changes
|