airdcpp-apisocket 2.4.5-beta.1 → 2.5.0-beta.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.
Files changed (99) hide show
  1. package/GUIDE.md +1 -1
  2. package/README.md +3 -2
  3. package/dist/ApiConstants.d.ts +6 -6
  4. package/dist/ApiConstants.js +7 -7
  5. package/dist/NodeSocket.d.ts +4 -4
  6. package/dist/NodeSocket.js +24 -24
  7. package/dist/Promise.d.ts +8 -8
  8. package/dist/Promise.js +26 -26
  9. package/dist/PublicHelpers.d.ts +2 -2
  10. package/dist/PublicHelpers.js +94 -99
  11. package/dist/PublicHelpers.js.map +1 -1
  12. package/dist/SocketBase.d.ts +4 -4
  13. package/dist/SocketBase.js +351 -343
  14. package/dist/SocketBase.js.map +1 -1
  15. package/dist/SocketLogger.d.ts +9 -9
  16. package/dist/SocketLogger.js +74 -74
  17. package/dist/SocketLogger.js.map +1 -1
  18. package/dist/SocketRequestHandler.d.ts +14 -14
  19. package/dist/SocketRequestHandler.js +168 -162
  20. package/dist/SocketRequestHandler.js.map +1 -1
  21. package/dist/SocketSubscriptionHandler.d.ts +11 -11
  22. package/dist/SocketSubscriptionHandler.js +161 -158
  23. package/dist/SocketSubscriptionHandler.js.map +1 -1
  24. package/dist/types/api.d.ts +30 -30
  25. package/dist/types/api.js +3 -3
  26. package/dist/types/api_internal.d.ts +24 -24
  27. package/dist/types/api_internal.js +2 -2
  28. package/dist/types/index.d.ts +7 -7
  29. package/dist/types/index.js +23 -23
  30. package/dist/types/logger.d.ts +6 -6
  31. package/dist/types/logger.js +2 -2
  32. package/dist/types/options.d.ts +31 -31
  33. package/dist/types/options.js +3 -3
  34. package/dist/types/public_helpers.d.ts +19 -14
  35. package/dist/types/public_helpers.js +2 -2
  36. package/dist/types/public_helpers_internal.d.ts +27 -25
  37. package/dist/types/public_helpers_internal.js +2 -2
  38. package/dist/types/requests.d.ts +14 -14
  39. package/dist/types/requests.js +2 -2
  40. package/dist/types/socket.d.ts +23 -23
  41. package/dist/types/socket.js +2 -2
  42. package/dist/types/subscriptions.d.ts +20 -20
  43. package/dist/types/subscriptions.js +2 -2
  44. package/dist/utils.d.ts +2 -2
  45. package/dist/utils.js +15 -15
  46. package/dist-es/ApiConstants.d.ts +6 -6
  47. package/dist-es/ApiConstants.js +5 -5
  48. package/dist-es/NodeSocket.d.ts +4 -4
  49. package/dist-es/NodeSocket.js +4 -4
  50. package/dist-es/Promise.d.ts +8 -8
  51. package/dist-es/Promise.js +24 -24
  52. package/dist-es/PublicHelpers.d.ts +2 -2
  53. package/dist-es/PublicHelpers.js +90 -95
  54. package/dist-es/PublicHelpers.js.map +1 -1
  55. package/dist-es/SocketBase.d.ts +4 -4
  56. package/dist-es/SocketBase.js +346 -338
  57. package/dist-es/SocketBase.js.map +1 -1
  58. package/dist-es/SocketLogger.d.ts +9 -9
  59. package/dist-es/SocketLogger.js +68 -68
  60. package/dist-es/SocketLogger.js.map +1 -1
  61. package/dist-es/SocketRequestHandler.d.ts +14 -14
  62. package/dist-es/SocketRequestHandler.js +163 -157
  63. package/dist-es/SocketRequestHandler.js.map +1 -1
  64. package/dist-es/SocketSubscriptionHandler.d.ts +11 -11
  65. package/dist-es/SocketSubscriptionHandler.js +156 -153
  66. package/dist-es/SocketSubscriptionHandler.js.map +1 -1
  67. package/dist-es/types/api.d.ts +30 -30
  68. package/dist-es/types/api.js +2 -2
  69. package/dist-es/types/api_internal.d.ts +24 -24
  70. package/dist-es/types/api_internal.js +1 -1
  71. package/dist-es/types/index.d.ts +7 -7
  72. package/dist-es/types/index.js +7 -7
  73. package/dist-es/types/logger.d.ts +6 -6
  74. package/dist-es/types/logger.js +1 -1
  75. package/dist-es/types/options.d.ts +31 -31
  76. package/dist-es/types/options.js +2 -2
  77. package/dist-es/types/public_helpers.d.ts +19 -14
  78. package/dist-es/types/public_helpers.js +1 -1
  79. package/dist-es/types/public_helpers_internal.d.ts +27 -25
  80. package/dist-es/types/public_helpers_internal.js +1 -1
  81. package/dist-es/types/requests.d.ts +14 -14
  82. package/dist-es/types/requests.js +1 -1
  83. package/dist-es/types/socket.d.ts +23 -23
  84. package/dist-es/types/socket.js +1 -1
  85. package/dist-es/types/subscriptions.d.ts +20 -20
  86. package/dist-es/types/subscriptions.js +1 -1
  87. package/dist-es/utils.d.ts +2 -2
  88. package/dist-es/utils.js +11 -11
  89. package/jest.config.js +0 -3
  90. package/package.json +4 -4
  91. package/src/PublicHelpers.ts +10 -9
  92. package/src/SocketLogger.ts +1 -1
  93. package/src/SocketRequestHandler.ts +2 -2
  94. package/src/tests/Socket.test.ts +4 -9
  95. package/src/tests/helpers.ts +7 -2
  96. package/src/tests/public_helpers.test.ts +4 -4
  97. package/src/types/public_helpers.ts +7 -1
  98. package/src/types/public_helpers_internal.ts +3 -1
  99. package/tsconfig.json +2 -3
