@intuitionrobotics/ts-common 0.47.59 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -0
- package/README.md +3 -0
- package/{consts → dist/consts}/consts.d.ts +1 -0
- package/dist/consts/consts.d.ts.map +1 -0
- package/{consts → dist/consts}/consts.js +1 -4
- package/dist/consts/consts.js.map +1 -0
- package/{core → dist/core}/application.d.ts +2 -1
- package/dist/core/application.d.ts.map +1 -0
- package/{core → dist/core}/application.js +10 -12
- package/dist/core/application.js.map +1 -0
- package/{core → dist/core}/debug-flags.d.ts +1 -0
- package/dist/core/debug-flags.d.ts.map +1 -0
- package/{core → dist/core}/debug-flags.js +10 -14
- package/dist/core/debug-flags.js.map +1 -0
- package/{core → dist/core}/dispatcher.d.ts +2 -1
- package/dist/core/dispatcher.d.ts.map +1 -0
- package/dist/core/dispatcher.js +21 -0
- package/dist/core/dispatcher.js.map +1 -0
- package/{core → dist/core}/error-handling.d.ts +2 -1
- package/dist/core/error-handling.d.ts.map +1 -0
- package/dist/core/error-handling.js +18 -0
- package/dist/core/error-handling.js.map +1 -0
- package/{core → dist/core}/exceptions.d.ts +8 -3
- package/dist/core/exceptions.d.ts.map +1 -0
- package/{core → dist/core}/exceptions.js +16 -25
- package/dist/core/exceptions.js.map +1 -0
- package/{core → dist/core}/logger/BeLogged.d.ts +3 -2
- package/dist/core/logger/BeLogged.d.ts.map +1 -0
- package/{core → dist/core}/logger/BeLogged.js +7 -10
- package/dist/core/logger/BeLogged.js.map +1 -0
- package/{core → dist/core}/logger/LogClient.d.ts +2 -1
- package/dist/core/logger/LogClient.d.ts.map +1 -0
- package/{core → dist/core}/logger/LogClient.js +15 -23
- package/dist/core/logger/LogClient.js.map +1 -0
- package/{core → dist/core}/logger/LogClient_BaseRotate.d.ts +3 -2
- package/dist/core/logger/LogClient_BaseRotate.d.ts.map +1 -0
- package/{core → dist/core}/logger/LogClient_BaseRotate.js +11 -11
- package/dist/core/logger/LogClient_BaseRotate.js.map +1 -0
- package/{core → dist/core}/logger/LogClient_Browser.d.ts +4 -3
- package/dist/core/logger/LogClient_Browser.d.ts.map +1 -0
- package/{core → dist/core}/logger/LogClient_Browser.js +10 -13
- package/dist/core/logger/LogClient_Browser.js.map +1 -0
- package/{core → dist/core}/logger/LogClient_Function.d.ts +3 -2
- package/dist/core/logger/LogClient_Function.d.ts.map +1 -0
- package/{core → dist/core}/logger/LogClient_Function.js +7 -9
- package/dist/core/logger/LogClient_Function.js.map +1 -0
- package/{core → dist/core}/logger/LogClient_MemBuffer.d.ts +2 -1
- package/dist/core/logger/LogClient_MemBuffer.d.ts.map +1 -0
- package/dist/core/logger/LogClient_MemBuffer.js +19 -0
- package/dist/core/logger/LogClient_MemBuffer.js.map +1 -0
- package/{core → dist/core}/logger/LogClient_Terminal.d.ts +3 -2
- package/dist/core/logger/LogClient_Terminal.d.ts.map +1 -0
- package/{core → dist/core}/logger/LogClient_Terminal.js +13 -16
- package/dist/core/logger/LogClient_Terminal.js.map +1 -0
- package/{core → dist/core}/logger/Logger.d.ts +3 -2
- package/dist/core/logger/Logger.d.ts.map +1 -0
- package/{core → dist/core}/logger/Logger.js +24 -26
- package/dist/core/logger/Logger.js.map +1 -0
- package/{core → dist/core}/logger/types.d.ts +1 -0
- package/dist/core/logger/types.d.ts.map +1 -0
- package/{core → dist/core}/logger/types.js +3 -6
- package/dist/core/logger/types.js.map +1 -0
- package/{core → dist/core}/logger/utils.d.ts +2 -1
- package/dist/core/logger/utils.d.ts.map +1 -0
- package/{core → dist/core}/logger/utils.js +11 -16
- package/dist/core/logger/utils.js.map +1 -0
- package/{core → dist/core}/module-manager.d.ts +4 -3
- package/dist/core/module-manager.d.ts.map +1 -0
- package/{core → dist/core}/module-manager.js +17 -18
- package/dist/core/module-manager.js.map +1 -0
- package/{core → dist/core}/module.d.ts +5 -4
- package/dist/core/module.d.ts.map +1 -0
- package/{core → dist/core}/module.js +31 -31
- package/dist/core/module.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/{modules → dist/modules}/CliParamsModule.d.ts +3 -2
- package/dist/modules/CliParamsModule.d.ts.map +1 -0
- package/dist/modules/CliParamsModule.js +54 -0
- package/dist/modules/CliParamsModule.js.map +1 -0
- package/{permissions → dist/permissions}/permission-group.d.ts +1 -0
- package/dist/permissions/permission-group.d.ts.map +1 -0
- package/{permissions → dist/permissions}/permission-group.js +8 -8
- package/dist/permissions/permission-group.js.map +1 -0
- package/{testing → dist/testing}/test-model.d.ts +1 -0
- package/dist/testing/test-model.d.ts.map +1 -0
- package/dist/testing/test-model.js +62 -0
- package/dist/testing/test-model.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/{utils → dist/utils}/array-tools.d.ts +1 -0
- package/dist/utils/array-tools.d.ts.map +1 -0
- package/dist/utils/array-tools.js +116 -0
- package/dist/utils/array-tools.js.map +1 -0
- package/{utils → dist/utils}/crypto-tools.d.ts +1 -0
- package/dist/utils/crypto-tools.d.ts.map +1 -0
- package/dist/utils/crypto-tools.js +13 -0
- package/dist/utils/crypto-tools.js.map +1 -0
- package/{utils → dist/utils}/date-time-tools.d.ts +2 -1
- package/dist/utils/date-time-tools.d.ts.map +1 -0
- package/dist/utils/date-time-tools.js +86 -0
- package/dist/utils/date-time-tools.js.map +1 -0
- package/{utils → dist/utils}/filter-tools.d.ts +1 -0
- package/dist/utils/filter-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/filter-tools.js +6 -9
- package/dist/utils/filter-tools.js.map +1 -0
- package/{utils → dist/utils}/hash-tools.d.ts +1 -0
- package/dist/utils/hash-tools.d.ts.map +1 -0
- package/dist/utils/hash-tools.js +50 -0
- package/dist/utils/hash-tools.js.map +1 -0
- package/{utils → dist/utils}/merge-tools.d.ts +1 -0
- package/dist/utils/merge-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/merge-tools.js +8 -13
- package/dist/utils/merge-tools.js.map +1 -0
- package/{utils → dist/utils}/object-tools.d.ts +1 -0
- package/dist/utils/object-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/object-tools.js +11 -21
- package/dist/utils/object-tools.js.map +1 -0
- package/{utils → dist/utils}/queue.d.ts +2 -1
- package/dist/utils/queue.d.ts.map +1 -0
- package/dist/utils/queue.js +69 -0
- package/dist/utils/queue.js.map +1 -0
- package/{utils → dist/utils}/random-tools.d.ts +1 -0
- package/dist/utils/random-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/random-tools.js +4 -8
- package/dist/utils/random-tools.js.map +1 -0
- package/{utils → dist/utils}/string-tools.d.ts +1 -0
- package/dist/utils/string-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/string-tools.js +1 -4
- package/dist/utils/string-tools.js.map +1 -0
- package/{utils → dist/utils}/tools.d.ts +2 -1
- package/dist/utils/tools.d.ts.map +1 -0
- package/dist/utils/tools.js +32 -0
- package/dist/utils/tools.js.map +1 -0
- package/{utils → dist/utils}/types.d.ts +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/{utils → dist/utils}/version-tools.d.ts +1 -0
- package/dist/utils/version-tools.d.ts.map +1 -0
- package/{utils → dist/utils}/version-tools.js +4 -7
- package/dist/utils/version-tools.js.map +1 -0
- package/{validator → dist/validator}/validator.d.ts +3 -2
- package/dist/validator/validator.d.ts.map +1 -0
- package/dist/validator/validator.js +157 -0
- package/dist/validator/validator.js.map +1 -0
- package/package.json +76 -12
- package/consts/consts.js.map +0 -1
- package/core/application.js.map +0 -1
- package/core/debug-flags.js.map +0 -1
- package/core/dispatcher.js +0 -32
- package/core/dispatcher.js.map +0 -1
- package/core/error-handling.js +0 -21
- package/core/error-handling.js.map +0 -1
- package/core/exceptions.js.map +0 -1
- package/core/logger/BeLogged.js.map +0 -1
- package/core/logger/LogClient.js.map +0 -1
- package/core/logger/LogClient_BaseRotate.js.map +0 -1
- package/core/logger/LogClient_Browser.js.map +0 -1
- package/core/logger/LogClient_Function.js.map +0 -1
- package/core/logger/LogClient_MemBuffer.js +0 -23
- package/core/logger/LogClient_MemBuffer.js.map +0 -1
- package/core/logger/LogClient_Terminal.js.map +0 -1
- package/core/logger/Logger.js.map +0 -1
- package/core/logger/types.js.map +0 -1
- package/core/logger/utils.js.map +0 -1
- package/core/module-manager.js.map +0 -1
- package/core/module.js.map +0 -1
- package/index.d.ts +0 -35
- package/index.js +0 -69
- package/index.js.map +0 -1
- package/modules/CliParamsModule.js +0 -56
- package/modules/CliParamsModule.js.map +0 -1
- package/permissions/permission-group.js.map +0 -1
- package/testing/test-model.js +0 -80
- package/testing/test-model.js.map +0 -1
- package/utils/array-tools.js +0 -145
- package/utils/array-tools.js.map +0 -1
- package/utils/crypto-tools.js +0 -18
- package/utils/crypto-tools.js.map +0 -1
- package/utils/date-time-tools.js +0 -111
- package/utils/date-time-tools.js.map +0 -1
- package/utils/filter-tools.js.map +0 -1
- package/utils/hash-tools.js +0 -56
- package/utils/hash-tools.js.map +0 -1
- package/utils/merge-tools.js.map +0 -1
- package/utils/object-tools.js.map +0 -1
- package/utils/queue.js +0 -82
- package/utils/queue.js.map +0 -1
- package/utils/random-tools.js.map +0 -1
- package/utils/string-tools.js.map +0 -1
- package/utils/tools.js +0 -34
- package/utils/tools.js.map +0 -1
- package/utils/types.js +0 -6
- package/utils/types.js.map +0 -1
- package/utils/version-tools.js.map +0 -1
- package/validator/validator.js +0 -174
- package/validator/validator.js.map +0 -1
|
@@ -1,28 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { ModuleManager } from "./module-manager.js";
|
|
2
|
+
import { BadImplementationException } from "./exceptions.js";
|
|
3
|
+
import { merge } from "../utils/merge-tools.js";
|
|
4
|
+
import { Logger } from "./logger/Logger.js";
|
|
5
|
+
import { validate } from "../validator/validator.js";
|
|
6
|
+
import { _clearTimeout, _setTimeout, currentTimeMillies } from "../utils/date-time-tools.js";
|
|
7
|
+
export class Module extends Logger {
|
|
8
|
+
name;
|
|
9
|
+
manager;
|
|
10
|
+
initiated = false;
|
|
11
|
+
config = {};
|
|
12
|
+
configValidator;
|
|
13
|
+
timeoutMap = {};
|
|
10
14
|
// noinspection TypeScriptAbstractClassConstructorCanBeMadeProtected
|
|
11
15
|
constructor(name) {
|
|
12
16
|
super(name);
|
|
13
|
-
this.initiated = false;
|
|
14
|
-
this.config = {};
|
|
15
|
-
this.timeoutMap = {};
|
|
16
|
-
this.runAsync = (label, toCall) => {
|
|
17
|
-
setTimeout(() => {
|
|
18
|
-
this.logDebug(`Running async: ${label}`);
|
|
19
|
-
new Promise(toCall)
|
|
20
|
-
.then(() => {
|
|
21
|
-
this.logDebug(`Async call completed: ${label}`);
|
|
22
|
-
})
|
|
23
|
-
.catch(reason => this.logError(`Async call error: ${label}`, reason));
|
|
24
|
-
}, 0);
|
|
25
|
-
};
|
|
26
17
|
this.name = this.deduceName(name).replace("_Class", "");
|
|
27
18
|
}
|
|
28
19
|
deduceName(name) {
|
|
@@ -30,7 +21,7 @@ class Module extends Logger_1.Logger {
|
|
|
30
21
|
return name;
|
|
31
22
|
const tempName = this.constructor["name"];
|
|
32
23
|
if (!tempName.endsWith("_Class"))
|
|
33
|
-
throw new
|
|
24
|
+
throw new BadImplementationException(`Module class MUST end with '_Class' e.g. MyModule_Class, check class named: ${tempName}`);
|
|
34
25
|
return tempName;
|
|
35
26
|
}
|
|
36
27
|
// // possibly to add
|
|
@@ -50,26 +41,26 @@ class Module extends Logger_1.Logger {
|
|
|
50
41
|
// }
|
|
51
42
|
debounce(handler, key, ms = 0) {
|
|
52
43
|
const k = "debounce" + key;
|
|
53
|
-
|
|
54
|
-
this.timeoutMap[k] =
|
|
44
|
+
_clearTimeout(this.timeoutMap[k]);
|
|
45
|
+
this.timeoutMap[k] = _setTimeout(handler, ms);
|
|
55
46
|
}
|
|
56
47
|
throttle(handler, key, ms = 0) {
|
|
57
48
|
const k = "throttle" + key;
|
|
58
49
|
if (this.timeoutMap[k])
|
|
59
50
|
return;
|
|
60
|
-
this.timeoutMap[k] =
|
|
51
|
+
this.timeoutMap[k] = _setTimeout(() => {
|
|
61
52
|
handler();
|
|
62
53
|
delete this.timeoutMap[k];
|
|
63
54
|
}, ms);
|
|
64
55
|
}
|
|
65
56
|
throttleV2(handler, key, ms, force = false) {
|
|
66
57
|
const k = "throttle_v2" + key;
|
|
67
|
-
const now =
|
|
58
|
+
const now = currentTimeMillies();
|
|
68
59
|
const timeoutMapElement = this.timeoutMap[k];
|
|
69
60
|
if (timeoutMapElement && now - timeoutMapElement <= ms && !force)
|
|
70
61
|
return;
|
|
71
62
|
handler();
|
|
72
|
-
this.timeoutMap[k] =
|
|
63
|
+
this.timeoutMap[k] = currentTimeMillies();
|
|
73
64
|
}
|
|
74
65
|
setConfigValidator(validator) {
|
|
75
66
|
this.configValidator = validator;
|
|
@@ -84,18 +75,27 @@ class Module extends Logger_1.Logger {
|
|
|
84
75
|
this.name = name;
|
|
85
76
|
}
|
|
86
77
|
setConfig(config) {
|
|
87
|
-
this.config = this.config ?
|
|
78
|
+
this.config = this.config ? merge(this.config, config || {}) : config;
|
|
88
79
|
}
|
|
89
80
|
setManager(manager) {
|
|
90
81
|
this.manager = manager;
|
|
91
82
|
}
|
|
83
|
+
runAsync = (label, toCall) => {
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
this.logDebug(`Running async: ${label}`);
|
|
86
|
+
new Promise(toCall)
|
|
87
|
+
.then(() => {
|
|
88
|
+
this.logDebug(`Async call completed: ${label}`);
|
|
89
|
+
})
|
|
90
|
+
.catch(reason => this.logError(`Async call error: ${label}`, reason));
|
|
91
|
+
}, 0);
|
|
92
|
+
};
|
|
92
93
|
init() {
|
|
93
94
|
// ignorance is bliss
|
|
94
95
|
}
|
|
95
96
|
validate() {
|
|
96
97
|
if (this.configValidator)
|
|
97
|
-
|
|
98
|
+
validate(this.config, this.configValidator);
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
exports.Module = Module;
|
|
101
101
|
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/main/core/module.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export * from './testing/test-model.js';
|
|
2
|
+
export * from './core/module.js';
|
|
3
|
+
export * from './core/module-manager.js';
|
|
4
|
+
export * from './core/application.js';
|
|
5
|
+
export * from './core/exceptions.js';
|
|
6
|
+
export * from './core/dispatcher.js';
|
|
7
|
+
export * from './core/error-handling.js';
|
|
8
|
+
export * from './core/debug-flags.js';
|
|
9
|
+
export * from './core/logger/utils.js';
|
|
10
|
+
export * from './core/logger/LogClient_BaseRotate.js';
|
|
11
|
+
export * from './core/logger/LogClient_Terminal.js';
|
|
12
|
+
export * from './core/logger/LogClient_MemBuffer.js';
|
|
13
|
+
export * from './core/logger/LogClient_Browser.js';
|
|
14
|
+
export * from './core/logger/LogClient_Function.js';
|
|
15
|
+
export * from './core/logger/BeLogged.js';
|
|
16
|
+
export * from './core/logger/Logger.js';
|
|
17
|
+
export * from './core/logger/types.js';
|
|
18
|
+
export * from './core/logger/LogClient.js';
|
|
19
|
+
export * from "./permissions/permission-group.js";
|
|
20
|
+
export * from './utils/queue.js';
|
|
21
|
+
export * from './utils/types.js';
|
|
22
|
+
export * from './utils/crypto-tools.js';
|
|
23
|
+
export * from './utils/random-tools.js';
|
|
24
|
+
export * from './utils/string-tools.js';
|
|
25
|
+
export * from './utils/date-time-tools.js';
|
|
26
|
+
export * from './utils/array-tools.js';
|
|
27
|
+
export * from './utils/object-tools.js';
|
|
28
|
+
export * from "./utils/merge-tools.js";
|
|
29
|
+
export * from "./utils/version-tools.js";
|
|
30
|
+
export * from './utils/tools.js';
|
|
31
|
+
export * from './utils/hash-tools.js';
|
|
32
|
+
export * from './utils/filter-tools.js';
|
|
33
|
+
export * from "./validator/validator.js";
|
|
34
|
+
export * from './consts/consts.js';
|
|
35
|
+
export * from './modules/CliParamsModule.js';
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AAkBA,cAAc,yBAAyB,CAAC;AAExC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,mCAAmC,CAAC;AAElD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,0BAA0B,CAAA;AAExC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
export * from './testing/test-model.js';
|
|
19
|
+
export * from './core/module.js';
|
|
20
|
+
export * from './core/module-manager.js';
|
|
21
|
+
export * from './core/application.js';
|
|
22
|
+
export * from './core/exceptions.js';
|
|
23
|
+
export * from './core/dispatcher.js';
|
|
24
|
+
export * from './core/error-handling.js';
|
|
25
|
+
export * from './core/debug-flags.js';
|
|
26
|
+
export * from './core/logger/utils.js';
|
|
27
|
+
export * from './core/logger/LogClient_BaseRotate.js';
|
|
28
|
+
export * from './core/logger/LogClient_Terminal.js';
|
|
29
|
+
export * from './core/logger/LogClient_MemBuffer.js';
|
|
30
|
+
export * from './core/logger/LogClient_Browser.js';
|
|
31
|
+
export * from './core/logger/LogClient_Function.js';
|
|
32
|
+
export * from './core/logger/BeLogged.js';
|
|
33
|
+
export * from './core/logger/Logger.js';
|
|
34
|
+
export * from './core/logger/types.js';
|
|
35
|
+
export * from './core/logger/LogClient.js';
|
|
36
|
+
export * from "./permissions/permission-group.js";
|
|
37
|
+
export * from './utils/queue.js';
|
|
38
|
+
export * from './utils/types.js';
|
|
39
|
+
export * from './utils/crypto-tools.js';
|
|
40
|
+
export * from './utils/random-tools.js';
|
|
41
|
+
export * from './utils/string-tools.js';
|
|
42
|
+
export * from './utils/date-time-tools.js';
|
|
43
|
+
export * from './utils/array-tools.js';
|
|
44
|
+
export * from './utils/object-tools.js';
|
|
45
|
+
export * from "./utils/merge-tools.js";
|
|
46
|
+
export * from "./utils/version-tools.js";
|
|
47
|
+
export * from './utils/tools.js';
|
|
48
|
+
export * from './utils/hash-tools.js';
|
|
49
|
+
export * from './utils/filter-tools.js';
|
|
50
|
+
export * from "./validator/validator.js";
|
|
51
|
+
export * from './consts/consts.js';
|
|
52
|
+
export * from './modules/CliParamsModule.js';
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,yBAAyB,CAAC;AAExC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,mCAAmC,CAAC;AAElD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,0BAA0B,CAAA;AAExC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,8BAA8B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module } from "../core/module";
|
|
2
|
-
import { TypedMap } from "../utils/types";
|
|
1
|
+
import { Module } from "../core/module.js";
|
|
2
|
+
import { type TypedMap } from "../utils/types.js";
|
|
3
3
|
export type CliParam<K, T extends string | string[] = string> = {
|
|
4
4
|
keys: string[];
|
|
5
5
|
name: string;
|
|
@@ -26,3 +26,4 @@ declare class CliParamsModule_Class extends Module<Config> {
|
|
|
26
26
|
}
|
|
27
27
|
export declare const CliParamsModule: CliParamsModule_Class;
|
|
28
28
|
export {};
|
|
29
|
+
//# sourceMappingURL=CliParamsModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliParamsModule.d.ts","sourceRoot":"","sources":["../../src/main/modules/CliParamsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EACN,KAAK,QAAQ,EAEb,MAAM,mBAAmB,CAAC;AAW3B,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,IAAI;IAC/D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;CAC1B,CAAA;AAED,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3D,KAAK,MAAM,GAAG;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CAChB,CAAA;AAED,cAAM,qBACL,SAAQ,MAAM,CAAC,MAAM,CAAC;IAEtB,OAAO,CAAC,WAAW,CAA+C;;IAMlE,IAAI;IAMJ,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAE,MAAM,EAA+C;IAc7H,OAAO,CAAC,YAAY;IAWpB,UAAU,GAAI,QAAQ,KAAK,EAAE,UAU5B;IAED,OAAO,CAAC,cAAc;IAQtB,SAAS,gDAER;CACD;AAED,eAAO,MAAM,eAAe,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Module } from "../core/module.js";
|
|
2
|
+
import {} from "../utils/types.js";
|
|
3
|
+
import { BadImplementationException, ImplementationMissingException } from "../core/exceptions.js";
|
|
4
|
+
import { filterInstances, flatArray } from "../index.js";
|
|
5
|
+
class CliParamsModule_Class extends Module {
|
|
6
|
+
paramsValue = {};
|
|
7
|
+
constructor() {
|
|
8
|
+
super("CliParamsModule");
|
|
9
|
+
}
|
|
10
|
+
init() {
|
|
11
|
+
this.config.params.forEach((param) => this.paramsValue[param.keyName] = this.getParam(param));
|
|
12
|
+
this.printHowTo(this.config.params);
|
|
13
|
+
return this.paramsValue;
|
|
14
|
+
}
|
|
15
|
+
getParam(param, args = process.argv.slice(2, process.argv.length)) {
|
|
16
|
+
if (!this.config.params.find(_param => _param.keyName === param.keyName))
|
|
17
|
+
throw new BadImplementationException("Requested not existing param");
|
|
18
|
+
let value = this.extractParam(param, args);
|
|
19
|
+
if (!value)
|
|
20
|
+
value = param.defaultValue;
|
|
21
|
+
if (!value)
|
|
22
|
+
return value;
|
|
23
|
+
return (param.process ? param.process(value) : value);
|
|
24
|
+
}
|
|
25
|
+
extractParam(param, argv) {
|
|
26
|
+
if (param.isArray)
|
|
27
|
+
return param.keys.reduce((values, key) => {
|
|
28
|
+
values.push(...filterInstances(argv.map(arg => arg.match(new RegExp(`${key}=(.*)`))?.[1])));
|
|
29
|
+
return values;
|
|
30
|
+
}, []);
|
|
31
|
+
const find = param.keys.map(key => argv.map(arg => arg.match(new RegExp(`${key}=(.*)`))?.[1]));
|
|
32
|
+
return flatArray(find).find(k => k);
|
|
33
|
+
}
|
|
34
|
+
printHowTo = (params) => {
|
|
35
|
+
const missingParams = params.filter((param) => !this.paramsValue[param.keyName] && !param.optional);
|
|
36
|
+
const foundParams = params.filter((param) => this.paramsValue[param.keyName]);
|
|
37
|
+
this.printFoundArgs("Found Args", foundParams, this.paramsValue);
|
|
38
|
+
if (missingParams.length === 0)
|
|
39
|
+
return;
|
|
40
|
+
this.printFoundArgs("Missing Args", missingParams, this.paramsValue);
|
|
41
|
+
throw new ImplementationMissingException("Missing cli params");
|
|
42
|
+
};
|
|
43
|
+
printFoundArgs(title, params, foundArgs) {
|
|
44
|
+
if (params.length)
|
|
45
|
+
return;
|
|
46
|
+
this.logInfoBold(` ${title}:`);
|
|
47
|
+
params.forEach((param) => this.logInfo(` ${param.keys[0]}=${foundArgs[param.keyName] || `<${param.name}>`}`));
|
|
48
|
+
}
|
|
49
|
+
getParams = () => {
|
|
50
|
+
return this.paramsValue;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export const CliParamsModule = new CliParamsModule_Class();
|
|
54
|
+
//# sourceMappingURL=CliParamsModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliParamsModule.js","sourceRoot":"","sources":["../../src/main/modules/CliParamsModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-group.d.ts","sourceRoot":"","sources":["../../src/main/permissions/permission-group.ts"],"names":[],"mappings":"AAsBA,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;gBAEb,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IAS9D,eAAe,CAAC,UAAU,EAAE,MAAM;CAGlC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PermissionCategory = void 0;
|
|
4
1
|
/*
|
|
5
2
|
* ts-common is the basic building blocks of our typescript projects
|
|
6
3
|
*
|
|
@@ -18,18 +15,21 @@ exports.PermissionCategory = void 0;
|
|
|
18
15
|
* See the License for the specific language governing permissions and
|
|
19
16
|
* limitations under the License.
|
|
20
17
|
*/
|
|
21
|
-
|
|
22
|
-
class PermissionCategory {
|
|
18
|
+
import { deepClone, sortArray } from "../index.js";
|
|
19
|
+
export class PermissionCategory {
|
|
20
|
+
key;
|
|
21
|
+
levels;
|
|
22
|
+
permissionsEnum;
|
|
23
|
+
defaultValue;
|
|
23
24
|
constructor(key, permissionsEnum, defaultValue) {
|
|
24
25
|
this.key = key;
|
|
25
26
|
this.permissionsEnum = permissionsEnum;
|
|
26
27
|
this.defaultValue = defaultValue;
|
|
27
28
|
const _levels = Object.keys(permissionsEnum).filter(value => isNaN(parseInt(value)));
|
|
28
|
-
this.levels =
|
|
29
|
+
this.levels = sortArray(_levels, (_key) => permissionsEnum[_key]).reverse();
|
|
29
30
|
}
|
|
30
31
|
getClosestMatch(permission) {
|
|
31
|
-
return
|
|
32
|
+
return deepClone(this.levels).reverse().find(((level) => this.permissionsEnum[level] <= permission));
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
exports.PermissionCategory = PermissionCategory;
|
|
35
35
|
//# sourceMappingURL=permission-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-group.js","sourceRoot":"","sources":["../../src/main/permissions/permission-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACN,SAAS,EACT,SAAS,EACT,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,kBAAkB;IACrB,GAAG,CAAS;IACZ,MAAM,CAAW;IACjB,eAAe,CAAM;IACrB,YAAY,CAAI;IAEzB,YAAY,GAAW,EAAE,eAAoB,EAAE,YAAe;QAC7D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,MAAM,OAAO,GAAa,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,UAAkB;QACjC,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAA;IAC7G,CAAC;CACD"}
|
|
@@ -14,3 +14,4 @@ export declare function runTestSuits(testSuits: TestSuit<any, any, any>[]): Prom
|
|
|
14
14
|
export declare function runTestSuit<Model extends TestModel<Input, Result>, Input = InferInput<Model>, Result = InferResult<Model>>(testSuit: TestSuit<Model, Input, Result>): Promise<void>;
|
|
15
15
|
export declare function assertNoTestErrors(): void;
|
|
16
16
|
export {};
|
|
17
|
+
//# sourceMappingURL=test-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-model.d.ts","sourceRoot":"","sources":["../../src/main/testing/test-model.ts"],"names":[],"mappings":"AAqBA,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3E,KAAK,WAAW,CAAC,KAAK,IAAI,KAAK,SAAS,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACb,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI;IACtH,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACnC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAA;AASD,wBAAsB,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,iBAItE;AAED,wBAAsB,WAAW,CAAC,KAAK,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,iBAqBzK;AAGD,wBAAgB,kBAAkB,SAqBjC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
import { Exception } from "../core/exceptions.js";
|
|
19
|
+
const testResults = {};
|
|
20
|
+
export async function runTestSuits(testSuits) {
|
|
21
|
+
for (const testSuit of testSuits) {
|
|
22
|
+
await runTestSuit(testSuit);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export async function runTestSuit(testSuit) {
|
|
26
|
+
const report = {
|
|
27
|
+
label: testSuit.label,
|
|
28
|
+
success: 0,
|
|
29
|
+
failed: []
|
|
30
|
+
};
|
|
31
|
+
testResults[testSuit.key] = report;
|
|
32
|
+
console.log(` Running: ${testSuit.label}`);
|
|
33
|
+
for (const model of testSuit.models) {
|
|
34
|
+
const result = await testSuit.processor(model.input);
|
|
35
|
+
if (model.expected === undefined || model.expected === result) {
|
|
36
|
+
report.success++;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
report.failed.push(new Exception(`Error in test #${testSuit.models.indexOf(model)} input: ${JSON.stringify(model.input)}\n -- Expected: ${model.expected}\n -- Actual: ${result}`));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function assertNoTestErrors() {
|
|
43
|
+
let totalErrors = 0;
|
|
44
|
+
console.log();
|
|
45
|
+
console.log("+-------------------------------+");
|
|
46
|
+
console.log("| RESULTS |");
|
|
47
|
+
console.log("+-------------------------------+");
|
|
48
|
+
Object.keys(testResults).forEach((key, _index) => {
|
|
49
|
+
const result = testResults[key];
|
|
50
|
+
console.log();
|
|
51
|
+
console.log(` + ${result.label}`);
|
|
52
|
+
console.log(` Success: ${result.success}`);
|
|
53
|
+
if (result.failed.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
totalErrors += result.failed.length;
|
|
56
|
+
console.log(` Errors: ${result.failed.length}`);
|
|
57
|
+
result.failed.forEach(error => console.log(` ${error.message}`));
|
|
58
|
+
});
|
|
59
|
+
if (totalErrors > 0)
|
|
60
|
+
process.exit(2);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=test-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-model.js","sourceRoot":"","sources":["../../src/main/testing/test-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAuBhD,MAAM,WAAW,GAAoC,EAAE,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAoC;IACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAiG,QAAwC;IACzK,MAAM,MAAM,GAAmB;QAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,EAAE;KACV,CAAC;IAEF,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/D,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS;QACV,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CACjB,IAAI,SAAS,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CACtF,KAAK,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,QAAQ,2BAA2B,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;AACF,CAAC;AAGD,MAAM,UAAU,kBAAkB;IACjC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO;QAER,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|