airdcpp-apisocket 3.0.0-beta.10 → 3.0.0-beta.12
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-es/PublicHelpers.d.ts +1 -1
- package/dist-es/PublicHelpers.js +3 -3
- package/dist-es/PublicHelpers.js.map +1 -1
- package/dist-es/SocketBase.js +22 -0
- package/dist-es/SocketBase.js.map +1 -1
- package/dist-es/SocketSubscriptionHandler.js +9 -5
- package/dist-es/SocketSubscriptionHandler.js.map +1 -1
- package/dist-es/tests/mocks/mock-data.d.ts +2 -2
- package/dist-es/tests/mocks/mock-data.js +2 -2
- package/dist-es/tests/mocks/mock-data.js.map +1 -1
- package/dist-es/tests/mocks/mock-server.js +23 -8
- package/dist-es/tests/mocks/mock-server.js.map +1 -1
- package/dist-es/tests/mocks/mock-socket.d.ts +2 -1
- package/dist-es/tests/mocks/mock-socket.js +10 -6
- package/dist-es/tests/mocks/mock-socket.js.map +1 -1
- package/dist-es/types/socket.d.ts +4 -0
- package/dist-es/types/subscriptions.d.ts +1 -1
- package/package.json +1 -1
- package/src/PublicHelpers.ts +3 -3
- package/src/SocketBase.ts +29 -0
- package/src/SocketSubscriptionHandler.ts +7 -6
- package/src/tests/Socket.test.ts +30 -10
- package/src/tests/mocks/mock-data.ts +2 -2
- package/src/tests/mocks/mock-server.ts +27 -13
- package/src/tests/mocks/mock-socket.ts +11 -7
- package/src/tests/public_helpers.test.ts +1 -1
- package/src/types/socket.ts +6 -0
- package/src/types/subscriptions.ts +1 -1
@@ -1,2 +1,2 @@
|
|
1
1
|
import { APISocket, ContextMenuItem, EntityId, ContextMenu } from './types/index.js';
|
2
|
-
export declare const addContextMenuItems: <IdT, EntityIdT extends EntityId | undefined = undefined>(socket: APISocket, menuItems: ContextMenuItem<IdT, EntityIdT>[], menuTypeId: string, menu: ContextMenu) => Promise<() => void
|
2
|
+
export declare const addContextMenuItems: <IdT, EntityIdT extends EntityId | undefined = undefined>(socket: APISocket, menuItems: ContextMenuItem<IdT, EntityIdT>[], menuTypeId: string, menu: ContextMenu) => Promise<() => Promise<void>>;
|
package/dist-es/PublicHelpers.js
CHANGED
@@ -100,9 +100,9 @@ export const addContextMenuItems = async (socket, menuItems, menuTypeId, menu) =
|
|
100
100
|
icon: menu.icon,
|
101
101
|
});
|
102
102
|
}, menu);
|
103
|
-
return () => {
|
104
|
-
removeHook();
|
105
|
-
removeListener();
|
103
|
+
return async () => {
|
104
|
+
await removeHook();
|
105
|
+
await removeListener();
|
106
106
|
};
|
107
107
|
};
|
108
108
|
//# sourceMappingURL=PublicHelpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PublicHelpers.js","sourceRoot":"","sources":["../src/PublicHelpers.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"PublicHelpers.js","sourceRoot":"","sources":["../src/PublicHelpers.ts"],"names":[],"mappings":"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"}
|
package/dist-es/SocketBase.js
CHANGED
@@ -20,8 +20,10 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
20
20
|
let socket = null;
|
21
21
|
let reconnectTimer;
|
22
22
|
let forceNoAutoConnect = true;
|
23
|
+
let connectCallback = null;
|
23
24
|
let connectedCallback = null;
|
24
25
|
let sessionResetCallback = null;
|
26
|
+
let disconnectCallback = null;
|
25
27
|
let disconnectedCallback = null;
|
26
28
|
const logger = SocketLogger(options);
|
27
29
|
const subscriptions = SocketSubscriptionHandler(() => socket, logger, options);
|
@@ -192,6 +194,9 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
192
194
|
// Authentication handler should send the actual authentication request
|
193
195
|
const startConnect = (authenticationHandler, reconnectOnFailure) => {
|
194
196
|
forceNoAutoConnect = false;
|
197
|
+
if (connectCallback) {
|
198
|
+
connectCallback();
|
199
|
+
}
|
195
200
|
return new Promise((resolve, reject) => {
|
196
201
|
logger.info(`Starting socket connect to ${userOptions.url}`);
|
197
202
|
connectInternal(resolve, reject, authenticationHandler, reconnectOnFailure);
|
@@ -253,6 +258,9 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
253
258
|
}
|
254
259
|
return;
|
255
260
|
}
|
261
|
+
if (disconnectCallback) {
|
262
|
+
disconnectCallback(reason);
|
263
|
+
}
|
256
264
|
logger.info('Disconnecting socket');
|
257
265
|
if (!autoConnect) {
|
258
266
|
disableReconnect();
|
@@ -313,6 +321,10 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
313
321
|
isActive,
|
314
322
|
logger,
|
315
323
|
waitDisconnected,
|
324
|
+
// Function to call each time a connect attempt is initiated
|
325
|
+
set onConnect(handler) {
|
326
|
+
connectCallback = handler;
|
327
|
+
},
|
316
328
|
// Function to call each time the socket has been connected (and authorized)
|
317
329
|
set onConnected(handler) {
|
318
330
|
connectedCallback = handler;
|
@@ -321,16 +333,26 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
321
333
|
set onSessionReset(handler) {
|
322
334
|
sessionResetCallback = handler;
|
323
335
|
},
|
336
|
+
// Function to call each time the socket is being manually disconnected
|
337
|
+
set onDisconnect(handler) {
|
338
|
+
disconnectCallback = handler;
|
339
|
+
},
|
324
340
|
// Function to call each time the socket has been disconnected
|
325
341
|
set onDisconnected(handler) {
|
326
342
|
disconnectedCallback = handler;
|
327
343
|
},
|
344
|
+
get onConnect() {
|
345
|
+
return connectCallback;
|
346
|
+
},
|
328
347
|
get onConnected() {
|
329
348
|
return connectedCallback;
|
330
349
|
},
|
331
350
|
get onSessionReset() {
|
332
351
|
return sessionResetCallback;
|
333
352
|
},
|
353
|
+
get onDisconnect() {
|
354
|
+
return disconnectCallback;
|
355
|
+
},
|
334
356
|
get onDisconnected() {
|
335
357
|
return disconnectedCallback;
|
336
358
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SocketBase.js","sourceRoot":"","sources":["../src/SocketBase.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SocketBase.js","sourceRoot":"","sources":["../src/SocketBase.ts"],"names":[],"mappings":"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"}
|
@@ -18,7 +18,7 @@ const SocketSubscriptionHandler = (socket, logger, { ignoredListenerEvents = []
|
|
18
18
|
const emitter = new EventEmitter();
|
19
19
|
// Subscriptions pending to be added in the API
|
20
20
|
const pendingSubscriptions = {};
|
21
|
-
const removeSocketListener = (subscriptionUrl, subscriptionId, callback, sendApi) => {
|
21
|
+
const removeSocketListener = async (subscriptionUrl, subscriptionId, callback, sendApi) => {
|
22
22
|
if (!socket().isConnected()) {
|
23
23
|
return;
|
24
24
|
}
|
@@ -26,10 +26,14 @@ const SocketSubscriptionHandler = (socket, logger, { ignoredListenerEvents = []
|
|
26
26
|
emitter.removeListener(subscriptionId, callback);
|
27
27
|
if (subscriptions[subscriptionId] === 0) {
|
28
28
|
if (sendApi && socket().isConnected()) {
|
29
|
-
|
30
|
-
.
|
31
|
-
|
32
|
-
|
29
|
+
try {
|
30
|
+
await socket().delete(subscriptionUrl);
|
31
|
+
}
|
32
|
+
catch (error) {
|
33
|
+
const e = error;
|
34
|
+
logger.error('Failed to remove socket listener', subscriptionUrl, e);
|
35
|
+
}
|
36
|
+
;
|
33
37
|
}
|
34
38
|
delete subscriptions[subscriptionId];
|
35
39
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SocketSubscriptionHandler.js","sourceRoot":"","sources":["../src/SocketSubscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,OAA0B,MAAM,cAAc,CAAC;AAgBtD,MAAM,yBAAyB,GAAG,CAChC,MAA8B,EAC9B,MAAc,EACd,EAAE,qBAAqB,GAAG,EAAE,EAAqC,EACjE,EAAE;IACF,WAAW;IACX,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAiB,EAAE,EAAE;QACrD,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAA4B,EAAE,KAAa,EAAE,EAAE;QAC5F,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,GAAG,SAAS,IAAI,EAAE,cAAc,KAAK,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,GAAG,SAAS,cAAc,KAAK,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEF,IAAI,aAAa,GAA8B,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,MAAM,oBAAoB,GAA6C,EAAE,CAAC;IAE1E,MAAM,oBAAoB,GAAG,
|
1
|
+
{"version":3,"file":"SocketSubscriptionHandler.js","sourceRoot":"","sources":["../src/SocketSubscriptionHandler.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
export declare const
|
1
|
+
export declare const MOCK_SERVER_URL = "ws://localhost:7171/api/v1/";
|
2
|
+
export declare const DEFAULT_CONNECT_CREDENTIALS: {
|
2
3
|
username: string;
|
3
4
|
password: string;
|
4
|
-
url: string;
|
5
5
|
};
|
6
6
|
export declare const DEFAULT_CONNECT_RESPONSE: {
|
7
7
|
session_id: number;
|
@@ -1,7 +1,7 @@
|
|
1
|
-
export const
|
1
|
+
export const MOCK_SERVER_URL = 'ws://localhost:7171/api/v1/';
|
2
|
+
export const DEFAULT_CONNECT_CREDENTIALS = {
|
2
3
|
username: 'test',
|
3
4
|
password: 'test',
|
4
|
-
url: 'ws://localhost:7171/api/v1/',
|
5
5
|
};
|
6
6
|
export const DEFAULT_CONNECT_RESPONSE = {
|
7
7
|
session_id: 1,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-data.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,sCAAsC;IAClD,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE;QACJ,WAAW,EAAE,CAAE,OAAO,CAAE;QACxB,QAAQ,EAAE,MAAM;QAChB,eAAe,EAAE,CAAC;QAClB,UAAU,EAAE,CAAC;KACd;IACD,WAAW,EAAE;QACX,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,GAAG,EAAE,yCAAyC;QAC9C,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,GAAG;QACnB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,kCAAkC;KACnD;IACD,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,wBAAwB;IAC3B,aAAa,EAAE,uCAAuC;CACvD,CAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Server } from 'mock-socket';
|
2
2
|
import { EventEmitter } from 'events';
|
3
|
-
import {
|
3
|
+
import { MOCK_SERVER_URL } from './mock-data.js';
|
4
4
|
;
|
5
5
|
const toEmitId = (path, method) => {
|
6
6
|
return `${path}_${method}`;
|
@@ -9,7 +9,7 @@ const getDefaultMockCreatorF = () => ({
|
|
9
9
|
fn: () => { },
|
10
10
|
});
|
11
11
|
const DEFAULT_MOCK_SERVER_OPTIONS = {
|
12
|
-
url:
|
12
|
+
url: MOCK_SERVER_URL,
|
13
13
|
reportMissingListeners: true,
|
14
14
|
mockF: getDefaultMockCreatorF(),
|
15
15
|
};
|
@@ -21,9 +21,11 @@ const getMockServer = (initialOptions = {}) => {
|
|
21
21
|
const mockServer = new Server(url);
|
22
22
|
let socket;
|
23
23
|
const emitter = new EventEmitter();
|
24
|
+
emitter.setMaxListeners(1);
|
24
25
|
const send = (data) => {
|
25
26
|
socket.send(JSON.stringify(data));
|
26
27
|
};
|
28
|
+
const handlers = new Map();
|
27
29
|
const addServerHandler = (method, path, responseData, subscriptionCallback) => {
|
28
30
|
const requestHandler = (request, s) => {
|
29
31
|
if (subscriptionCallback) {
|
@@ -39,10 +41,19 @@ const getMockServer = (initialOptions = {}) => {
|
|
39
41
|
};
|
40
42
|
s.send(JSON.stringify(response));
|
41
43
|
};
|
44
|
+
// Don't add duplicates
|
42
45
|
const emitId = toEmitId(path, method);
|
46
|
+
const removeExisting = handlers.get(emitId);
|
47
|
+
if (removeExisting) {
|
48
|
+
removeExisting();
|
49
|
+
handlers.delete(emitId);
|
50
|
+
}
|
51
|
+
// Add new
|
43
52
|
emitter.addListener(emitId, requestHandler);
|
44
|
-
|
45
|
-
|
53
|
+
// Prepare for removal
|
54
|
+
const removeListener = () => emitter.removeListener(emitId, requestHandler);
|
55
|
+
handlers.set(emitId, removeListener);
|
56
|
+
return removeListener;
|
46
57
|
};
|
47
58
|
const addDummyDataHandler = (method, path) => {
|
48
59
|
const handler = (request, s) => {
|
@@ -121,6 +132,10 @@ const getMockServer = (initialOptions = {}) => {
|
|
121
132
|
...subscriber,
|
122
133
|
};
|
123
134
|
};
|
135
|
+
const clearHandlers = () => {
|
136
|
+
emitter.removeAllListeners();
|
137
|
+
handlers.clear();
|
138
|
+
};
|
124
139
|
mockServer.on('connection', s => {
|
125
140
|
socket = s;
|
126
141
|
socket.on('message', (messageObj) => {
|
@@ -133,7 +148,9 @@ const getMockServer = (initialOptions = {}) => {
|
|
133
148
|
});
|
134
149
|
});
|
135
150
|
mockServer.on('close', () => {
|
136
|
-
|
151
|
+
// Remove handlers only after the socket was disconnected
|
152
|
+
// to allow it to complete all requests
|
153
|
+
clearHandlers();
|
137
154
|
});
|
138
155
|
return {
|
139
156
|
addRequestHandler,
|
@@ -142,9 +159,7 @@ const getMockServer = (initialOptions = {}) => {
|
|
142
159
|
addHookHandler,
|
143
160
|
ignoreMissingHandler: addDummyDataHandler,
|
144
161
|
stop: () => {
|
145
|
-
mockServer.stop(
|
146
|
-
// ...
|
147
|
-
});
|
162
|
+
mockServer.stop();
|
148
163
|
},
|
149
164
|
send,
|
150
165
|
url,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAa,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-server.ts"],"names":[],"mappings":"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"}
|
@@ -10,7 +10,7 @@ interface MockSocketOptions {
|
|
10
10
|
console: Options.LogOutput;
|
11
11
|
socketOptions?: MockSocketConnectOptions;
|
12
12
|
}
|
13
|
-
interface MockConnectedSocketOptions extends MockSocketOptions {
|
13
|
+
export interface MockConnectedSocketOptions extends MockSocketOptions {
|
14
14
|
authCallback?: RequestCallback;
|
15
15
|
authResponse: object;
|
16
16
|
}
|
@@ -19,5 +19,6 @@ export declare const getSocket: (socketOptions?: MockSocketConnectOptions) => {
|
|
19
19
|
};
|
20
20
|
export declare const getConnectedSocket: (server: ReturnType<typeof getMockServer>, userOptions?: Partial<MockConnectedSocketOptions>) => Promise<{
|
21
21
|
socket: import("../../NodeSocket.js").APISocket;
|
22
|
+
removeAuthHandler: () => import("events")<[never]>;
|
22
23
|
}>;
|
23
24
|
export {};
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import { Socket } from '../../NodeSocket.js';
|
2
2
|
import { WebSocket } from 'mock-socket';
|
3
3
|
import ApiConstants from '../../ApiConstants.js';
|
4
|
-
import { DEFAULT_AUTH_RESPONSE,
|
4
|
+
import { DEFAULT_AUTH_RESPONSE, DEFAULT_CONNECT_CREDENTIALS, MOCK_SERVER_URL } from './mock-data.js';
|
5
5
|
const getDefaultSocketOptions = () => ({
|
6
|
-
|
6
|
+
url: MOCK_SERVER_URL,
|
7
7
|
logOutput: console,
|
8
8
|
logLevel: 'warn',
|
9
9
|
});
|
10
10
|
export const getSocket = (socketOptions = {}) => {
|
11
11
|
const socket = Socket({
|
12
12
|
...getDefaultSocketOptions(),
|
13
|
-
...socketOptions
|
13
|
+
...socketOptions
|
14
14
|
}, WebSocket);
|
15
15
|
return { socket };
|
16
16
|
};
|
@@ -23,9 +23,13 @@ export const getConnectedSocket = async (server, userOptions) => {
|
|
23
23
|
...getDefaultConnectOptions(),
|
24
24
|
...userOptions,
|
25
25
|
};
|
26
|
-
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, options.authResponse, options.authCallback);
|
27
|
-
const { socket } = getSocket(
|
26
|
+
const removeAuthHandler = server.addRequestHandler('POST', ApiConstants.LOGIN_URL, options.authResponse, options.authCallback);
|
27
|
+
const { socket } = getSocket({
|
28
|
+
...DEFAULT_CONNECT_CREDENTIALS,
|
29
|
+
...getDefaultSocketOptions(),
|
30
|
+
...options.socketOptions
|
31
|
+
});
|
28
32
|
await socket.connect();
|
29
|
-
return { socket };
|
33
|
+
return { socket, removeAuthHandler };
|
30
34
|
};
|
31
35
|
//# sourceMappingURL=mock-socket.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mock-socket.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,qBAAqB,EAAE,
|
1
|
+
{"version":3,"file":"mock-socket.js","sourceRoot":"","sources":["../../../src/tests/mocks/mock-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAErG,MAAM,uBAAuB,GAAG,GAA6B,EAAE,CAAC,CAAC;IAC/D,GAAG,EAAE,eAAe;IACpB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAC;AAsBH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,gBAA0C,EAAE,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,CACnB;QACE,GAAG,uBAAuB,EAAE;QAC5B,GAAG,aAAa;KACjB,EACD,SAAgB,CACjB,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,CAAC;IACtC,OAAO;IACP,YAAY,EAAE,qBAAqB;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAwC,EACxC,WAAiD,EACjD,EAAE;IACF,MAAM,OAAO,GAA+B;QAC1C,GAAG,wBAAwB,EAAE;QAC7B,GAAG,WAAW;KACf,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/H,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,GAAG,2BAA2B;QAC9B,GAAG,uBAAuB,EAAE;QAC5B,GAAG,OAAO,CAAC,aAAa;KACzB,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAEvB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACvC,CAAC,CAAC"}
|
@@ -2,8 +2,10 @@ import { AuthTokenType, LogoutResponse, AuthenticationResponse } from './api.js'
|
|
2
2
|
import { Logger } from './logger.js';
|
3
3
|
import { SocketRequestMethods } from './requests.js';
|
4
4
|
import { SocketSubscriptions } from './subscriptions.js';
|
5
|
+
export type ConnectCallback = () => void;
|
5
6
|
export type ConnectedCallback = (data: AuthenticationResponse) => void;
|
6
7
|
export type SessionResetCallback = () => void;
|
8
|
+
export type DisconnectCallback = (reason: string) => void;
|
7
9
|
export type DisconnectedCallback = (reason: string, code: number, wasClean: boolean) => void;
|
8
10
|
export interface APISocket extends SocketRequestMethods, SocketSubscriptions {
|
9
11
|
connect: (username?: string, password?: string, reconnectOnFailure?: boolean) => Promise<AuthenticationResponse>;
|
@@ -16,8 +18,10 @@ export interface APISocket extends SocketRequestMethods, SocketSubscriptions {
|
|
16
18
|
isConnected: () => boolean;
|
17
19
|
isActive: () => boolean;
|
18
20
|
logger: Logger;
|
21
|
+
onConnect: ConnectCallback | null;
|
19
22
|
onConnected: ConnectedCallback | null;
|
20
23
|
onSessionReset: SessionResetCallback | null;
|
24
|
+
onDisconnect: DisconnectCallback | null;
|
21
25
|
onDisconnected: DisconnectedCallback | null;
|
22
26
|
readonly nativeSocket: WebSocket | null;
|
23
27
|
readonly url: string;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as API from './api.js';
|
2
|
-
export type SubscriptionRemoveHandler = (sendApi?: boolean) => void
|
2
|
+
export type SubscriptionRemoveHandler = (sendApi?: boolean) => Promise<void>;
|
3
3
|
export type SubscriptionCallback<DataT extends object | void = object, EntityIdT = API.EntityId | undefined> = (data: DataT, entityId: EntityIdT) => void;
|
4
4
|
export interface HookSubscriberInfo {
|
5
5
|
id: string;
|
package/package.json
CHANGED
package/src/PublicHelpers.ts
CHANGED
@@ -143,8 +143,8 @@ export const addContextMenuItems = async <IdT, EntityIdT extends EntityId | unde
|
|
143
143
|
menu
|
144
144
|
);
|
145
145
|
|
146
|
-
return () => {
|
147
|
-
removeHook();
|
148
|
-
removeListener();
|
146
|
+
return async () => {
|
147
|
+
await removeHook();
|
148
|
+
await removeListener();
|
149
149
|
};
|
150
150
|
};
|
package/src/SocketBase.ts
CHANGED
@@ -43,8 +43,10 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
43
43
|
let reconnectTimer: any;
|
44
44
|
let forceNoAutoConnect = true;
|
45
45
|
|
46
|
+
let connectCallback: Socket.ConnectCallback | null = null;
|
46
47
|
let connectedCallback: Socket.ConnectedCallback | null = null;
|
47
48
|
let sessionResetCallback: Socket.SessionResetCallback | null = null;
|
49
|
+
let disconnectCallback: Socket.DisconnectCallback | null = null;
|
48
50
|
let disconnectedCallback: Socket.DisconnectedCallback | null = null;
|
49
51
|
|
50
52
|
const logger = SocketLogger(options);
|
@@ -279,6 +281,11 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
279
281
|
reconnectOnFailure: boolean
|
280
282
|
): Promise<API.AuthenticationResponse> => {
|
281
283
|
forceNoAutoConnect = false;
|
284
|
+
|
285
|
+
if (connectCallback) {
|
286
|
+
connectCallback();
|
287
|
+
}
|
288
|
+
|
282
289
|
return new Promise(
|
283
290
|
(resolve, reject) => {
|
284
291
|
logger.info(`Starting socket connect to ${userOptions.url}`);
|
@@ -348,6 +355,10 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
348
355
|
return;
|
349
356
|
}
|
350
357
|
|
358
|
+
if (disconnectCallback) {
|
359
|
+
disconnectCallback(reason);
|
360
|
+
}
|
361
|
+
|
351
362
|
logger.info('Disconnecting socket');
|
352
363
|
|
353
364
|
if (!autoConnect) {
|
@@ -427,6 +438,11 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
427
438
|
logger,
|
428
439
|
waitDisconnected,
|
429
440
|
|
441
|
+
// Function to call each time a connect attempt is initiated
|
442
|
+
set onConnect(handler: Socket.ConnectCallback) {
|
443
|
+
connectCallback = handler;
|
444
|
+
},
|
445
|
+
|
430
446
|
// Function to call each time the socket has been connected (and authorized)
|
431
447
|
set onConnected(handler: Socket.ConnectedCallback) {
|
432
448
|
connectedCallback = handler;
|
@@ -437,11 +453,20 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
437
453
|
sessionResetCallback = handler;
|
438
454
|
},
|
439
455
|
|
456
|
+
// Function to call each time the socket is being manually disconnected
|
457
|
+
set onDisconnect(handler: Socket.DisconnectCallback) {
|
458
|
+
disconnectCallback = handler;
|
459
|
+
},
|
460
|
+
|
440
461
|
// Function to call each time the socket has been disconnected
|
441
462
|
set onDisconnected(handler: Socket.DisconnectedCallback) {
|
442
463
|
disconnectedCallback = handler;
|
443
464
|
},
|
444
465
|
|
466
|
+
get onConnect() {
|
467
|
+
return connectCallback!;
|
468
|
+
},
|
469
|
+
|
445
470
|
get onConnected() {
|
446
471
|
return connectedCallback!;
|
447
472
|
},
|
@@ -450,6 +475,10 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
450
475
|
return sessionResetCallback!;
|
451
476
|
},
|
452
477
|
|
478
|
+
get onDisconnect() {
|
479
|
+
return disconnectCallback!;
|
480
|
+
},
|
481
|
+
|
453
482
|
get onDisconnected() {
|
454
483
|
return disconnectedCallback!;
|
455
484
|
},
|
@@ -43,7 +43,7 @@ const SocketSubscriptionHandler = (
|
|
43
43
|
// Subscriptions pending to be added in the API
|
44
44
|
const pendingSubscriptions: { [key: string]: PendingSubscription[] } = {};
|
45
45
|
|
46
|
-
const removeSocketListener = (
|
46
|
+
const removeSocketListener = async (
|
47
47
|
subscriptionUrl: string,
|
48
48
|
subscriptionId: string,
|
49
49
|
callback: Subscriptions.HookCallback<any, any> | Subscriptions.SubscriptionCallback<any>,
|
@@ -58,11 +58,12 @@ const SocketSubscriptionHandler = (
|
|
58
58
|
|
59
59
|
if (subscriptions[subscriptionId] === 0) {
|
60
60
|
if (sendApi && socket().isConnected()) {
|
61
|
-
|
62
|
-
.
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
try {
|
62
|
+
await socket().delete(subscriptionUrl);
|
63
|
+
} catch (error) {
|
64
|
+
const e: Requests.ErrorResponse = error;
|
65
|
+
logger.error('Failed to remove socket listener', subscriptionUrl, e);
|
66
|
+
};
|
66
67
|
}
|
67
68
|
|
68
69
|
delete subscriptions[subscriptionId];
|
package/src/tests/Socket.test.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import {
|
2
|
-
DEFAULT_AUTH_RESPONSE,
|
3
|
-
getConnectedSocket as getOriginalConnectedSocket, getMockServer as getOriginalMockServer, getSocket as getOriginalSocket
|
2
|
+
DEFAULT_AUTH_RESPONSE, DEFAULT_CONNECT_CREDENTIALS,
|
3
|
+
getConnectedSocket as getOriginalConnectedSocket, getMockServer as getOriginalMockServer, getSocket as getOriginalSocket,
|
4
|
+
MockConnectedSocketOptions,
|
4
5
|
} from './mocks';
|
5
6
|
|
6
7
|
import ApiConstants from '../ApiConstants.js';
|
@@ -34,6 +35,7 @@ describe('socket', () => {
|
|
34
35
|
});
|
35
36
|
|
36
37
|
const getDefaultSocketOptions = () => ({
|
38
|
+
...DEFAULT_CONNECT_CREDENTIALS,
|
37
39
|
logOutput: mockConsole,
|
38
40
|
});
|
39
41
|
|
@@ -42,9 +44,10 @@ describe('socket', () => {
|
|
42
44
|
}
|
43
45
|
|
44
46
|
|
45
|
-
const getConnectedMockSocket = () => {
|
47
|
+
const getConnectedMockSocket = (options?: Partial<MockConnectedSocketOptions>) => {
|
46
48
|
return getOriginalConnectedSocket(server, {
|
47
49
|
socketOptions: getDefaultSocketOptions(),
|
50
|
+
...options,
|
48
51
|
});
|
49
52
|
}
|
50
53
|
|
@@ -69,7 +72,8 @@ describe('socket', () => {
|
|
69
72
|
});
|
70
73
|
|
71
74
|
test('should handle valid refresh token', async () => {
|
72
|
-
|
75
|
+
const onAuth = jest.fn();
|
76
|
+
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, DEFAULT_AUTH_RESPONSE, onAuth);
|
73
77
|
const connectedCallback = jest.fn();
|
74
78
|
|
75
79
|
const { socket } = getMockSocket();
|
@@ -77,6 +81,22 @@ describe('socket', () => {
|
|
77
81
|
const response = await socket.connectRefreshToken('refresh token');
|
78
82
|
|
79
83
|
expect(connectedCallback).toHaveBeenCalledWith(DEFAULT_AUTH_RESPONSE);
|
84
|
+
|
85
|
+
expect(onAuth).toHaveBeenCalled();
|
86
|
+
expect(onAuth.mock.calls[0]).toMatchInlineSnapshot(`
|
87
|
+
[
|
88
|
+
{
|
89
|
+
"callback_id": 1,
|
90
|
+
"data": {
|
91
|
+
"grant_type": "refresh_token",
|
92
|
+
"refresh_token": "refresh token",
|
93
|
+
},
|
94
|
+
"method": "POST",
|
95
|
+
"path": "sessions/authorize",
|
96
|
+
},
|
97
|
+
]
|
98
|
+
`);
|
99
|
+
|
80
100
|
expect(response).toEqual(DEFAULT_AUTH_RESPONSE);
|
81
101
|
expect(socket.isConnected()).toEqual(true);
|
82
102
|
|
@@ -110,15 +130,15 @@ describe('socket', () => {
|
|
110
130
|
test('should handle connect with custom credentials', async () => {
|
111
131
|
server.stop();
|
112
132
|
const { socket } = getOriginalSocket({
|
133
|
+
...getDefaultSocketOptions(),
|
113
134
|
username: 'dummy',
|
114
135
|
password: 'dummy',
|
115
|
-
...getDefaultSocketOptions(),
|
116
136
|
});
|
117
137
|
|
118
138
|
// Fail without a server handler with auto reconnect disabled
|
119
139
|
let error;
|
120
140
|
try {
|
121
|
-
await socket.connect(
|
141
|
+
await socket.connect(DEFAULT_CONNECT_CREDENTIALS.username, DEFAULT_CONNECT_CREDENTIALS.password, false);
|
122
142
|
} catch (e) {
|
123
143
|
error = e;
|
124
144
|
}
|
@@ -130,7 +150,7 @@ describe('socket', () => {
|
|
130
150
|
server = getOriginalMockServer();
|
131
151
|
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, DEFAULT_AUTH_RESPONSE);
|
132
152
|
|
133
|
-
await socket.connect(
|
153
|
+
await socket.connect(DEFAULT_CONNECT_CREDENTIALS.username, DEFAULT_CONNECT_CREDENTIALS.password, false);
|
134
154
|
|
135
155
|
expect(socket.isConnected()).toEqual(true);
|
136
156
|
|
@@ -302,7 +322,7 @@ describe('socket', () => {
|
|
302
322
|
// Fail the initial reconnect attempt with 'Invalid session token'
|
303
323
|
// and connect with credentials afterwards
|
304
324
|
server.addErrorHandler('POST', ApiConstants.CONNECT_URL, ErrorResponse, 400, connectErrorCallback);
|
305
|
-
|
325
|
+
|
306
326
|
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, DEFAULT_AUTH_RESPONSE, authCallback);
|
307
327
|
|
308
328
|
jest.runOnlyPendingTimers();
|
@@ -446,7 +466,7 @@ describe('socket', () => {
|
|
446
466
|
removeListener1();
|
447
467
|
expect(hubUpdatedListener.unsubscribeFn.mock.calls.length).toBe(0); // Shouldn't call API yet, still one left
|
448
468
|
|
449
|
-
removeListener2();
|
469
|
+
await removeListener2();
|
450
470
|
await waitForExpect(() => expect(hubUpdatedListener.unsubscribeFn.mock.calls.length).toBe(1));
|
451
471
|
|
452
472
|
expect(socket.hasListeners()).toBe(false);
|
@@ -513,7 +533,7 @@ describe('socket', () => {
|
|
513
533
|
}
|
514
534
|
|
515
535
|
// Clean up
|
516
|
-
removeListener();
|
536
|
+
await removeListener();
|
517
537
|
expect(socket.hasListeners()).toBe(false);
|
518
538
|
|
519
539
|
expect(mockConsole.warn.mock.calls.length).toBe(0);
|
@@ -1,8 +1,8 @@
|
|
1
|
+
export const MOCK_SERVER_URL = 'ws://localhost:7171/api/v1/';
|
1
2
|
|
2
|
-
export const
|
3
|
+
export const DEFAULT_CONNECT_CREDENTIALS = {
|
3
4
|
username: 'test',
|
4
5
|
password: 'test',
|
5
|
-
url: 'ws://localhost:7171/api/v1/',
|
6
6
|
};
|
7
7
|
|
8
8
|
export const DEFAULT_CONNECT_RESPONSE = {
|
@@ -2,7 +2,7 @@ import { Client, Server, WebSocket } from 'mock-socket';
|
|
2
2
|
|
3
3
|
import { OutgoingRequest, RequestSuccessResponse, RequestErrorResponse } from '../../types/api_internal.js';
|
4
4
|
import { EventEmitter } from 'events';
|
5
|
-
import {
|
5
|
+
import { MOCK_SERVER_URL } from './mock-data.js';
|
6
6
|
|
7
7
|
interface MockFunctionCreator {
|
8
8
|
fn: (...args: any[]) => any;
|
@@ -25,7 +25,7 @@ interface MockServerOptions {
|
|
25
25
|
}
|
26
26
|
|
27
27
|
const DEFAULT_MOCK_SERVER_OPTIONS: MockServerOptions = {
|
28
|
-
url:
|
28
|
+
url: MOCK_SERVER_URL,
|
29
29
|
reportMissingListeners: true,
|
30
30
|
mockF: getDefaultMockCreatorF(),
|
31
31
|
}
|
@@ -43,16 +43,19 @@ const getMockServer = (initialOptions: Partial<MockServerOptions> = {}) => {
|
|
43
43
|
const mockServer = new Server(url);
|
44
44
|
let socket: Client;
|
45
45
|
const emitter = new EventEmitter();
|
46
|
+
emitter.setMaxListeners(1);
|
46
47
|
|
47
48
|
const send = (data: object) => {
|
48
49
|
socket.send(JSON.stringify(data));
|
49
50
|
};
|
50
51
|
|
52
|
+
const handlers: Map<string, () => any> = new Map();
|
53
|
+
|
51
54
|
const addServerHandler = <DataT extends object | undefined>(
|
52
55
|
method: string,
|
53
56
|
path: string,
|
54
57
|
responseData: MockRequestResponseData<DataT>,
|
55
|
-
subscriptionCallback?: RequestCallback
|
58
|
+
subscriptionCallback?: RequestCallback,
|
56
59
|
) => {
|
57
60
|
const requestHandler = (request: OutgoingRequest, s: WebSocket) => {
|
58
61
|
if (subscriptionCallback) {
|
@@ -72,14 +75,21 @@ const getMockServer = (initialOptions: Partial<MockServerOptions> = {}) => {
|
|
72
75
|
s.send(JSON.stringify(response));
|
73
76
|
};
|
74
77
|
|
78
|
+
// Don't add duplicates
|
75
79
|
const emitId = toEmitId(path, method);
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
80
|
+
const removeExisting = handlers.get(emitId);
|
81
|
+
if (removeExisting) {
|
82
|
+
removeExisting();
|
83
|
+
handlers.delete(emitId);
|
84
|
+
}
|
85
|
+
|
86
|
+
// Add new
|
87
|
+
emitter.addListener(emitId, requestHandler);
|
81
88
|
|
82
|
-
|
89
|
+
// Prepare for removal
|
90
|
+
const removeListener = () => emitter.removeListener(emitId, requestHandler);
|
91
|
+
handlers.set(emitId, removeListener)
|
92
|
+
return removeListener;
|
83
93
|
};
|
84
94
|
|
85
95
|
const addDummyDataHandler = (method: string, path: string) => {
|
@@ -230,6 +240,10 @@ const getMockServer = (initialOptions: Partial<MockServerOptions> = {}) => {
|
|
230
240
|
}
|
231
241
|
}
|
232
242
|
|
243
|
+
const clearHandlers = () => {
|
244
|
+
emitter.removeAllListeners();
|
245
|
+
handlers.clear();
|
246
|
+
}
|
233
247
|
|
234
248
|
mockServer.on('connection', s => {
|
235
249
|
socket = s;
|
@@ -245,7 +259,9 @@ const getMockServer = (initialOptions: Partial<MockServerOptions> = {}) => {
|
|
245
259
|
});
|
246
260
|
|
247
261
|
mockServer.on('close', () => {
|
248
|
-
|
262
|
+
// Remove handlers only after the socket was disconnected
|
263
|
+
// to allow it to complete all requests
|
264
|
+
clearHandlers();
|
249
265
|
});
|
250
266
|
|
251
267
|
return {
|
@@ -257,9 +273,7 @@ const getMockServer = (initialOptions: Partial<MockServerOptions> = {}) => {
|
|
257
273
|
|
258
274
|
ignoreMissingHandler: addDummyDataHandler,
|
259
275
|
stop: () => {
|
260
|
-
mockServer.stop(
|
261
|
-
// ...
|
262
|
-
});
|
276
|
+
mockServer.stop();
|
263
277
|
},
|
264
278
|
send,
|
265
279
|
url,
|
@@ -5,10 +5,10 @@ import * as Options from '../../types/options.js';
|
|
5
5
|
import ApiConstants from '../../ApiConstants.js';
|
6
6
|
|
7
7
|
import { getMockServer } from './mock-server.js';
|
8
|
-
import { DEFAULT_AUTH_RESPONSE,
|
8
|
+
import { DEFAULT_AUTH_RESPONSE, DEFAULT_CONNECT_CREDENTIALS, MOCK_SERVER_URL } from './mock-data.js';
|
9
9
|
|
10
10
|
const getDefaultSocketOptions = (): Options.APISocketOptions => ({
|
11
|
-
|
11
|
+
url: MOCK_SERVER_URL,
|
12
12
|
logOutput: console,
|
13
13
|
logLevel: 'warn',
|
14
14
|
});
|
@@ -27,7 +27,7 @@ interface MockSocketOptions {
|
|
27
27
|
socketOptions?: MockSocketConnectOptions;
|
28
28
|
}
|
29
29
|
|
30
|
-
interface MockConnectedSocketOptions extends MockSocketOptions {
|
30
|
+
export interface MockConnectedSocketOptions extends MockSocketOptions {
|
31
31
|
authCallback?: RequestCallback;
|
32
32
|
authResponse: object;
|
33
33
|
}
|
@@ -37,7 +37,7 @@ export const getSocket = (socketOptions: MockSocketConnectOptions = {}) => {
|
|
37
37
|
const socket = Socket(
|
38
38
|
{
|
39
39
|
...getDefaultSocketOptions(),
|
40
|
-
...socketOptions
|
40
|
+
...socketOptions
|
41
41
|
},
|
42
42
|
WebSocket as any
|
43
43
|
);
|
@@ -59,10 +59,14 @@ export const getConnectedSocket = async (
|
|
59
59
|
...userOptions,
|
60
60
|
};
|
61
61
|
|
62
|
-
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, options.authResponse, options.authCallback);
|
62
|
+
const removeAuthHandler = server.addRequestHandler('POST', ApiConstants.LOGIN_URL, options.authResponse, options.authCallback);
|
63
63
|
|
64
|
-
const { socket } = getSocket(
|
64
|
+
const { socket } = getSocket({
|
65
|
+
...DEFAULT_CONNECT_CREDENTIALS,
|
66
|
+
...getDefaultSocketOptions(),
|
67
|
+
...options.socketOptions
|
68
|
+
});
|
65
69
|
await socket.connect();
|
66
70
|
|
67
|
-
return { socket };
|
71
|
+
return { socket, removeAuthHandler };
|
68
72
|
};
|
package/src/types/socket.ts
CHANGED
@@ -4,8 +4,10 @@ import { SocketRequestMethods } from './requests.js';
|
|
4
4
|
import { SocketSubscriptions } from './subscriptions.js';
|
5
5
|
|
6
6
|
|
7
|
+
export type ConnectCallback = () => void;
|
7
8
|
export type ConnectedCallback = (data: AuthenticationResponse) => void;
|
8
9
|
export type SessionResetCallback = () => void;
|
10
|
+
export type DisconnectCallback = (reason: string) => void;
|
9
11
|
export type DisconnectedCallback = (reason: string, code: number, wasClean: boolean) => void;
|
10
12
|
|
11
13
|
export interface APISocket extends SocketRequestMethods, SocketSubscriptions {
|
@@ -22,9 +24,13 @@ export interface APISocket extends SocketRequestMethods, SocketSubscriptions {
|
|
22
24
|
|
23
25
|
logger: Logger;
|
24
26
|
|
27
|
+
onConnect: ConnectCallback | null;
|
25
28
|
onConnected: ConnectedCallback | null;
|
29
|
+
|
26
30
|
onSessionReset: SessionResetCallback | null;
|
31
|
+
onDisconnect: DisconnectCallback | null;
|
27
32
|
onDisconnected: DisconnectedCallback | null;
|
33
|
+
|
28
34
|
readonly nativeSocket: WebSocket | null;
|
29
35
|
readonly url: string;
|
30
36
|
}
|
@@ -2,7 +2,7 @@ import * as API from './api.js';
|
|
2
2
|
|
3
3
|
|
4
4
|
// SUBSCRIPTIONS
|
5
|
-
export type SubscriptionRemoveHandler = (sendApi?: boolean) => void
|
5
|
+
export type SubscriptionRemoveHandler = (sendApi?: boolean) => Promise<void>;
|
6
6
|
|
7
7
|
export type SubscriptionCallback<
|
8
8
|
DataT extends object | void = object,
|