@@ -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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"}
@@ -1,9 +1,9 @@
1
- import * as Options from './types/options.js';
2
- import { Logger } from './types/logger.js';
3
- export declare const LOG_NONE = "none";
4
- export declare const LOG_ERROR = "error";
5
- export declare const LOG_WARN = "warn";
6
- export declare const LOG_INFO = "info";
7
- export declare const LOG_VERBOSE = "verbose";
8
- declare const Logger: ({ logLevel: logSetting, logOutput }: Options.LoggerOptions) => Logger;
9
- export default Logger;
1
+ import * as Options from './types/options.js';
2
+ import { Logger } from './types/logger.js';
3
+ export declare const LOG_NONE = "none";
4
+ export declare const LOG_ERROR = "error";
5
+ export declare const LOG_WARN = "warn";
6
+ export declare const LOG_INFO = "info";
7
+ export declare const LOG_VERBOSE = "verbose";
8
+ declare const Logger: ({ logLevel: logSetting, logOutput }: Options.LoggerOptions) => Logger;
9
+ export default Logger;
@@ -1,75 +1,75 @@
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.LOG_VERBOSE = exports.LOG_INFO = exports.LOG_WARN = exports.LOG_ERROR = exports.LOG_NONE = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- // @ts-ignore
9
- const is_in_browser_1 = require("is-in-browser");
10
- const invariant_1 = __importDefault(require("invariant"));
11
- exports.LOG_NONE = 'none';
12
- exports.LOG_ERROR = 'error';
13
- exports.LOG_WARN = 'warn';
14
- exports.LOG_INFO = 'info';
15
- exports.LOG_VERBOSE = 'verbose';
16
- const Severities = {
17
- [exports.LOG_NONE]: -1,
18
- [exports.LOG_ERROR]: 0,
19
- [exports.LOG_WARN]: 1,
20
- [exports.LOG_INFO]: 2,
21
- [exports.LOG_VERBOSE]: 3,
22
- };
23
- // Should we format the line with timestamp and coloring or let the logger implementation to handle it?
24
- // Do this when running in terminal (node.js/tests in browser env)
25
- const shouldFormatLine = is_in_browser_1.isJsDom || !is_in_browser_1.isBrowser;
26
- const Logger = ({ logLevel: logSetting = exports.LOG_VERBOSE, logOutput = console }) => {
27
- const logLevel = Severities[logSetting];
28
- (0, invariant_1.default)(
29
- // @ts-ignore: This condition will always return true since the function is always defined
30
- logOutput.log && logOutput.info && logOutput.warn && logOutput.error, 'Invalid logOutput provided');
31
- const formatCurrentTime = () => {
32
- const d = new Date();
33
- return `[${d.toLocaleDateString()} ${d.toLocaleTimeString()}:${d.getMilliseconds()}]`;
34
- };
35
- const print = (args, printHandler, argFormat) => {
36
- let printableArgs = [...Array.prototype.slice.call(args)];
37
- if (shouldFormatLine && argFormat) {
38
- // Add the current time as well
39
- printableArgs = [
40
- chalk_1.default.magenta(formatCurrentTime()),
41
- ...printableArgs.map(arg => argFormat(typeof arg === 'object' ? JSON.stringify(arg, null, ' ') : arg)),
42
- ];
43
- }
44
- printHandler.apply(logOutput, printableArgs);
45
- };
46
- const Impl = {
47
- verbose() {
48
- if (logLevel < Severities[exports.LOG_VERBOSE]) {
49
- return;
50
- }
51
- print(arguments, logOutput.log, chalk_1.default.gray);
52
- },
53
- info() {
54
- if (logLevel < Severities[exports.LOG_INFO]) {
55
- return;
56
- }
57
- print(arguments, logOutput.info, chalk_1.default.white.bold);
58
- },
59
- warn() {
60
- if (logLevel < Severities[exports.LOG_WARN]) {
61
- return;
62
- }
63
- print(arguments, logOutput.warn, chalk_1.default.yellow.bold);
64
- },
65
- error() {
66
- if (logLevel < Severities[exports.LOG_ERROR]) {
67
- return;
68
- }
69
- print(arguments, logOutput.error, chalk_1.default.red.bold);
70
- },
71
- };
72
- return Impl;
73
- };
74
- exports.default = Logger;
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.LOG_VERBOSE = exports.LOG_INFO = exports.LOG_WARN = exports.LOG_ERROR = exports.LOG_NONE = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ // @ts-ignore
9
+ const is_in_browser_1 = require("is-in-browser");
10
+ const invariant_1 = __importDefault(require("invariant"));
11
+ exports.LOG_NONE = 'none';
12
+ exports.LOG_ERROR = 'error';
13
+ exports.LOG_WARN = 'warn';
14
+ exports.LOG_INFO = 'info';
15
+ exports.LOG_VERBOSE = 'verbose';
16
+ const Severities = {
17
+ [exports.LOG_NONE]: -1,
18
+ [exports.LOG_ERROR]: 0,
19
+ [exports.LOG_WARN]: 1,
20
+ [exports.LOG_INFO]: 2,
21
+ [exports.LOG_VERBOSE]: 3,
22
+ };
23
+ // Should we format the line with timestamp and coloring or let the logger implementation to handle it?
24
+ // Do this when running in terminal (node.js/tests in browser env)
25
+ const shouldFormatLine = is_in_browser_1.isJsDom || !is_in_browser_1.isBrowser;
26
+ const Logger = ({ logLevel: logSetting = exports.LOG_VERBOSE, logOutput = console }) => {
27
+ const logLevel = Severities[logSetting];
28
+ (0, invariant_1.default)(
29
+ // @ts-ignore: This condition will always return true since the function is always defined
30
+ logOutput.log && logOutput.info && logOutput.warn && logOutput.error, 'Invalid logOutput provided');
31
+ const formatCurrentTime = () => {
32
+ const d = new Date();
33
+ return `[${d.toLocaleDateString()} ${d.toLocaleTimeString()}:${d.getMilliseconds()}]`;
34
+ };
35
+ const print = (args, printHandler, argFormat) => {
36
+ let printableArgs = [...Array.prototype.slice.call(args)];
37
+ if (shouldFormatLine && argFormat) {
38
+ // Add the current time as well
39
+ printableArgs = [
40
+ chalk_1.default.magenta(formatCurrentTime()),
41
+ ...printableArgs.map(arg => argFormat(typeof arg === 'object' ? JSON.stringify(arg, null, ' ') : arg)),
42
+ ];
43
+ }
44
+ printHandler.apply(logOutput, printableArgs);
45
+ };
46
+ const Impl = {
47
+ verbose() {
48
+ if (logLevel < Severities[exports.LOG_VERBOSE]) {
49
+ return;
50
+ }
51
+ print(arguments, logOutput.log, chalk_1.default.gray);
52
+ },
53
+ info() {
54
+ if (logLevel < Severities[exports.LOG_INFO]) {
55
+ return;
56
+ }
57
+ print(arguments, logOutput.info, chalk_1.default.white.bold);
58
+ },
59
+ warn() {
60
+ if (logLevel < Severities[exports.LOG_WARN]) {
61
+ return;
62
+ }
63
+ print(arguments, logOutput.warn, chalk_1.default.yellow.bold);
64
+ },
65
+ error() {
66
+ if (logLevel < Severities[exports.LOG_ERROR]) {
67
+ return;
68
+ }
69
+ print(arguments, logOutput.error, chalk_1.default.red.bold);
70
+ },
71
+ };
72
+ return Impl;
73
+ };
74
+ exports.default = Logger;
75
75
  //# sourceMappingURL=SocketLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketLogger.js","sourceRoot":"","sources":["../src/SocketLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SocketLogger.js","sourceRoot":"","sources":["../src/SocketLogger.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import * as API from './types/api.js';
2
- import * as APIInternal from './types/api_internal.js';
3
- import * as Options from './types/options.js';
4
- import * as Socket from './types/socket.js';
5
- import { Logger } from './types/logger.js';
6
- import { SocketRequestMethods } from './types/requests.js';
7
- declare const SocketRequestHandler: (socket: () => Socket.APISocket, logger: Logger, { requestTimeout, ignoredRequestPaths }: Options.SocketRequestOptions) => {
8
- socket: SocketRequestMethods;
9
- onSocketConnected(): void;
10
- onSocketDisconnected(): void;
11
- handleMessage(messageObj: APIInternal.RequestSuccessResponse | APIInternal.RequestErrorResponse): void;
12
- postAuthenticate(path: string, data: API.TokenAuthenticationData | API.CredentialsAuthenticationData | API.RefreshTokenAuthenticationData): Promise<any>;
13
- };
14
- export default SocketRequestHandler;
1
+ import * as API from './types/api.js';
2
+ import * as APIInternal from './types/api_internal.js';
3
+ import * as Options from './types/options.js';
4
+ import * as Socket from './types/socket.js';
5
+ import { Logger } from './types/logger.js';
6
+ import { SocketRequestMethods } from './types/requests.js';
7
+ declare const SocketRequestHandler: (socket: () => Socket.APISocket, logger: Logger, { requestTimeout, ignoredRequestPaths }: Options.SocketRequestOptions) => {
8
+ socket: SocketRequestMethods;
9
+ onSocketConnected(): void;
10
+ onSocketDisconnected(): void;
11
+ handleMessage(messageObj: APIInternal.RequestSuccessResponse | APIInternal.RequestErrorResponse): void;
12
+ postAuthenticate(path: string, data: API.TokenAuthenticationData | API.CredentialsAuthenticationData | API.RefreshTokenAuthenticationData): Promise<any>;
13
+ };
14
+ export default SocketRequestHandler;
@@ -1,163 +1,169 @@
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
- const chalk_1 = __importDefault(require("chalk"));
7
- const invariant_1 = __importDefault(require("invariant"));
8
- const Promise_js_1 = __importDefault(require("./Promise.js"));
9
- const utils_js_1 = require("./utils.js");
10
- const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequestPaths }) => {
11
- let callbacks = {};
12
- let currentCallbackId = 0;
13
- let timeoutReportInterval;
14
- // Internal
15
- // This creates a new callback ID for a request
16
- const getCallbackId = () => {
17
- if (currentCallbackId > 100000) {
18
- currentCallbackId = 0;
19
- }
20
- currentCallbackId += 1;
21
- return currentCallbackId;
22
- };
23
- const filterPassword = (data) => {
24
- if (!data || !data.hasOwnProperty('password')) {
25
- return data;
26
- }
27
- return Object.assign(Object.assign({}, data), { password: '(hidden)' });
28
- };
29
- const sendRequest = (method, path, data, authenticating = false) => {
30
- // Pre-checks
31
- if (!authenticating && !socket().isConnected()) {
32
- logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
33
- return Promise_js_1.default.reject('Not authorized');
34
- }
35
- if (!socket().nativeSocket) {
36
- logger.warn(`Attempting to send request without a socket: ${path}`);
37
- return Promise_js_1.default.reject('No socket');
38
- }
39
- const callbackId = getCallbackId();
40
- // Reporting
41
- (0, invariant_1.default)(path, 'Attempting socket request without a path');
42
- const ignored = (0, utils_js_1.eventIgnored)(path, ignoredRequestPaths);
43
- if (!ignored) {
44
- logger.verbose(chalk_1.default.white.bold(callbackId.toString()), method, path, data ? filterPassword(data) : '(no data)');
45
- }
46
- // Callback
47
- const resolver = Promise_js_1.default.pending();
48
- callbacks[callbackId] = {
49
- time: Date.now(),
50
- resolver,
51
- ignored,
52
- };
53
- // Actual request
54
- const request = {
55
- path,
56
- method,
57
- data,
58
- callback_id: callbackId,
59
- };
60
- socket().nativeSocket.send(JSON.stringify(request));
61
- return resolver.promise;
62
- };
63
- // Report timed out requests
64
- // This is more about spotting backend issues, such as frozen threads and dropped responses
65
- // The socket itself should handle actual connection issues
66
- const reportTimeouts = () => {
67
- const now = Date.now();
68
- Object.keys(callbacks).forEach(callbackId => {
69
- const request = callbacks[callbackId];
70
- if (request.time + (requestTimeout * 1000) < now) {
71
- logger.warn(`Request ${callbackId} timed out`);
72
- }
73
- });
74
- };
75
- const cancelPendingRequests = (message = 'Request cancelled') => {
76
- Object.keys(callbacks)
77
- .forEach(id => {
78
- logger.verbose(`Canceling a pending request ${id} (${message})`);
79
- const cb = callbacks[id];
80
- cb.resolver.reject(message);
81
- });
82
- callbacks = {};
83
- };
84
- // Public
85
- const RequestsPublic = {
86
- put: (path, data) => {
87
- return sendRequest('PUT', path, data);
88
- },
89
- patch: (path, data) => {
90
- return sendRequest('PATCH', path, data);
91
- },
92
- post: (path, data) => {
93
- return sendRequest('POST', path, data);
94
- },
95
- delete: (path) => {
96
- //invariant(!data, 'No data is allowed for delete command');
97
- return sendRequest('DELETE', path);
98
- },
99
- get: (path) => {
100
- //invariant(!data, 'No data is allowed for get command');
101
- return sendRequest('GET', path);
102
- },
103
- getPendingRequestCount: () => {
104
- return Object.keys(callbacks).length;
105
- },
106
- };
107
- Object.assign(RequestsPublic, {
108
- reportRequestTimeouts: reportTimeouts, // internal method for testing
109
- });
110
- const formatFieldError = (error) => {
111
- return error.field && error.code ? `${error.field} (${error.code})` : '';
112
- };
113
- // Shared for the socket
114
- const RequestsInternal = {
115
- onSocketConnected() {
116
- timeoutReportInterval = setInterval(reportTimeouts, 30000);
117
- },
118
- onSocketDisconnected() {
119
- // Clear callbacks
120
- cancelPendingRequests('Socket disconnected');
121
- clearTimeout(timeoutReportInterval);
122
- },
123
- handleMessage(messageObj) {
124
- const id = messageObj.callback_id;
125
- if (!callbacks.hasOwnProperty(id)) {
126
- logger.warn('No pending request for an API response', id, messageObj);
127
- return;
128
- }
129
- if (messageObj.code >= 200 && messageObj.code <= 204) {
130
- const { data } = messageObj;
131
- if (!callbacks[id].ignored) {
132
- logger.verbose(chalk_1.default.green(id.toString()), 'SUCCEEDED', data ? data : '(no data)');
133
- }
134
- callbacks[id].resolver.resolve(data);
135
- }
136
- else {
137
- const errorMessageObj = messageObj;
138
- if (!errorMessageObj.error) {
139
- // API should always return an error message but this isn't always the case
140
- // (e.g. https://github.com/airdcpp/airdcpp-windows/commit/596b31a9c8c4e72f6c9279972a40ea30f10798c4)
141
- logger.warn('Error message missing from the response (this is an API bug that should be reported)', id, messageObj);
142
- }
143
- const { code } = errorMessageObj;
144
- const error = errorMessageObj.error || {
145
- message: '(no error description)'
146
- };
147
- logger.warn(id, code, error.message, formatFieldError(error));
148
- callbacks[id].resolver.reject({
149
- message: error.message,
150
- code,
151
- json: error
152
- });
153
- }
154
- delete callbacks[id];
155
- },
156
- postAuthenticate(path, data) {
157
- return sendRequest('POST', path, data, true);
158
- },
159
- };
160
- return Object.assign(Object.assign({}, RequestsInternal), { socket: RequestsPublic });
161
- };
162
- exports.default = SocketRequestHandler;
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
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const invariant_1 = __importDefault(require("invariant"));
8
+ const Promise_js_1 = __importDefault(require("./Promise.js"));
9
+ const utils_js_1 = require("./utils.js");
10
+ const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequestPaths }) => {
11
+ let callbacks = {};
12
+ let currentCallbackId = 0;
13
+ let timeoutReportInterval;
14
+ // Internal
15
+ // This creates a new callback ID for a request
16
+ const getCallbackId = () => {
17
+ if (currentCallbackId > 100000) {
18
+ currentCallbackId = 0;
19
+ }
20
+ currentCallbackId += 1;
21
+ return currentCallbackId;
22
+ };
23
+ const filterPassword = (data) => {
24
+ if (!data || !data.hasOwnProperty('password')) {
25
+ return data;
26
+ }
27
+ return {
28
+ ...data,
29
+ password: '(hidden)',
30
+ };
31
+ };
32
+ const sendRequest = (method, path, data, authenticating = false) => {
33
+ // Pre-checks
34
+ if (!authenticating && !socket().isConnected()) {
35
+ logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
36
+ return Promise_js_1.default.reject('Not authorized');
37
+ }
38
+ if (!socket().nativeSocket) {
39
+ logger.warn(`Attempting to send request without a socket: ${path}`);
40
+ return Promise_js_1.default.reject('No socket');
41
+ }
42
+ const callbackId = getCallbackId();
43
+ // Reporting
44
+ (0, invariant_1.default)(path, 'Attempting socket request without a path');
45
+ const ignored = (0, utils_js_1.eventIgnored)(path, ignoredRequestPaths);
46
+ if (!ignored) {
47
+ logger.verbose(chalk_1.default.white.bold(callbackId.toString()), method, path, data ? filterPassword(data) : '(no data)');
48
+ }
49
+ // Callback
50
+ const resolver = Promise_js_1.default.pending();
51
+ callbacks[callbackId.toString()] = {
52
+ time: Date.now(),
53
+ resolver,
54
+ ignored,
55
+ };
56
+ // Actual request
57
+ const request = {
58
+ path,
59
+ method,
60
+ data,
61
+ callback_id: callbackId,
62
+ };
63
+ socket().nativeSocket.send(JSON.stringify(request));
64
+ return resolver.promise;
65
+ };
66
+ // Report timed out requests
67
+ // This is more about spotting backend issues, such as frozen threads and dropped responses
68
+ // The socket itself should handle actual connection issues
69
+ const reportTimeouts = () => {
70
+ const now = Date.now();
71
+ Object.keys(callbacks).forEach(callbackId => {
72
+ const request = callbacks[callbackId];
73
+ if (request.time + (requestTimeout * 1000) < now) {
74
+ logger.warn(`Request ${callbackId} timed out`);
75
+ }
76
+ });
77
+ };
78
+ const cancelPendingRequests = (message = 'Request cancelled') => {
79
+ Object.keys(callbacks)
80
+ .forEach(id => {
81
+ logger.verbose(`Canceling a pending request ${id} (${message})`);
82
+ const cb = callbacks[id];
83
+ cb.resolver.reject(message);
84
+ });
85
+ callbacks = {};
86
+ };
87
+ // Public
88
+ const RequestsPublic = {
89
+ put: (path, data) => {
90
+ return sendRequest('PUT', path, data);
91
+ },
92
+ patch: (path, data) => {
93
+ return sendRequest('PATCH', path, data);
94
+ },
95
+ post: (path, data) => {
96
+ return sendRequest('POST', path, data);
97
+ },
98
+ delete: (path) => {
99
+ //invariant(!data, 'No data is allowed for delete command');
100
+ return sendRequest('DELETE', path);
101
+ },
102
+ get: (path) => {
103
+ //invariant(!data, 'No data is allowed for get command');
104
+ return sendRequest('GET', path);
105
+ },
106
+ getPendingRequestCount: () => {
107
+ return Object.keys(callbacks).length;
108
+ },
109
+ };
110
+ Object.assign(RequestsPublic, {
111
+ reportRequestTimeouts: reportTimeouts, // internal method for testing
112
+ });
113
+ const formatFieldError = (error) => {
114
+ return error.field && error.code ? `${error.field} (${error.code})` : '';
115
+ };
116
+ // Shared for the socket
117
+ const RequestsInternal = {
118
+ onSocketConnected() {
119
+ timeoutReportInterval = setInterval(reportTimeouts, 30000);
120
+ },
121
+ onSocketDisconnected() {
122
+ // Clear callbacks
123
+ cancelPendingRequests('Socket disconnected');
124
+ clearTimeout(timeoutReportInterval);
125
+ },
126
+ handleMessage(messageObj) {
127
+ const id = messageObj.callback_id;
128
+ if (!callbacks.hasOwnProperty(id)) {
129
+ logger.warn('No pending request for an API response', id, messageObj);
130
+ return;
131
+ }
132
+ if (messageObj.code >= 200 && messageObj.code <= 204) {
133
+ const { data } = messageObj;
134
+ if (!callbacks[id].ignored) {
135
+ logger.verbose(chalk_1.default.green(id.toString()), 'SUCCEEDED', data ? data : '(no data)');
136
+ }
137
+ callbacks[id].resolver.resolve(data);
138
+ }
139
+ else {
140
+ const errorMessageObj = messageObj;
141
+ if (!errorMessageObj.error) {
142
+ // API should always return an error message but this isn't always the case
143
+ // (e.g. https://github.com/airdcpp/airdcpp-windows/commit/596b31a9c8c4e72f6c9279972a40ea30f10798c4)
144
+ logger.warn('Error message missing from the response (this is an API bug that should be reported)', id, messageObj);
145
+ }
146
+ const { code } = errorMessageObj;
147
+ const error = errorMessageObj.error || {
148
+ message: '(no error description)'
149
+ };
150
+ logger.warn(id, code, error.message, formatFieldError(error));
151
+ callbacks[id].resolver.reject({
152
+ message: error.message,
153
+ code,
154
+ json: error
155
+ });
156
+ }
157
+ delete callbacks[id];
158
+ },
159
+ postAuthenticate(path, data) {
160
+ return sendRequest('POST', path, data, true);
161
+ },
162
+ };
163
+ return {
164
+ ...RequestsInternal,
165
+ socket: RequestsPublic,
166
+ };
167
+ };
168
+ exports.default = SocketRequestHandler;
163
169
  //# sourceMappingURL=SocketRequestHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,0DAAkC;AAClC,8DAAsD;AAEtD,yCAA0C;AAiB1C,MAAM,oBAAoB,GAAG,CAC3B,MAA8B,EAC9B,MAAc,EACd,EAAE,cAAc,GAAG,EAAE,EAAE,mBAAmB,EAAgC,EAC1E,EAAE;IAEF,IAAI,SAAS,GAAgC,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,IAAI,qBAA0B,CAAC;IAE/B,WAAW;IAEX,+CAA+C;IAC/C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,iBAAiB,GAAG,MAAM,EAAE;YAC9B,iBAAiB,GAAG,CAAC,CAAC;SACvB;QAED,iBAAiB,IAAI,CAAC,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAsB,EAAE;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,uCACK,IAAI,KACP,QAAQ,EAAE,UAAU,IACpB;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,iBAA0B,KAAK,EAC3E,EAAE;QACF,aAAa;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,6DAA6D,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,oBAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,oBAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,YAAY;QACZ,IAAA,mBAAS,EAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,CAAC,OAAO,CACZ,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EACvC,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1C,CAAC;SACH;QAED,WAAW;QACX,MAAM,QAAQ,GAAG,oBAAO,CAAC,OAAO,EAAE,CAAC;QAEnC,SAAS,CAAC,UAAU,CAAC,GAAG;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,QAAQ;YACR,OAAO;SACR,CAAC;QAEF,iBAAiB;QACjB,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,WAAW,EAAE,UAAU;SACO,CAAC;QAEjC,MAAM,EAAE,CAAC,YAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,CAAC;IAEF,4BAA4B;IAC5B,2FAA2F;IAC3F,2DAA2D;IAC3D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;gBAChD,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,YAAY,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,mBAAmB,EAAE,EAAE;QACtE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,OAAO,CAAC,EAAE,CAAC,EAAE;YACZ,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,KAAK,OAAO,GAAG,CAAC,CAAC;YAEjE,MAAM,EAAE,GAAa,SAAS,CAAC,EAAE,CAAC,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEL,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,SAAS;IACT,MAAM,cAAc,GAAyB;QAC3C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAClB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAG,CAAC;QAC1C,CAAC;QAED,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACpB,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAG,CAAC;QAC5C,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACnB,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,4DAA4D;YAC5D,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACZ,yDAAyD;YACzD,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,sBAAsB,EAAE,GAAG,EAAE;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACvC,CAAC;KACF,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;QAC5B,qBAAqB,EAAE,cAAc,EAAE,8BAA8B;KACtE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAE,EAAE;QACjD,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC,CAAC;IAEF,wBAAwB;IACxB,MAAM,gBAAgB,GAAG;QACvB,iBAAiB;YACf,qBAAqB,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,oBAAoB;YAClB,kBAAkB;YAClB,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;YAE7C,YAAY,CAAC,qBAAqB,CAAC,CAAC;QACtC,CAAC;QAED,aAAa,CAAC,UAAiF;YAC7F,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO;aACR;YAED,IAAI,UAAU,CAAC,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE;gBACpD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAgD,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC1B,MAAM,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iBACpF;gBAED,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACtC;iBAAM;gBACL,MAAM,eAAe,GAAG,UAA8C,CAAC;gBAEvE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;oBAC1B,2EAA2E;oBAC3E,oGAAoG;oBACpG,MAAM,CAAC,IAAI,CACT,sFAAsF,EACtF,EAAE,EACF,UAAU,CACX,CAAC;iBACH;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;gBACjC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI;oBACrC,OAAO,EAAE,wBAAwB;iBAClC,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAuB,CAAC,CAAC,CAAC;gBAChF,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI;oBACJ,IAAI,EAAE,KAAK;iBACK,CAAC,CAAC;aACrB;YAED,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,gBAAgB,CACd,IAAY,EACZ,IAA0G;YAE1G,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;IAEF,uCACK,gBAAgB,KACnB,MAAM,EAAE,cAAc,IACtB;AACJ,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,0DAAkC;AAClC,8DAAsD;AAEtD,yCAA0C;AAiB1C,MAAM,oBAAoB,GAAG,CAC3B,MAA8B,EAC9B,MAAc,EACd,EAAE,cAAc,GAAG,EAAE,EAAE,mBAAmB,EAAgC,EAC1E,EAAE;IAEF,IAAI,SAAS,GAA6B,EAAE,CAAC;IAC7C,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,IAAI,qBAA0B,CAAC;IAE/B,WAAW;IAEX,+CAA+C;IAC/C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,iBAAiB,GAAG,MAAM,EAAE;YAC9B,iBAAiB,GAAG,CAAC,CAAC;SACvB;QAED,iBAAiB,IAAI,CAAC,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAsB,EAAE;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,UAAU;SACrB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,iBAA0B,KAAK,EAC3E,EAAE;QACF,aAAa;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,6DAA6D,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,oBAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,oBAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,YAAY;QACZ,IAAA,mBAAS,EAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,CAAC,OAAO,CACZ,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EACvC,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1C,CAAC;SACH;QAED,WAAW;QACX,MAAM,QAAQ,GAAG,oBAAO,CAAC,OAAO,EAAE,CAAC;QAEnC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG;YACjC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,QAAQ;YACR,OAAO;SACR,CAAC;QAEF,iBAAiB;QACjB,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,WAAW,EAAE,UAAU;SACO,CAAC;QAEjC,MAAM,EAAE,CAAC,YAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,CAAC;IAEF,4BAA4B;IAC5B,2FAA2F;IAC3F,2DAA2D;IAC3D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;gBAChD,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,YAAY,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,mBAAmB,EAAE,EAAE;QACtE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,OAAO,CAAC,EAAE,CAAC,EAAE;YACZ,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,KAAK,OAAO,GAAG,CAAC,CAAC;YAEjE,MAAM,EAAE,GAAa,SAAS,CAAC,EAAE,CAAC,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEL,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,SAAS;IACT,MAAM,cAAc,GAAyB;QAC3C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAClB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAG,CAAC;QAC1C,CAAC;QAED,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACpB,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAG,CAAC;QAC5C,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACnB,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,4DAA4D;YAC5D,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACZ,yDAAyD;YACzD,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,sBAAsB,EAAE,GAAG,EAAE;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACvC,CAAC;KACF,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;QAC5B,qBAAqB,EAAE,cAAc,EAAE,8BAA8B;KACtE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAE,EAAE;QACjD,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC,CAAC;IAEF,wBAAwB;IACxB,MAAM,gBAAgB,GAAG;QACvB,iBAAiB;YACf,qBAAqB,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,oBAAoB;YAClB,kBAAkB;YAClB,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;YAE7C,YAAY,CAAC,qBAAqB,CAAC,CAAC;QACtC,CAAC;QAED,aAAa,CAAC,UAAiF;YAC7F,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO;aACR;YAED,IAAI,UAAU,CAAC,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE;gBACpD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAgD,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC1B,MAAM,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iBACpF;gBAED,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACtC;iBAAM;gBACL,MAAM,eAAe,GAAG,UAA8C,CAAC;gBAEvE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;oBAC1B,2EAA2E;oBAC3E,oGAAoG;oBACpG,MAAM,CAAC,IAAI,CACT,sFAAsF,EACtF,EAAE,EACF,UAAU,CACX,CAAC;iBACH;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;gBACjC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI;oBACrC,OAAO,EAAE,wBAAwB;iBAClC,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAuB,CAAC,CAAC,CAAC;gBAChF,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI;oBACJ,IAAI,EAAE,KAAK;iBACK,CAAC,CAAC;aACrB;YAED,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,gBAAgB,CACd,IAAY,EACZ,IAA0G;YAE1G,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;IAEF,OAAO;QACL,GAAG,gBAAgB;QACnB,MAAM,EAAE,cAAc;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}