@expressms/smartapp-sdk 1.7.0-alpha.0 → 1.7.0-alpha.1
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/build/main/lib/client/events.d.ts +3 -7
- package/build/main/lib/client/events.js +19 -10
- package/build/main/types/client.d.ts +2 -0
- package/build/module/lib/client/events.d.ts +3 -7
- package/build/module/lib/client/events.js +19 -10
- package/build/module/types/client.d.ts +2 -0
- package/build/umd/index.js +18 -9
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
1
|
+
import { StatusResponse, SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Subscribe to special client events
|
|
4
4
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
@@ -10,9 +10,7 @@ declare const subscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
|
10
10
|
eventType: SubscriptionEventType;
|
|
11
11
|
payload?: SubscriptionPayload | undefined;
|
|
12
12
|
callback?: Function | undefined;
|
|
13
|
-
}) => Promise<
|
|
14
|
-
status: string;
|
|
15
|
-
}>;
|
|
13
|
+
}) => Promise<StatusResponse>;
|
|
16
14
|
/**
|
|
17
15
|
* Unsubscribe from previously subscribed client events
|
|
18
16
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
@@ -24,7 +22,5 @@ declare const unsubscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
|
24
22
|
eventType: SubscriptionEventType;
|
|
25
23
|
payload?: SubscriptionPayload | undefined;
|
|
26
24
|
callback?: Function | undefined;
|
|
27
|
-
}) => Promise<
|
|
28
|
-
status: string;
|
|
29
|
-
}>;
|
|
25
|
+
}) => Promise<StatusResponse>;
|
|
30
26
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
@@ -8,6 +8,14 @@ const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"))
|
|
|
8
8
|
const types_1 = require("../../types");
|
|
9
9
|
const subscriptions = [];
|
|
10
10
|
let bridgeEventListenerInstalled = false;
|
|
11
|
+
const composeResponse = (status, errorCode) => {
|
|
12
|
+
return {
|
|
13
|
+
payload: {
|
|
14
|
+
status,
|
|
15
|
+
errorCode
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
};
|
|
11
19
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
20
|
const getSubscriptionId = (eventType, payload) => {
|
|
13
21
|
const sourceId = (payload === null || payload === void 0 ? void 0 : payload.id) ? '-' + (payload === null || payload === void 0 ? void 0 : payload.id) : '';
|
|
@@ -36,25 +44,27 @@ const installBridgeEventListener = () => {
|
|
|
36
44
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
37
45
|
*/
|
|
38
46
|
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
39
|
-
const successResponse = { status: types_1.STATUS.SUCCESS };
|
|
40
47
|
// No need to subscribe event twice on client
|
|
41
48
|
if (isAnySubscriptions(eventType, payload)) {
|
|
42
49
|
const id = getSubscriptionId(eventType, payload);
|
|
43
50
|
subscriptions.push({ id, callback });
|
|
44
|
-
return Promise.resolve(
|
|
51
|
+
return Promise.resolve(composeResponse(types_1.STATUS.SUCCESS));
|
|
45
52
|
}
|
|
46
53
|
if (!smartapp_bridge_1.default)
|
|
47
|
-
return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
|
|
54
|
+
return Promise.reject(composeResponse(types_1.STATUS.ERROR, types_1.ERROR_CODES.NO_BRIDGE));
|
|
48
55
|
return smartapp_bridge_1.default
|
|
49
56
|
.sendClientEvent({
|
|
50
57
|
method: types_1.METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
51
58
|
params: Object.assign({ event: eventType }, payload),
|
|
52
59
|
})
|
|
53
|
-
.then(() => {
|
|
60
|
+
.then((event) => {
|
|
61
|
+
const response = event;
|
|
54
62
|
const id = getSubscriptionId(eventType, payload);
|
|
63
|
+
if (response.payload.status !== types_1.STATUS.SUCCESS)
|
|
64
|
+
return response;
|
|
55
65
|
installBridgeEventListener();
|
|
56
66
|
subscriptions.push({ id, callback });
|
|
57
|
-
return
|
|
67
|
+
return response;
|
|
58
68
|
});
|
|
59
69
|
};
|
|
60
70
|
exports.subscribeClientEvents = subscribeClientEvents;
|
|
@@ -66,23 +76,22 @@ exports.subscribeClientEvents = subscribeClientEvents;
|
|
|
66
76
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
67
77
|
*/
|
|
68
78
|
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
69
|
-
const successResponse = { status: types_1.STATUS.SUCCESS };
|
|
70
79
|
const id = getSubscriptionId(eventType, payload);
|
|
71
80
|
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
72
81
|
if (!smartapp_bridge_1.default)
|
|
73
82
|
return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
|
|
74
83
|
if (index == -1)
|
|
75
|
-
return Promise.
|
|
84
|
+
return Promise.resolve(composeResponse(types_1.STATUS.ERROR, types_1.ERROR_CODES.SUBSCRIPTION_NOT_FOUND));
|
|
76
85
|
subscriptions.splice(index, 1);
|
|
77
86
|
// Send unsubscribe to client only at last subscription
|
|
78
87
|
if (isAnySubscriptions(eventType, payload))
|
|
79
|
-
return Promise.resolve(
|
|
88
|
+
return Promise.resolve(composeResponse(types_1.STATUS.SUCCESS));
|
|
80
89
|
return smartapp_bridge_1.default
|
|
81
90
|
.sendClientEvent({
|
|
82
91
|
method: types_1.METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
83
92
|
params: Object.assign({ event: eventType }, payload),
|
|
84
93
|
})
|
|
85
|
-
.then(() =>
|
|
94
|
+
.then((event) => event);
|
|
86
95
|
};
|
|
87
96
|
exports.unsubscribeClientEvents = unsubscribeClientEvents;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBc0g7QUFFdEgsTUFBTSxhQUFhLEdBQStDLEVBQUUsQ0FBQTtBQUNwRSxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4QyxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQWMsRUFBRSxTQUFrQixFQUFrQixFQUFFO0lBQzdFLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxNQUFNO1lBQ04sU0FBUztTQUNWO0tBQ2dCLENBQUE7QUFDckIsQ0FBQyxDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLE9BQWEsRUFBRSxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsR0FBRyxJQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ3JELE1BQU0sVUFBVSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxJQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLENBQUEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTNELE9BQU8sR0FBRyxTQUFTLEdBQUcsVUFBVSxHQUFHLFFBQVEsRUFBRSxDQUFBO0FBQy9DLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLE9BQTZCLEVBQUUsRUFBRTtJQUM3RixNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
1
|
+
import { StatusResponse, SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Subscribe to special client events
|
|
4
4
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
@@ -10,9 +10,7 @@ declare const subscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
|
10
10
|
eventType: SubscriptionEventType;
|
|
11
11
|
payload?: SubscriptionPayload | undefined;
|
|
12
12
|
callback?: Function | undefined;
|
|
13
|
-
}) => Promise<
|
|
14
|
-
status: string;
|
|
15
|
-
}>;
|
|
13
|
+
}) => Promise<StatusResponse>;
|
|
16
14
|
/**
|
|
17
15
|
* Unsubscribe from previously subscribed client events
|
|
18
16
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
@@ -24,7 +22,5 @@ declare const unsubscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
|
24
22
|
eventType: SubscriptionEventType;
|
|
25
23
|
payload?: SubscriptionPayload | undefined;
|
|
26
24
|
callback?: Function | undefined;
|
|
27
|
-
}) => Promise<
|
|
28
|
-
status: string;
|
|
29
|
-
}>;
|
|
25
|
+
}) => Promise<StatusResponse>;
|
|
30
26
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
@@ -2,6 +2,14 @@ import bridge from '@expressms/smartapp-bridge';
|
|
|
2
2
|
import { ERROR_CODES, METHODS, STATUS } from '../../types';
|
|
3
3
|
const subscriptions = [];
|
|
4
4
|
let bridgeEventListenerInstalled = false;
|
|
5
|
+
const composeResponse = (status, errorCode) => {
|
|
6
|
+
return {
|
|
7
|
+
payload: {
|
|
8
|
+
status,
|
|
9
|
+
errorCode
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
};
|
|
5
13
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
14
|
const getSubscriptionId = (eventType, payload) => {
|
|
7
15
|
const sourceId = payload?.id ? '-' + payload?.id : '';
|
|
@@ -30,15 +38,14 @@ const installBridgeEventListener = () => {
|
|
|
30
38
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
31
39
|
*/
|
|
32
40
|
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
33
|
-
const successResponse = { status: STATUS.SUCCESS };
|
|
34
41
|
// No need to subscribe event twice on client
|
|
35
42
|
if (isAnySubscriptions(eventType, payload)) {
|
|
36
43
|
const id = getSubscriptionId(eventType, payload);
|
|
37
44
|
subscriptions.push({ id, callback });
|
|
38
|
-
return Promise.resolve(
|
|
45
|
+
return Promise.resolve(composeResponse(STATUS.SUCCESS));
|
|
39
46
|
}
|
|
40
47
|
if (!bridge)
|
|
41
|
-
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
48
|
+
return Promise.reject(composeResponse(STATUS.ERROR, ERROR_CODES.NO_BRIDGE));
|
|
42
49
|
return bridge
|
|
43
50
|
.sendClientEvent({
|
|
44
51
|
method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
@@ -47,11 +54,14 @@ const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
|
47
54
|
...payload,
|
|
48
55
|
},
|
|
49
56
|
})
|
|
50
|
-
.then(() => {
|
|
57
|
+
.then((event) => {
|
|
58
|
+
const response = event;
|
|
51
59
|
const id = getSubscriptionId(eventType, payload);
|
|
60
|
+
if (response.payload.status !== STATUS.SUCCESS)
|
|
61
|
+
return response;
|
|
52
62
|
installBridgeEventListener();
|
|
53
63
|
subscriptions.push({ id, callback });
|
|
54
|
-
return
|
|
64
|
+
return response;
|
|
55
65
|
});
|
|
56
66
|
};
|
|
57
67
|
/**
|
|
@@ -62,17 +72,16 @@ const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
|
62
72
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
63
73
|
*/
|
|
64
74
|
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
65
|
-
const successResponse = { status: STATUS.SUCCESS };
|
|
66
75
|
const id = getSubscriptionId(eventType, payload);
|
|
67
76
|
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
68
77
|
if (!bridge)
|
|
69
78
|
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
70
79
|
if (index == -1)
|
|
71
|
-
return Promise.
|
|
80
|
+
return Promise.resolve(composeResponse(STATUS.ERROR, ERROR_CODES.SUBSCRIPTION_NOT_FOUND));
|
|
72
81
|
subscriptions.splice(index, 1);
|
|
73
82
|
// Send unsubscribe to client only at last subscription
|
|
74
83
|
if (isAnySubscriptions(eventType, payload))
|
|
75
|
-
return Promise.resolve(
|
|
84
|
+
return Promise.resolve(composeResponse(STATUS.SUCCESS));
|
|
76
85
|
return bridge
|
|
77
86
|
.sendClientEvent({
|
|
78
87
|
method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
@@ -81,7 +90,7 @@ const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
|
81
90
|
...payload,
|
|
82
91
|
},
|
|
83
92
|
})
|
|
84
|
-
.then(() =>
|
|
93
|
+
.then((event) => event);
|
|
85
94
|
};
|
|
86
95
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBOEQsTUFBTSxhQUFhLENBQUE7QUFFdEgsTUFBTSxhQUFhLEdBQStDLEVBQUUsQ0FBQTtBQUNwRSxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4QyxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQWMsRUFBRSxTQUFrQixFQUFrQixFQUFFO0lBQzdFLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxNQUFNO1lBQ04sU0FBUztTQUNWO0tBQ2dCLENBQUE7QUFDckIsQ0FBQyxDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLE9BQWEsRUFBRSxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUUzRCxPQUFPLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FBRyxRQUFRLEVBQUUsQ0FBQTtBQUMvQyxDQUFDLENBQUE7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBZ0MsRUFBRSxPQUE2QixFQUFFLEVBQUU7SUFDN0YsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRWhELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMs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
|
package/build/umd/index.js
CHANGED
|
@@ -1986,6 +1986,14 @@
|
|
|
1986
1986
|
|
|
1987
1987
|
const subscriptions = [];
|
|
1988
1988
|
let bridgeEventListenerInstalled = false;
|
|
1989
|
+
const composeResponse = (status, errorCode) => {
|
|
1990
|
+
return {
|
|
1991
|
+
payload: {
|
|
1992
|
+
status,
|
|
1993
|
+
errorCode
|
|
1994
|
+
},
|
|
1995
|
+
};
|
|
1996
|
+
};
|
|
1989
1997
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1990
1998
|
const getSubscriptionId = (eventType, payload) => {
|
|
1991
1999
|
const sourceId = payload?.id ? '-' + payload?.id : '';
|
|
@@ -2014,15 +2022,14 @@
|
|
|
2014
2022
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
2015
2023
|
*/
|
|
2016
2024
|
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
2017
|
-
const successResponse = { status: STATUS.SUCCESS };
|
|
2018
2025
|
// No need to subscribe event twice on client
|
|
2019
2026
|
if (isAnySubscriptions(eventType, payload)) {
|
|
2020
2027
|
const id = getSubscriptionId(eventType, payload);
|
|
2021
2028
|
subscriptions.push({ id, callback });
|
|
2022
|
-
return Promise.resolve(
|
|
2029
|
+
return Promise.resolve(composeResponse(STATUS.SUCCESS));
|
|
2023
2030
|
}
|
|
2024
2031
|
if (!bridge)
|
|
2025
|
-
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
2032
|
+
return Promise.reject(composeResponse(STATUS.ERROR, ERROR_CODES.NO_BRIDGE));
|
|
2026
2033
|
return bridge
|
|
2027
2034
|
.sendClientEvent({
|
|
2028
2035
|
method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
@@ -2031,11 +2038,14 @@
|
|
|
2031
2038
|
...payload,
|
|
2032
2039
|
},
|
|
2033
2040
|
})
|
|
2034
|
-
.then(() => {
|
|
2041
|
+
.then((event) => {
|
|
2042
|
+
const response = event;
|
|
2035
2043
|
const id = getSubscriptionId(eventType, payload);
|
|
2044
|
+
if (response.payload.status !== STATUS.SUCCESS)
|
|
2045
|
+
return response;
|
|
2036
2046
|
installBridgeEventListener();
|
|
2037
2047
|
subscriptions.push({ id, callback });
|
|
2038
|
-
return
|
|
2048
|
+
return response;
|
|
2039
2049
|
});
|
|
2040
2050
|
};
|
|
2041
2051
|
/**
|
|
@@ -2046,17 +2056,16 @@
|
|
|
2046
2056
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
2047
2057
|
*/
|
|
2048
2058
|
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
2049
|
-
const successResponse = { status: STATUS.SUCCESS };
|
|
2050
2059
|
const id = getSubscriptionId(eventType, payload);
|
|
2051
2060
|
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
2052
2061
|
if (!bridge)
|
|
2053
2062
|
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
2054
2063
|
if (index == -1)
|
|
2055
|
-
return Promise.
|
|
2064
|
+
return Promise.resolve(composeResponse(STATUS.ERROR, ERROR_CODES.SUBSCRIPTION_NOT_FOUND));
|
|
2056
2065
|
subscriptions.splice(index, 1);
|
|
2057
2066
|
// Send unsubscribe to client only at last subscription
|
|
2058
2067
|
if (isAnySubscriptions(eventType, payload))
|
|
2059
|
-
return Promise.resolve(
|
|
2068
|
+
return Promise.resolve(composeResponse(STATUS.SUCCESS));
|
|
2060
2069
|
return bridge
|
|
2061
2070
|
.sendClientEvent({
|
|
2062
2071
|
method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
@@ -2065,7 +2074,7 @@
|
|
|
2065
2074
|
...payload,
|
|
2066
2075
|
},
|
|
2067
2076
|
})
|
|
2068
|
-
.then(() =>
|
|
2077
|
+
.then((event) => event);
|
|
2069
2078
|
};
|
|
2070
2079
|
|
|
2071
2080
|
/**
|