@expressms/smartapp-sdk 1.2.9 → 1.3.2

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 (45) hide show
  1. package/build/main/index.d.ts +2 -2
  2. package/build/main/index.js +6 -2
  3. package/build/main/lib/client/events.d.ts +20 -0
  4. package/build/main/lib/client/events.js +78 -0
  5. package/build/main/lib/client/index.d.ts +18 -2
  6. package/build/main/lib/client/index.js +47 -2
  7. package/build/main/lib/contacts/index.d.ts +2 -1
  8. package/build/main/lib/contacts/index.js +1 -1
  9. package/build/main/lib/index.d.ts +4 -1
  10. package/build/main/lib/index.js +4 -1
  11. package/build/main/lib/logging/index.d.ts +2 -2
  12. package/build/main/lib/logging/index.js +6 -3
  13. package/build/main/lib/notification/index.d.ts +3 -0
  14. package/build/main/lib/notification/index.js +4 -1
  15. package/build/main/types/bridge.d.ts +15 -3
  16. package/build/main/types/bridge.js +16 -2
  17. package/build/main/types/client.d.ts +19 -0
  18. package/build/main/types/client.js +8 -0
  19. package/build/main/types/contacts.d.ts +2 -2
  20. package/build/main/types/index.d.ts +4 -2
  21. package/build/main/types/index.js +3 -1
  22. package/build/module/index.d.ts +2 -2
  23. package/build/module/index.js +3 -3
  24. package/build/module/lib/client/events.d.ts +20 -0
  25. package/build/module/lib/client/events.js +71 -0
  26. package/build/module/lib/client/index.d.ts +18 -2
  27. package/build/module/lib/client/index.js +32 -3
  28. package/build/module/lib/contacts/index.d.ts +2 -1
  29. package/build/module/lib/contacts/index.js +1 -1
  30. package/build/module/lib/index.d.ts +4 -1
  31. package/build/module/lib/index.js +6 -3
  32. package/build/module/lib/logging/index.d.ts +2 -2
  33. package/build/module/lib/logging/index.js +7 -4
  34. package/build/module/lib/notification/index.d.ts +3 -0
  35. package/build/module/lib/notification/index.js +6 -3
  36. package/build/module/lib/routing/index.js +1 -1
  37. package/build/module/types/bridge.d.ts +15 -3
  38. package/build/module/types/bridge.js +15 -1
  39. package/build/module/types/client.d.ts +19 -0
  40. package/build/module/types/client.js +5 -0
  41. package/build/module/types/contacts.d.ts +2 -2
  42. package/build/module/types/index.d.ts +4 -2
  43. package/build/module/types/index.js +5 -3
  44. package/build/umd/index.js +144 -871
  45. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
1
  import Bridge from '@expressms/smartapp-bridge';
2
- import { getChats, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand } from './lib/client';
2
+ import { createDeeplink, getChats, getConnectionStatus, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
3
3
  import { addContact, createPersonalChat, getContact, openContactCard, requestSelfProfile, sendMessage } from './lib/contacts';
4
4
  import { useQuery } from './lib/helpers/helpers';
5
5
  import { ready } from './lib/logging';
6
6
  import { onNotification } from './lib/notification';
7
7
  import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged } from './lib/routing';
8
- export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, };
8
+ export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, openFile, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, };
@@ -3,17 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.closeSmartApp = exports.requestSelfProfile = exports.openContactCard = exports.requestLocation = exports.onMoveToRoot = exports.openGroupChat = exports.sendBotCommand = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.useQuery = exports.exitSmartAppToCatalog = exports.openFile = exports.openSmartApp = exports.sendMessage = exports.onNotification = exports.createPersonalChat = exports.getContact = exports.addContact = exports.onBackPressed = exports.routingChanged = exports.ready = exports.Bridge = void 0;
6
+ exports.createDeeplink = exports.unsubscribeClientEvents = exports.subscribeClientEvents = exports.getConnectionStatus = exports.closeSmartApp = exports.requestSelfProfile = exports.openContactCard = exports.requestLocation = exports.onMoveToRoot = exports.openFile = exports.openGroupChat = exports.sendBotCommand = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.useQuery = exports.exitSmartAppToCatalog = exports.openSmartApp = exports.sendMessage = exports.onNotification = exports.createPersonalChat = exports.getContact = exports.addContact = exports.onBackPressed = exports.routingChanged = exports.ready = exports.Bridge = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  exports.Bridge = smartapp_bridge_1.default;
9
9
  const client_1 = require("./lib/client");
10
+ Object.defineProperty(exports, "createDeeplink", { enumerable: true, get: function () { return client_1.createDeeplink; } });
10
11
  Object.defineProperty(exports, "getChats", { enumerable: true, get: function () { return client_1.getChats; } });
12
+ Object.defineProperty(exports, "getConnectionStatus", { enumerable: true, get: function () { return client_1.getConnectionStatus; } });
11
13
  Object.defineProperty(exports, "openClientSettings", { enumerable: true, get: function () { return client_1.openClientSettings; } });
12
14
  Object.defineProperty(exports, "openFile", { enumerable: true, get: function () { return client_1.openFile; } });
13
15
  Object.defineProperty(exports, "openGroupChat", { enumerable: true, get: function () { return client_1.openGroupChat; } });
14
16
  Object.defineProperty(exports, "requestLocation", { enumerable: true, get: function () { return client_1.requestLocation; } });
15
17
  Object.defineProperty(exports, "searchCorporatePhonebook", { enumerable: true, get: function () { return client_1.searchCorporatePhonebook; } });
16
18
  Object.defineProperty(exports, "sendBotCommand", { enumerable: true, get: function () { return client_1.sendBotCommand; } });
19
+ Object.defineProperty(exports, "subscribeClientEvents", { enumerable: true, get: function () { return client_1.subscribeClientEvents; } });
20
+ Object.defineProperty(exports, "unsubscribeClientEvents", { enumerable: true, get: function () { return client_1.unsubscribeClientEvents; } });
17
21
  const contacts_1 = require("./lib/contacts");
18
22
  Object.defineProperty(exports, "addContact", { enumerable: true, get: function () { return contacts_1.addContact; } });
19
23
  Object.defineProperty(exports, "createPersonalChat", { enumerable: true, get: function () { return contacts_1.createPersonalChat; } });
@@ -34,4 +38,4 @@ Object.defineProperty(exports, "onBackPressed", { enumerable: true, get: functio
34
38
  Object.defineProperty(exports, "onMoveToRoot", { enumerable: true, get: function () { return routing_1.onMoveToRoot; } });
35
39
  Object.defineProperty(exports, "openSmartApp", { enumerable: true, get: function () { return routing_1.openSmartApp; } });
36
40
  Object.defineProperty(exports, "routingChanged", { enumerable: true, get: function () { return routing_1.routingChanged; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBK0I3QyxpQkEvQksseUJBQU0sQ0ErQkw7QUE5QlIseUNBUXFCO0FBb0NuQix5RkEzQ0EsaUJBQVEsT0EyQ0E7QUFEUixtR0F6Q0EsMkJBQWtCLE9BeUNBO0FBSGxCLHlGQXJDQSxpQkFBUSxPQXFDQTtBQU9SLDhGQTNDQSxzQkFBYSxPQTJDQTtBQUViLGdHQTVDQSx3QkFBZSxPQTRDQTtBQUpmLHlHQXZDQSxpQ0FBd0IsT0F1Q0E7QUFDeEIsK0ZBdkNBLHVCQUFjLE9BdUNBO0FBckNoQiw2Q0FPdUI7QUFrQnJCLDJGQXhCQSxxQkFBVSxPQXdCQTtBQUVWLG1HQXpCQSw2QkFBa0IsT0F5QkE7QUFEbEIsMkZBdkJBLHFCQUFVLE9BdUJBO0FBZVYsZ0dBckNBLDBCQUFlLE9BcUNBO0FBQ2YsbUdBckNBLDZCQUFrQixPQXFDQTtBQWJsQiw0RkF2QkEsc0JBQVcsT0F1QkE7QUFyQmIsbURBQThDO0FBeUI1Qyx5RkF6Qk0sa0JBQVEsT0F5Qk47QUF4QlYsMkNBQW1DO0FBYWpDLHNGQWJNLGVBQUssT0FhTjtBQVpQLHFEQUFpRDtBQWtCL0MsK0ZBbEJNLDZCQUFjLE9Ba0JOO0FBakJoQiwyQ0FPc0I7QUF5QnBCLDhGQS9CQSx1QkFBYSxPQStCQTtBQVhiLHNHQW5CQSwrQkFBcUIsT0FtQkE7QUFSckIsOEZBVkEsdUJBQWEsT0FVQTtBQWViLDZGQXhCQSxzQkFBWSxPQXdCQTtBQVRaLDZGQWRBLHNCQUFZLE9BY0E7QUFQWiwrRkFOQSx3QkFBYyxPQU1BIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBbUM3QyxpQkFuQ0sseUJBQU0sQ0FtQ0w7QUFsQ1IseUNBWXFCO0FBZ0RuQiwrRkEzREEsdUJBQWMsT0EyREE7QUFiZCx5RkE3Q0EsaUJBQVEsT0E2Q0E7QUFVUixvR0F0REEsNEJBQW1CLE9Bc0RBO0FBWG5CLG1HQTFDQSwyQkFBa0IsT0EwQ0E7QUFLbEIseUZBOUNBLGlCQUFRLE9BOENBO0FBRFIsOEZBNUNBLHNCQUFhLE9BNENBO0FBR2IsZ0dBOUNBLHdCQUFlLE9BOENBO0FBTGYseUdBeENBLGlDQUF3QixPQXdDQTtBQUN4QiwrRkF4Q0EsdUJBQWMsT0F3Q0E7QUFTZCxzR0FoREEsOEJBQXFCLE9BZ0RBO0FBQ3JCLHdHQWhEQSxnQ0FBdUIsT0FnREE7QUE5Q3pCLDZDQU91QjtBQWtCckIsMkZBeEJBLHFCQUFVLE9Bd0JBO0FBRVYsbUdBekJBLDZCQUFrQixPQXlCQTtBQURsQiwyRkF2QkEscUJBQVUsT0F1QkE7QUFlVixnR0FyQ0EsMEJBQWUsT0FxQ0E7QUFDZixtR0FyQ0EsNkJBQWtCLE9BcUNBO0FBYmxCLDRGQXZCQSxzQkFBVyxPQXVCQTtBQXJCYixtREFBZ0Q7QUF3QjlDLHlGQXhCTyxrQkFBUSxPQXdCUDtBQXZCViwyQ0FBcUM7QUFhbkMsc0ZBYk8sZUFBSyxPQWFQO0FBWlAscURBQW1EO0FBa0JqRCwrRkFsQk8sNkJBQWMsT0FrQlA7QUFqQmhCLDJDQU9zQjtBQXlCcEIsOEZBL0JBLHVCQUFhLE9BK0JBO0FBWmIsc0dBbEJBLCtCQUFxQixPQWtCQTtBQVByQiw4RkFWQSx1QkFBYSxPQVVBO0FBZWIsNkZBeEJBLHNCQUFZLE9Bd0JBO0FBVFosNkZBZEEsc0JBQVksT0FjQTtBQVBaLCtGQU5BLHdCQUFjLE9BTUEifQ==
@@ -0,0 +1,20 @@
1
+ import { SubscriptionEventType } from '../../types';
2
+ /**
3
+ * Subscribe to special client events
4
+ * @param eventType Event from SubscriptionEventType enum to be subscribed
5
+ * @param callback Function to be handled when event is coming
6
+ * @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
7
+ */
8
+ declare const subscribeClientEvents: (eventType: SubscriptionEventType, callback: Function) => Promise<{
9
+ status: string;
10
+ }>;
11
+ /**
12
+ * Unsubscribe from previously subscribed client events
13
+ * @param eventType Event from SubscriptionEventType enum to be unsubscribed
14
+ * @param callback Function to be unsibscribed
15
+ * @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
16
+ */
17
+ declare const unsubscribeClientEvents: (eventType: SubscriptionEventType, callback: Function) => Promise<{
18
+ status: string;
19
+ }>;
20
+ export { subscribeClientEvents, unsubscribeClientEvents };
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unsubscribeClientEvents = exports.subscribeClientEvents = void 0;
7
+ const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
+ const types_1 = require("../../types");
9
+ const subscriptions = [];
10
+ let bridgeEventListenerInstalled = false;
11
+ const isAnySubscriptionsOfType = (eventType) => {
12
+ return subscriptions.some(sub => sub.eventType == eventType);
13
+ };
14
+ const installBridgeEventListener = () => {
15
+ if (bridgeEventListenerInstalled || !smartapp_bridge_1.default)
16
+ return;
17
+ bridgeEventListenerInstalled = true;
18
+ smartapp_bridge_1.default.onReceive(event => {
19
+ subscriptions.filter(sub => sub.eventType === event.type).map(sub => sub.callback(event));
20
+ });
21
+ };
22
+ /**
23
+ * Subscribe to special client events
24
+ * @param eventType Event from SubscriptionEventType enum to be subscribed
25
+ * @param callback Function to be handled when event is coming
26
+ * @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
27
+ */
28
+ const subscribeClientEvents = (eventType, callback) => {
29
+ const successResponse = { status: types_1.STATUS.SUCCESS };
30
+ // No need to subscribe event twice on client
31
+ if (isAnySubscriptionsOfType(eventType)) {
32
+ subscriptions.push({ eventType, callback });
33
+ return Promise.resolve(successResponse);
34
+ }
35
+ if (!smartapp_bridge_1.default)
36
+ return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
37
+ return smartapp_bridge_1.default
38
+ .sendClientEvent({
39
+ method: types_1.METHODS.SUBSCRIBE_CLIENT_EVENTS,
40
+ params: {
41
+ event: eventType,
42
+ },
43
+ })
44
+ .then(() => {
45
+ installBridgeEventListener();
46
+ subscriptions.push({ eventType, callback });
47
+ return successResponse;
48
+ });
49
+ };
50
+ exports.subscribeClientEvents = subscribeClientEvents;
51
+ /**
52
+ * Unsubscribe from previously subscribed client events
53
+ * @param eventType Event from SubscriptionEventType enum to be unsubscribed
54
+ * @param callback Function to be unsibscribed
55
+ * @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
56
+ */
57
+ const unsubscribeClientEvents = (eventType, callback) => {
58
+ const successResponse = { status: types_1.STATUS.SUCCESS };
59
+ const index = subscriptions.findIndex(sub => sub.eventType == eventType && sub.callback == callback);
60
+ if (!smartapp_bridge_1.default)
61
+ return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
62
+ if (index == -1)
63
+ return Promise.reject(types_1.ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
64
+ subscriptions.splice(index, 1);
65
+ // Send unsubscribe to client only at last subscription
66
+ if (isAnySubscriptionsOfType(eventType))
67
+ return Promise.resolve(successResponse);
68
+ return smartapp_bridge_1.default
69
+ .sendClientEvent({
70
+ method: types_1.METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
71
+ params: {
72
+ event: eventType,
73
+ },
74
+ })
75
+ .then(() => successResponse);
76
+ };
77
+ exports.unsubscribeClientEvents = unsubscribeClientEvents;
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBaUY7QUFFakYsTUFBTSxhQUFhLEdBQW9FLEVBQUUsQ0FBQTtBQUN6RixJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4QyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBZ0MsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUE7QUFDOUQsQ0FBQyxDQUFBO0FBRUQsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsSUFBSSw0QkFBNEIsSUFBSSxDQUFDLHlCQUFNO1FBQUUsT0FBTTtJQUVuRCw0QkFBNEIsR0FBRyxJQUFJLENBQUE7SUFFbkMseUJBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUMzRixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFNBQWdDLEVBQUUsUUFBa0IsRUFBK0IsRUFBRTtJQUNsSCxNQUFNLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxjQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFbEQsNkNBQTZDO0lBQzdDLElBQUksd0JBQXdCLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDdkMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtLQUN4QztJQUVELElBQUksQ0FBQyx5QkFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRXpELE9BQU8seUJBQU07U0FDVixlQUFlLENBQUM7UUFDZixNQUFNLEVBQUUsZUFBTyxDQUFDLHVCQUF1QjtRQUN2QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1QsMEJBQTBCLEVBQUUsQ0FBQTtRQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDM0MsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUErQlEsc0RBQXFCO0FBN0I5Qjs7Ozs7R0FLRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLFFBQWtCLEVBQStCLEVBQUU7SUFDcEgsTUFBTSxlQUFlLEdBQUcsRUFBRSxNQUFNLEVBQUUsY0FBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRWxELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLFNBQVMsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFBO0lBRXBHLElBQUksQ0FBQyx5QkFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3pELElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBVyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFFMUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFOUIsdURBQXVEO0lBQ3ZELElBQUksd0JBQXdCLENBQUMsU0FBUyxDQUFDO1FBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBRWhGLE9BQU8seUJBQU07U0FDVixlQUFlLENBQUM7UUFDZixNQUFNLEVBQUUsZUFBTyxDQUFDLHlCQUF5QjtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRStCLDBEQUF1QiJ9
@@ -1,4 +1,5 @@
1
- import { File } from '../../types';
1
+ import { CreateDeeplinkResponse, File, GetConnectionStatusResponse } from '../../types';
2
+ export * from './events';
2
3
  declare const openClientSettings: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
3
4
  declare const getChats: ({ filter }: {
4
5
  filter: string | null;
@@ -18,4 +19,19 @@ declare const sendBotCommand: ({ userHuid, body, data, }: {
18
19
  } | null;
19
20
  }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
20
21
  declare const requestLocation: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
21
- export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation };
22
+ /**
23
+ * Get client current connection status. It's based on client's WebSocket connection state.
24
+ * @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
25
+ */
26
+ declare const getConnectionStatus: () => Promise<GetConnectionStatusResponse>;
27
+ /**
28
+ * Create deeplink URL to open SmartApp
29
+ * @param appId ID of SmartApp
30
+ * @param meta Array of params to be included in deeplink
31
+ * @returns Promise that'll be fullfilled with deeplink data on success, otherwise rejected with reason
32
+ */
33
+ declare const createDeeplink: (appId: string, meta: Array<{
34
+ key: string;
35
+ value: null | boolean | string | number;
36
+ }>) => Promise<CreateDeeplinkResponse>;
37
+ export { openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, openFile, getConnectionStatus, createDeeplink, };
@@ -1,11 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
5
19
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.requestLocation = exports.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.openFile = void 0;
20
+ exports.createDeeplink = exports.getConnectionStatus = exports.openFile = exports.requestLocation = exports.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = void 0;
7
21
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
22
  const types_1 = require("../../types");
23
+ __exportStar(require("./events"), exports);
9
24
  const openClientSettings = () => {
10
25
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
11
26
  method: types_1.METHODS.OPEN_CLIENT_SETTINGS,
@@ -63,4 +78,34 @@ const requestLocation = () => {
63
78
  });
64
79
  };
65
80
  exports.requestLocation = requestLocation;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQTJDO0FBRTNDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWdFQyxnREFBa0I7QUE5RHBCLE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBQyxNQUFNLEdBQUcsSUFBSSxFQUE0QixFQUFFLEVBQUU7SUFDOUQsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMERDLDRCQUFRO0FBeERWLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUFDLE1BQU0sR0FBRyxJQUFJLEVBQTRCLEVBQUUsRUFBRTtJQUM5RSxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQywwQkFBMEI7UUFDMUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFDO0tBQ2pCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQW9EQyw0REFBd0I7QUFsRDFCLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBQyxXQUFXLEVBQTBCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFDLFdBQVcsRUFBQztLQUN0QixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUE4Q0Msc0NBQWE7QUE1Q2YsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUM5QixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxTQUFTO1FBQ3pCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBbUNDLDRCQUFRO0FBakNWLE1BQU0sY0FBYyxHQUFHLENBQ25CLEVBQ0UsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEdBS0wsRUFDSCxFQUFFO0lBQ0YsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTTtJQUVwQyxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxnQkFBZ0I7UUFDaEMsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxJQUFJO2dCQUNKLElBQUk7YUFDTDtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBZUMsd0NBQWM7QUFiaEIsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLGdCQUFnQjtRQUNoQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQVNDLDBDQUFlIn0=
81
+ /**
82
+ * Get client current connection status. It's based on client's WebSocket connection state.
83
+ * @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
84
+ */
85
+ const getConnectionStatus = async () => {
86
+ if (!smartapp_bridge_1.default)
87
+ return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
88
+ const response = await smartapp_bridge_1.default.sendClientEvent({
89
+ method: types_1.METHODS.GET_CONNECTION_STATUS,
90
+ params: {},
91
+ });
92
+ return response;
93
+ };
94
+ exports.getConnectionStatus = getConnectionStatus;
95
+ /**
96
+ * Create deeplink URL to open SmartApp
97
+ * @param appId ID of SmartApp
98
+ * @param meta Array of params to be included in deeplink
99
+ * @returns Promise that'll be fullfilled with deeplink data on success, otherwise rejected with reason
100
+ */
101
+ const createDeeplink = async (appId, meta) => {
102
+ if (!smartapp_bridge_1.default)
103
+ return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
104
+ const response = await smartapp_bridge_1.default.sendClientEvent({
105
+ method: types_1.METHODS.CREATE_DEEPLINK,
106
+ params: { appId, meta },
107
+ });
108
+ return response;
109
+ };
110
+ exports.createDeeplink = createDeeplink;
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBNkc7QUFFN0csMkNBQXdCO0FBRXhCLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWlHQyxnREFBa0I7QUEvRnBCLE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUE2QixFQUFFLEVBQUU7SUFDaEUsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUU7S0FDbkIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMkZDLDRCQUFRO0FBekZWLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQTZCLEVBQUUsRUFBRTtJQUNoRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQywwQkFBMEI7UUFDMUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFO0tBQ25CLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXFGQyw0REFBd0I7QUFuRjFCLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQTJCLEVBQUUsRUFBRTtJQUNqRSxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFFLFdBQVcsRUFBRTtLQUN4QixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUErRUMsc0NBQWE7QUE3RWYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUM5QixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxTQUFTO1FBQ3pCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMkVDLDRCQUFRO0FBekVWLE1BQU0sY0FBYyxHQUFHLENBQ3JCLEVBQ0UsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEdBS0wsRUFBRSxFQUFFO0lBQ0wsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTTtJQUVwQyxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxnQkFBZ0I7UUFDaEMsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxJQUFJO2dCQUNKLElBQUk7YUFDTDtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBaURDLHdDQUFjO0FBL0NoQixNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsZ0JBQWdCO1FBQ2hDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMkNDLDBDQUFlO0FBekNqQjs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssSUFBMEMsRUFBRTtJQUMzRSxJQUFJLENBQUMseUJBQU07UUFBRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUV6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLHlCQUFNLENBQUMsZUFBZSxDQUFDO1FBQzVDLE1BQU0sRUFBRSxlQUFPLENBQUMscUJBQXFCO1FBQ3JDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQyxDQUFBO0lBRUYsT0FBTyxRQUF1QyxDQUFBO0FBQ2hELENBQUMsQ0FBQTtBQThCQyxrREFBbUI7QUE1QnJCOzs7OztHQUtHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUMxQixLQUFhLEVBQ2IsSUFBcUUsRUFDcEMsRUFBRTtJQUNuQyxJQUFJLENBQUMseUJBQU07UUFBRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUV6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLHlCQUFNLENBQUMsZUFBZSxDQUFDO1FBQzVDLE1BQU0sRUFBRSxlQUFPLENBQUMsZUFBZTtRQUMvQixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLE9BQU8sUUFBa0MsQ0FBQTtBQUMzQyxDQUFDLENBQUE7QUFXQyx3Q0FBYyJ9
@@ -1,4 +1,5 @@
1
- import { RequestSelfProfileResponse, SendMessageMethodParams } from '../../types/contacts';
1
+ import { RequestSelfProfileResponse } from '../../types';
2
+ import { SendMessageMethodParams } from '../../types/contacts';
2
3
  declare const addContact: ({ phone, name }: {
3
4
  phone: string;
4
5
  name: string;
@@ -60,4 +60,4 @@ const requestSelfProfile = () => {
60
60
  });
61
61
  };
62
62
  exports.requestSelfProfile = requestSelfProfile;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBcUM7QUFHckMsTUFBTSxVQUFVLEdBQUcsQ0FDZixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQW1DLEVBQ2xELEVBQUU7SUFDRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxXQUFXO1FBQzNCLE1BQU0sRUFBRTtZQUNOLEtBQUs7WUFDTCxJQUFJO1NBQ0w7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzREMsZ0NBQVU7QUFwRFosTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFxQixFQUFFLEVBQUU7SUFDeEQsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsV0FBVztRQUMzQixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUU7S0FDbEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBZ0RDLGdDQUFVO0FBOUNaLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBb0IsRUFBRSxFQUFFO0lBQ3hELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUU7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMENDLGdEQUFrQjtBQXhDcEIsTUFBTSxXQUFXLEdBQUcsQ0FDaEIsRUFDRSxRQUFRLEdBQUcsSUFBSSxFQUNmLFdBQVcsR0FBRyxJQUFJLEVBQ2xCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLFdBQVcsR0FBRyxFQUFFLEdBQ1EsRUFDNUIsRUFBRTtJQUNGLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLFlBQVk7UUFDNUIsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLFdBQVc7WUFDWCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUksRUFBRSxXQUFXO2FBQ2xCO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzQkMsa0NBQVc7QUFwQmIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBd0IsRUFBRSxFQUFFO0lBQzdELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTTtJQUVyQixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxpQkFBaUI7UUFDakMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWNDLDBDQUFlO0FBWmpCLE1BQU0sa0JBQWtCLEdBQUcsR0FBZ0MsRUFBRTtJQUMzRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUErQixDQUFBO0FBQ2xDLENBQUMsQ0FBQTtBQVFDLGdEQUFrQiJ9
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBaUU7QUFHakUsTUFBTSxVQUFVLEdBQUcsQ0FDakIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFtQyxFQUNoRCxFQUFFO0lBQ0YsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsV0FBVztRQUMzQixNQUFNLEVBQUU7WUFDTixLQUFLO1lBQ0wsSUFBSTtTQUNMO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBc0RDLGdDQUFVO0FBcERaLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBcUIsRUFBRSxFQUFFO0lBQ3hELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLFdBQVc7UUFDM0IsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFO0tBQ2xCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWdEQyxnQ0FBVTtBQTlDWixNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFBRSxJQUFJLEVBQW9CLEVBQUUsRUFBRTtJQUN4RCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFO0tBQ2pCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQTBDQyxnREFBa0I7QUF4Q3BCLE1BQU0sV0FBVyxHQUFHLENBQ2xCLEVBQ0UsUUFBUSxHQUFHLElBQUksRUFDZixXQUFXLEdBQUcsSUFBSSxFQUNsQixXQUFXLEdBQUcsRUFBRSxFQUNoQixXQUFXLEdBQUcsRUFBRSxHQUNRLEVBQzFCLEVBQUU7SUFDRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxZQUFZO1FBQzVCLE1BQU0sRUFBRTtZQUNOLFFBQVE7WUFDUixXQUFXO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsV0FBVzthQUNsQjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBc0JDLGtDQUFXO0FBcEJiLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQXdCLEVBQUUsRUFBRTtJQUM3RCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU07SUFFckIsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsaUJBQWlCO1FBQ2pDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRTtLQUNyQixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFjQywwQ0FBZTtBQVpqQixNQUFNLGtCQUFrQixHQUFHLEdBQWdDLEVBQUU7SUFDM0QsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsb0JBQW9CO1FBQ3BDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBK0IsQ0FBQTtBQUNsQyxDQUFDLENBQUE7QUFRQyxnREFBa0IifQ==
@@ -1,2 +1,5 @@
1
- declare const bridgeSendReady: (timeout?: number) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
1
+ /**
2
+ * @param timeout
3
+ */
4
+ declare const bridgeSendReady: (timeout?: number | undefined) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
2
5
  export { bridgeSendReady, };
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.bridgeSendReady = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../types");
9
+ /**
10
+ * @param timeout
11
+ */
9
12
  const bridgeSendReady = (timeout) => {
10
13
  const event = {
11
14
  method: types_1.METHODS.READY,
@@ -14,4 +17,4 @@ const bridgeSendReady = (timeout) => {
14
17
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent(timeout ? Object.assign(Object.assign({}, event), { timeout }) : event);
15
18
  };
16
19
  exports.bridgeSendReady = bridgeSendReady;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyxvQ0FBa0M7QUFFbEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7SUFDM0MsTUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLEVBQUUsZUFBTyxDQUFDLEtBQUs7UUFDckIsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFBO0lBQ0QsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlDQUFNLEtBQUssS0FBRSxPQUFPLElBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3pFLENBQUMsQ0FBQTtBQUdDLDBDQUFlIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyxvQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEtBQUssR0FBRztRQUNaLE1BQU0sRUFBRSxlQUFPLENBQUMsS0FBSztRQUNyQixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUE7SUFDRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsaUNBQU0sS0FBSyxLQUFFLE9BQU8sSUFBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDekUsQ0FBQyxDQUFBO0FBR0MsMENBQWUifQ==
@@ -1,3 +1,3 @@
1
- import { ReadyEventResponse } from "../../types";
2
- declare const ready: (timeout?: number) => Promise<ReadyEventResponse>;
1
+ import { ReadyEventResponse } from '../../types';
2
+ declare const ready: (timeout?: number | undefined) => Promise<ReadyEventResponse>;
3
3
  export { ready, };
@@ -5,14 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ready = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
+ const types_1 = require("../../types");
8
9
  const index_1 = require("../index");
9
10
  const ready = async (timeout) => {
10
- var _a, _b;
11
+ var _a, _b, _c;
11
12
  const response = await (0, index_1.bridgeSendReady)(timeout);
12
13
  const isLogsEnabled = (_a = response === null || response === void 0 ? void 0 : response.payload) === null || _a === void 0 ? void 0 : _a.logsEnabled;
14
+ if (!smartapp_bridge_1.default)
15
+ return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
13
16
  if (isLogsEnabled)
14
- (_b = smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.enableLogs) === null || _b === void 0 ? void 0 : _b.call(smartapp_bridge_1.default);
17
+ (_c = (_b = smartapp_bridge_1.default).enableLogs) === null || _c === void 0 ? void 0 : _c.call(_b);
15
18
  return response;
16
19
  };
17
20
  exports.ready = ready;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xvZ2dpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBRS9DLG9DQUEwQztBQUUxQyxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBZ0IsRUFBRSxFQUFFOztJQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdUJBQWUsRUFBQyxPQUFPLENBQXVCLENBQUE7SUFDckUsTUFBTSxhQUFhLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTywwQ0FBRSxXQUFXLENBQUE7SUFFcEQsSUFBSSxhQUFhO1FBQUUsTUFBQyx5QkFBYyxhQUFkLHlCQUFNLHVCQUFOLHlCQUFNLENBQVUsVUFBVSx5RUFBSSxDQUFBO0lBRWxELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMsQ0FBQTtBQUdDLHNCQUFLIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xvZ2dpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBQy9DLHVDQUE2RDtBQUM3RCxvQ0FBMEM7QUFFMUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQWdCLEVBQUUsRUFBRTs7SUFDdkMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHVCQUFlLEVBQUMsT0FBTyxDQUF1QixDQUFBO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE9BQU8sMENBQUUsV0FBVyxDQUFBO0lBRXBELElBQUksQ0FBQyx5QkFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRXpELElBQUksYUFBYTtRQUFFLE1BQUEsTUFBQyx5QkFBYyxFQUFDLFVBQVUsa0RBQUksQ0FBQTtJQUVqRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDLENBQUE7QUFHQyxzQkFBSyJ9
@@ -1,2 +1,5 @@
1
+ /**
2
+ * @param handleNotification
3
+ */
1
4
  declare const onNotification: (handleNotification: Function) => Promise<void | undefined>;
2
5
  export { onNotification, };
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.onNotification = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../../types");
9
+ /**
10
+ * @param handleNotification
11
+ */
9
12
  const onNotification = async (handleNotification) => {
10
13
  const response = await (smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
11
14
  method: types_1.METHODS.NOTIFICATION,
@@ -18,4 +21,4 @@ const onNotification = async (handleNotification) => {
18
21
  });
19
22
  };
20
23
  exports.onNotification = onNotification;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25vdGlmaWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQXFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxrQkFBNEIsRUFBRSxFQUFFO0lBQzVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQSx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdDLE1BQU0sRUFBRSxlQUFPLENBQUMsWUFBWTtRQUM1QixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQSxDQUFBO0lBRUYsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDdEMsSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLE1BQUssZUFBTyxDQUFDLFlBQVksRUFBRTtZQUN4QyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUM3QjtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBR0Msd0NBQWMifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25vdGlmaWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQXFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLGtCQUE0QixFQUFFLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFBLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0MsTUFBTSxFQUFFLGVBQU8sQ0FBQyxZQUFZO1FBQzVCLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQyxDQUFBLENBQUE7SUFFRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksTUFBSyxlQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQzdCO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFHQyx3Q0FBYyJ9
@@ -18,11 +18,23 @@ export declare enum METHODS {
18
18
  REQUEST_LOCATION = "request_location",
19
19
  REQUEST_SELF_PROFILE = "request_self_profile",
20
20
  CLOSE_SMART_APP = "close_smart_app",
21
- OPEN_FILE = "open_file"
21
+ OPEN_FILE = "open_file",
22
+ SUBSCRIBE_CLIENT_EVENTS = "subscribe_client_events",
23
+ UNSUBSCRIBE_CLIENT_EVENTS = "unsubscribe_client_events",
24
+ GET_CONNECTION_STATUS = "get_connection_status",
25
+ CREATE_DEEPLINK = "create_deeplink"
22
26
  }
23
- export type ReadyEventResponse = ({
27
+ export declare enum STATUS {
28
+ SUCCESS = "success",
29
+ ERROR = "error"
30
+ }
31
+ export declare enum ERROR_CODES {
32
+ NO_BRIDGE = "no_bridge",
33
+ SUBSCRIPTION_NOT_FOUND = "subscription_not_found"
34
+ }
35
+ export declare type ReadyEventResponse = ({
24
36
  ref: string;
25
- status: "success";
37
+ status: STATUS.SUCCESS;
26
38
  payload: {
27
39
  logsEnabled?: boolean;
28
40
  isMain?: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.METHODS = void 0;
3
+ exports.ERROR_CODES = exports.STATUS = exports.METHODS = void 0;
4
4
  var METHODS;
5
5
  (function (METHODS) {
6
6
  METHODS["READY"] = "ready";
@@ -23,5 +23,19 @@ var METHODS;
23
23
  METHODS["REQUEST_SELF_PROFILE"] = "request_self_profile";
24
24
  METHODS["CLOSE_SMART_APP"] = "close_smart_app";
25
25
  METHODS["OPEN_FILE"] = "open_file";
26
+ METHODS["SUBSCRIBE_CLIENT_EVENTS"] = "subscribe_client_events";
27
+ METHODS["UNSUBSCRIBE_CLIENT_EVENTS"] = "unsubscribe_client_events";
28
+ METHODS["GET_CONNECTION_STATUS"] = "get_connection_status";
29
+ METHODS["CREATE_DEEPLINK"] = "create_deeplink";
26
30
  })(METHODS = exports.METHODS || (exports.METHODS = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLE9BcUJYO0FBckJELFdBQVksT0FBTztJQUNqQiwwQkFBZSxDQUFBO0lBQ2YsOENBQW1DLENBQUE7SUFDbkMsd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0Isc0NBQTJCLENBQUE7SUFDM0Isc0NBQTJCLENBQUE7SUFDM0Isd0RBQTZDLENBQUE7SUFDN0Msd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0IsNENBQWlDLENBQUE7SUFDakMsd0RBQTZDLENBQUE7SUFDN0Msa0NBQXVCLENBQUE7SUFDdkIsb0VBQXlELENBQUE7SUFDekQsZ0RBQXFDLENBQUE7SUFDckMsOENBQW1DLENBQUE7SUFDbkMsa0RBQXVDLENBQUE7SUFDdkMsZ0RBQXFDLENBQUE7SUFDckMsd0RBQTZDLENBQUE7SUFDN0MsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQXJCVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFxQmxCIn0=
31
+ var STATUS;
32
+ (function (STATUS) {
33
+ STATUS["SUCCESS"] = "success";
34
+ STATUS["ERROR"] = "error";
35
+ })(STATUS = exports.STATUS || (exports.STATUS = {}));
36
+ var ERROR_CODES;
37
+ (function (ERROR_CODES) {
38
+ ERROR_CODES["NO_BRIDGE"] = "no_bridge";
39
+ ERROR_CODES["SUBSCRIPTION_NOT_FOUND"] = "subscription_not_found";
40
+ })(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLE9BeUJYO0FBekJELFdBQVksT0FBTztJQUNqQiwwQkFBZSxDQUFBO0lBQ2YsOENBQW1DLENBQUE7SUFDbkMsd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0Isc0NBQTJCLENBQUE7SUFDM0Isc0NBQTJCLENBQUE7SUFDM0Isd0RBQTZDLENBQUE7SUFDN0Msd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0IsNENBQWlDLENBQUE7SUFDakMsd0RBQTZDLENBQUE7SUFDN0Msa0NBQXVCLENBQUE7SUFDdkIsb0VBQXlELENBQUE7SUFDekQsZ0RBQXFDLENBQUE7SUFDckMsOENBQW1DLENBQUE7SUFDbkMsa0RBQXVDLENBQUE7SUFDdkMsZ0RBQXFDLENBQUE7SUFDckMsd0RBQTZDLENBQUE7SUFDN0MsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsOERBQW1ELENBQUE7SUFDbkQsa0VBQXVELENBQUE7SUFDdkQsMERBQStDLENBQUE7SUFDL0MsOENBQW1DLENBQUE7QUFDckMsQ0FBQyxFQXpCVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUF5QmxCO0FBRUQsSUFBWSxNQUdYO0FBSEQsV0FBWSxNQUFNO0lBQ2hCLDZCQUFtQixDQUFBO0lBQ25CLHlCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLE1BQU0sR0FBTixjQUFNLEtBQU4sY0FBTSxRQUdqQjtBQUVELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixzQ0FBdUIsQ0FBQTtJQUN2QixnRUFBaUQsQ0FBQTtBQUNuRCxDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEIifQ==
@@ -0,0 +1,19 @@
1
+ export declare enum SubscriptionEventType {
2
+ CONNECTION_STATUS = "connection_status"
3
+ }
4
+ export declare type GetConnectionStatusResponse = ({
5
+ ref: string;
6
+ payload: {
7
+ connectionStatus: 'connected' | 'disconnected';
8
+ };
9
+ });
10
+ export declare type CreateDeeplinkResponse = ({
11
+ ref: string;
12
+ payload: {
13
+ status: 'error' | 'success';
14
+ errorCode?: string;
15
+ data?: {
16
+ deeplink: string;
17
+ };
18
+ };
19
+ });
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscriptionEventType = void 0;
4
+ var SubscriptionEventType;
5
+ (function (SubscriptionEventType) {
6
+ SubscriptionEventType["CONNECTION_STATUS"] = "connection_status";
7
+ })(SubscriptionEventType = exports.SubscriptionEventType || (exports.SubscriptionEventType = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHFCQUVYO0FBRkQsV0FBWSxxQkFBcUI7SUFDL0IsZ0VBQXVDLENBQUE7QUFDekMsQ0FBQyxFQUZXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBRWhDIn0=
@@ -1,5 +1,5 @@
1
1
  import { EmitterEventPayload } from '@expressms/smartapp-bridge/build/main/types/eventEmitter';
2
- export type SendMessageMethodParams = ({
2
+ export declare type SendMessageMethodParams = ({
3
3
  userHuid: string | null;
4
4
  groupChatId: string | null;
5
5
  messageBody: string;
@@ -28,5 +28,5 @@ interface RequestSelfProfilePayload extends EmitterEventPayload {
28
28
  otherIpPhone: string | null;
29
29
  };
30
30
  }
31
- export type RequestSelfProfileResponse = Promise<RequestSelfProfilePayload> | undefined;
31
+ export declare type RequestSelfProfileResponse = Promise<RequestSelfProfilePayload> | undefined;
32
32
  export {};
@@ -1,2 +1,4 @@
1
- export * from "./bridge";
2
- export * from "./routing";
1
+ export * from './bridge';
2
+ export * from './routing';
3
+ export * from './contacts';
4
+ export * from './client';
@@ -16,4 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./bridge"), exports);
18
18
  __exportStar(require("./routing"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QjtBQUN4Qiw0Q0FBeUIifQ==
19
+ __exportStar(require("./contacts"), exports);
20
+ __exportStar(require("./client"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QjtBQUN4Qiw0Q0FBeUI7QUFDekIsNkNBQTBCO0FBQzFCLDJDQUF3QiJ9
@@ -1,8 +1,8 @@
1
1
  import Bridge from '@expressms/smartapp-bridge';
2
- import { getChats, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand } from './lib/client';
2
+ import { createDeeplink, getChats, getConnectionStatus, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
3
3
  import { addContact, createPersonalChat, getContact, openContactCard, requestSelfProfile, sendMessage } from './lib/contacts';
4
4
  import { useQuery } from './lib/helpers/helpers';
5
5
  import { ready } from './lib/logging';
6
6
  import { onNotification } from './lib/notification';
7
7
  import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged } from './lib/routing';
8
- export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, };
8
+ export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, openFile, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, };
@@ -1,9 +1,9 @@
1
1
  import Bridge from '@expressms/smartapp-bridge';
2
- import { getChats, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand, } from './lib/client';
2
+ import { createDeeplink, getChats, getConnectionStatus, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents, } from './lib/client';
3
3
  import { addContact, createPersonalChat, getContact, openContactCard, requestSelfProfile, sendMessage, } from './lib/contacts';
4
4
  import { useQuery } from './lib/helpers/helpers';
5
5
  import { ready } from './lib/logging';
6
6
  import { onNotification } from './lib/notification';
7
7
  import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged, } from './lib/routing';
8
- export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUE7QUFDL0MsT0FBTyxFQUNMLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLGNBQWMsR0FDZixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixXQUFXLEdBQ1osTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUE7QUFDOUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUE7QUFDakQsT0FBTyxFQUNMLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUNSLHFCQUFxQixFQUNyQixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osZUFBZSxFQUNmLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsYUFBYSxHQUNkLENBQUEifQ==
8
+ export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, openFile, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUE7QUFDL0MsT0FBTyxFQUNMLGNBQWMsRUFDZCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsYUFBYSxFQUNiLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQix1QkFBdUIsR0FDeEIsTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUNMLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ25ELE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFVBQVUsRUFDVixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLGFBQWEsRUFDYixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixjQUFjLEdBQ2YsQ0FBQSJ9
@@ -0,0 +1,20 @@
1
+ import { SubscriptionEventType } from '../../types';
2
+ /**
3
+ * Subscribe to special client events
4
+ * @param eventType Event from SubscriptionEventType enum to be subscribed
5
+ * @param callback Function to be handled when event is coming
6
+ * @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
7
+ */
8
+ declare const subscribeClientEvents: (eventType: SubscriptionEventType, callback: Function) => Promise<{
9
+ status: string;
10
+ }>;
11
+ /**
12
+ * Unsubscribe from previously subscribed client events
13
+ * @param eventType Event from SubscriptionEventType enum to be unsubscribed
14
+ * @param callback Function to be unsibscribed
15
+ * @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
16
+ */
17
+ declare const unsubscribeClientEvents: (eventType: SubscriptionEventType, callback: Function) => Promise<{
18
+ status: string;
19
+ }>;
20
+ export { subscribeClientEvents, unsubscribeClientEvents };
@@ -0,0 +1,71 @@
1
+ import bridge from '@expressms/smartapp-bridge';
2
+ import { ERROR_CODES, METHODS, STATUS } from '../../types';
3
+ const subscriptions = [];
4
+ let bridgeEventListenerInstalled = false;
5
+ const isAnySubscriptionsOfType = (eventType) => {
6
+ return subscriptions.some(sub => sub.eventType == eventType);
7
+ };
8
+ const installBridgeEventListener = () => {
9
+ if (bridgeEventListenerInstalled || !bridge)
10
+ return;
11
+ bridgeEventListenerInstalled = true;
12
+ bridge.onReceive(event => {
13
+ subscriptions.filter(sub => sub.eventType === event.type).map(sub => sub.callback(event));
14
+ });
15
+ };
16
+ /**
17
+ * Subscribe to special client events
18
+ * @param eventType Event from SubscriptionEventType enum to be subscribed
19
+ * @param callback Function to be handled when event is coming
20
+ * @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
21
+ */
22
+ const subscribeClientEvents = (eventType, callback) => {
23
+ const successResponse = { status: STATUS.SUCCESS };
24
+ // No need to subscribe event twice on client
25
+ if (isAnySubscriptionsOfType(eventType)) {
26
+ subscriptions.push({ eventType, callback });
27
+ return Promise.resolve(successResponse);
28
+ }
29
+ if (!bridge)
30
+ return Promise.reject(ERROR_CODES.NO_BRIDGE);
31
+ return bridge
32
+ .sendClientEvent({
33
+ method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
34
+ params: {
35
+ event: eventType,
36
+ },
37
+ })
38
+ .then(() => {
39
+ installBridgeEventListener();
40
+ subscriptions.push({ eventType, callback });
41
+ return successResponse;
42
+ });
43
+ };
44
+ /**
45
+ * Unsubscribe from previously subscribed client events
46
+ * @param eventType Event from SubscriptionEventType enum to be unsubscribed
47
+ * @param callback Function to be unsibscribed
48
+ * @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
49
+ */
50
+ const unsubscribeClientEvents = (eventType, callback) => {
51
+ const successResponse = { status: STATUS.SUCCESS };
52
+ const index = subscriptions.findIndex(sub => sub.eventType == eventType && sub.callback == callback);
53
+ if (!bridge)
54
+ return Promise.reject(ERROR_CODES.NO_BRIDGE);
55
+ if (index == -1)
56
+ return Promise.reject(ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
57
+ subscriptions.splice(index, 1);
58
+ // Send unsubscribe to client only at last subscription
59
+ if (isAnySubscriptionsOfType(eventType))
60
+ return Promise.resolve(successResponse);
61
+ return bridge
62
+ .sendClientEvent({
63
+ method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
64
+ params: {
65
+ event: eventType,
66
+ },
67
+ })
68
+ .then(() => successResponse);
69
+ };
70
+ export { subscribeClientEvents, unsubscribeClientEvents };
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBeUIsTUFBTSxhQUFhLENBQUE7QUFFakYsTUFBTSxhQUFhLEdBQW9FLEVBQUUsQ0FBQTtBQUN6RixJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4QyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBZ0MsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUE7QUFDOUQsQ0FBQyxDQUFBO0FBRUQsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsSUFBSSw0QkFBNEIsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFNO0lBRW5ELDRCQUE0QixHQUFHLElBQUksQ0FBQTtJQUVuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDM0YsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLFFBQWtCLEVBQStCLEVBQUU7SUFDbEgsTUFBTSxlQUFlLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRWxELDZDQUE2QztJQUM3QyxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3ZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7S0FDeEM7SUFFRCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFekQsT0FBTyxNQUFNO1NBQ1YsZUFBZSxDQUFDO1FBQ2YsTUFBTSxFQUFFLE9BQU8sQ0FBQyx1QkFBdUI7UUFDdkMsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLFNBQVM7U0FDakI7S0FDRixDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNULDBCQUEwQixFQUFFLENBQUE7UUFDNUIsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLE9BQU8sZUFBZSxDQUFBO0lBQ3hCLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsU0FBZ0MsRUFBRSxRQUFrQixFQUErQixFQUFFO0lBQ3BILE1BQU0sZUFBZSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUVsRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxTQUFTLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQTtJQUVwRyxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDekQsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBRTFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRTlCLHVEQUF1RDtJQUN2RCxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUVoRixPQUFPLE1BQU07U0FDVixlQUFlLENBQUM7UUFDZixNQUFNLEVBQUUsT0FBTyxDQUFDLHlCQUF5QjtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUEifQ==