@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.
Files changed (199) hide show
  1. package/LICENSE +3 -0
  2. package/README.md +3 -0
  3. package/{consts → dist/consts}/consts.d.ts +1 -0
  4. package/dist/consts/consts.d.ts.map +1 -0
  5. package/{consts → dist/consts}/consts.js +1 -4
  6. package/dist/consts/consts.js.map +1 -0
  7. package/{core → dist/core}/application.d.ts +2 -1
  8. package/dist/core/application.d.ts.map +1 -0
  9. package/{core → dist/core}/application.js +10 -12
  10. package/dist/core/application.js.map +1 -0
  11. package/{core → dist/core}/debug-flags.d.ts +1 -0
  12. package/dist/core/debug-flags.d.ts.map +1 -0
  13. package/{core → dist/core}/debug-flags.js +10 -14
  14. package/dist/core/debug-flags.js.map +1 -0
  15. package/{core → dist/core}/dispatcher.d.ts +2 -1
  16. package/dist/core/dispatcher.d.ts.map +1 -0
  17. package/dist/core/dispatcher.js +21 -0
  18. package/dist/core/dispatcher.js.map +1 -0
  19. package/{core → dist/core}/error-handling.d.ts +2 -1
  20. package/dist/core/error-handling.d.ts.map +1 -0
  21. package/dist/core/error-handling.js +18 -0
  22. package/dist/core/error-handling.js.map +1 -0
  23. package/{core → dist/core}/exceptions.d.ts +8 -3
  24. package/dist/core/exceptions.d.ts.map +1 -0
  25. package/{core → dist/core}/exceptions.js +16 -25
  26. package/dist/core/exceptions.js.map +1 -0
  27. package/{core → dist/core}/logger/BeLogged.d.ts +3 -2
  28. package/dist/core/logger/BeLogged.d.ts.map +1 -0
  29. package/{core → dist/core}/logger/BeLogged.js +7 -10
  30. package/dist/core/logger/BeLogged.js.map +1 -0
  31. package/{core → dist/core}/logger/LogClient.d.ts +2 -1
  32. package/dist/core/logger/LogClient.d.ts.map +1 -0
  33. package/{core → dist/core}/logger/LogClient.js +15 -23
  34. package/dist/core/logger/LogClient.js.map +1 -0
  35. package/{core → dist/core}/logger/LogClient_BaseRotate.d.ts +3 -2
  36. package/dist/core/logger/LogClient_BaseRotate.d.ts.map +1 -0
  37. package/{core → dist/core}/logger/LogClient_BaseRotate.js +11 -11
  38. package/dist/core/logger/LogClient_BaseRotate.js.map +1 -0
  39. package/{core → dist/core}/logger/LogClient_Browser.d.ts +4 -3
  40. package/dist/core/logger/LogClient_Browser.d.ts.map +1 -0
  41. package/{core → dist/core}/logger/LogClient_Browser.js +10 -13
  42. package/dist/core/logger/LogClient_Browser.js.map +1 -0
  43. package/{core → dist/core}/logger/LogClient_Function.d.ts +3 -2
  44. package/dist/core/logger/LogClient_Function.d.ts.map +1 -0
  45. package/{core → dist/core}/logger/LogClient_Function.js +7 -9
  46. package/dist/core/logger/LogClient_Function.js.map +1 -0
  47. package/{core → dist/core}/logger/LogClient_MemBuffer.d.ts +2 -1
  48. package/dist/core/logger/LogClient_MemBuffer.d.ts.map +1 -0
  49. package/dist/core/logger/LogClient_MemBuffer.js +19 -0
  50. package/dist/core/logger/LogClient_MemBuffer.js.map +1 -0
  51. package/{core → dist/core}/logger/LogClient_Terminal.d.ts +3 -2
  52. package/dist/core/logger/LogClient_Terminal.d.ts.map +1 -0
  53. package/{core → dist/core}/logger/LogClient_Terminal.js +13 -16
  54. package/dist/core/logger/LogClient_Terminal.js.map +1 -0
  55. package/{core → dist/core}/logger/Logger.d.ts +3 -2
  56. package/dist/core/logger/Logger.d.ts.map +1 -0
  57. package/{core → dist/core}/logger/Logger.js +24 -26
  58. package/dist/core/logger/Logger.js.map +1 -0
  59. package/{core → dist/core}/logger/types.d.ts +1 -0
  60. package/dist/core/logger/types.d.ts.map +1 -0
  61. package/{core → dist/core}/logger/types.js +3 -6
  62. package/dist/core/logger/types.js.map +1 -0
  63. package/{core → dist/core}/logger/utils.d.ts +2 -1
  64. package/dist/core/logger/utils.d.ts.map +1 -0
  65. package/{core → dist/core}/logger/utils.js +11 -16
  66. package/dist/core/logger/utils.js.map +1 -0
  67. package/{core → dist/core}/module-manager.d.ts +4 -3
  68. package/dist/core/module-manager.d.ts.map +1 -0
  69. package/{core → dist/core}/module-manager.js +17 -18
  70. package/dist/core/module-manager.js.map +1 -0
  71. package/{core → dist/core}/module.d.ts +5 -4
  72. package/dist/core/module.d.ts.map +1 -0
  73. package/{core → dist/core}/module.js +31 -31
  74. package/dist/core/module.js.map +1 -0
  75. package/dist/index.d.ts +36 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +53 -0
  78. package/dist/index.js.map +1 -0
  79. package/{modules → dist/modules}/CliParamsModule.d.ts +3 -2
  80. package/dist/modules/CliParamsModule.d.ts.map +1 -0
  81. package/dist/modules/CliParamsModule.js +54 -0
  82. package/dist/modules/CliParamsModule.js.map +1 -0
  83. package/{permissions → dist/permissions}/permission-group.d.ts +1 -0
  84. package/dist/permissions/permission-group.d.ts.map +1 -0
  85. package/{permissions → dist/permissions}/permission-group.js +8 -8
  86. package/dist/permissions/permission-group.js.map +1 -0
  87. package/{testing → dist/testing}/test-model.d.ts +1 -0
  88. package/dist/testing/test-model.d.ts.map +1 -0
  89. package/dist/testing/test-model.js +62 -0
  90. package/dist/testing/test-model.js.map +1 -0
  91. package/dist/tsconfig.tsbuildinfo +1 -0
  92. package/{utils → dist/utils}/array-tools.d.ts +1 -0
  93. package/dist/utils/array-tools.d.ts.map +1 -0
  94. package/dist/utils/array-tools.js +116 -0
  95. package/dist/utils/array-tools.js.map +1 -0
  96. package/{utils → dist/utils}/crypto-tools.d.ts +1 -0
  97. package/dist/utils/crypto-tools.d.ts.map +1 -0
  98. package/dist/utils/crypto-tools.js +13 -0
  99. package/dist/utils/crypto-tools.js.map +1 -0
  100. package/{utils → dist/utils}/date-time-tools.d.ts +2 -1
  101. package/dist/utils/date-time-tools.d.ts.map +1 -0
  102. package/dist/utils/date-time-tools.js +86 -0
  103. package/dist/utils/date-time-tools.js.map +1 -0
  104. package/{utils → dist/utils}/filter-tools.d.ts +1 -0
  105. package/dist/utils/filter-tools.d.ts.map +1 -0
  106. package/{utils → dist/utils}/filter-tools.js +6 -9
  107. package/dist/utils/filter-tools.js.map +1 -0
  108. package/{utils → dist/utils}/hash-tools.d.ts +1 -0
  109. package/dist/utils/hash-tools.d.ts.map +1 -0
  110. package/dist/utils/hash-tools.js +50 -0
  111. package/dist/utils/hash-tools.js.map +1 -0
  112. package/{utils → dist/utils}/merge-tools.d.ts +1 -0
  113. package/dist/utils/merge-tools.d.ts.map +1 -0
  114. package/{utils → dist/utils}/merge-tools.js +8 -13
  115. package/dist/utils/merge-tools.js.map +1 -0
  116. package/{utils → dist/utils}/object-tools.d.ts +1 -0
  117. package/dist/utils/object-tools.d.ts.map +1 -0
  118. package/{utils → dist/utils}/object-tools.js +11 -21
  119. package/dist/utils/object-tools.js.map +1 -0
  120. package/{utils → dist/utils}/queue.d.ts +2 -1
  121. package/dist/utils/queue.d.ts.map +1 -0
  122. package/dist/utils/queue.js +69 -0
  123. package/dist/utils/queue.js.map +1 -0
  124. package/{utils → dist/utils}/random-tools.d.ts +1 -0
  125. package/dist/utils/random-tools.d.ts.map +1 -0
  126. package/{utils → dist/utils}/random-tools.js +4 -8
  127. package/dist/utils/random-tools.js.map +1 -0
  128. package/{utils → dist/utils}/string-tools.d.ts +1 -0
  129. package/dist/utils/string-tools.d.ts.map +1 -0
  130. package/{utils → dist/utils}/string-tools.js +1 -4
  131. package/dist/utils/string-tools.js.map +1 -0
  132. package/{utils → dist/utils}/tools.d.ts +2 -1
  133. package/dist/utils/tools.d.ts.map +1 -0
  134. package/dist/utils/tools.js +32 -0
  135. package/dist/utils/tools.js.map +1 -0
  136. package/{utils → dist/utils}/types.d.ts +1 -0
  137. package/dist/utils/types.d.ts.map +1 -0
  138. package/dist/utils/types.js +3 -0
  139. package/dist/utils/types.js.map +1 -0
  140. package/{utils → dist/utils}/version-tools.d.ts +1 -0
  141. package/dist/utils/version-tools.d.ts.map +1 -0
  142. package/{utils → dist/utils}/version-tools.js +4 -7
  143. package/dist/utils/version-tools.js.map +1 -0
  144. package/{validator → dist/validator}/validator.d.ts +3 -2
  145. package/dist/validator/validator.d.ts.map +1 -0
  146. package/dist/validator/validator.js +157 -0
  147. package/dist/validator/validator.js.map +1 -0
  148. package/package.json +76 -12
  149. package/consts/consts.js.map +0 -1
  150. package/core/application.js.map +0 -1
  151. package/core/debug-flags.js.map +0 -1
  152. package/core/dispatcher.js +0 -32
  153. package/core/dispatcher.js.map +0 -1
  154. package/core/error-handling.js +0 -21
  155. package/core/error-handling.js.map +0 -1
  156. package/core/exceptions.js.map +0 -1
  157. package/core/logger/BeLogged.js.map +0 -1
  158. package/core/logger/LogClient.js.map +0 -1
  159. package/core/logger/LogClient_BaseRotate.js.map +0 -1
  160. package/core/logger/LogClient_Browser.js.map +0 -1
  161. package/core/logger/LogClient_Function.js.map +0 -1
  162. package/core/logger/LogClient_MemBuffer.js +0 -23
  163. package/core/logger/LogClient_MemBuffer.js.map +0 -1
  164. package/core/logger/LogClient_Terminal.js.map +0 -1
  165. package/core/logger/Logger.js.map +0 -1
  166. package/core/logger/types.js.map +0 -1
  167. package/core/logger/utils.js.map +0 -1
  168. package/core/module-manager.js.map +0 -1
  169. package/core/module.js.map +0 -1
  170. package/index.d.ts +0 -35
  171. package/index.js +0 -69
  172. package/index.js.map +0 -1
  173. package/modules/CliParamsModule.js +0 -56
  174. package/modules/CliParamsModule.js.map +0 -1
  175. package/permissions/permission-group.js.map +0 -1
  176. package/testing/test-model.js +0 -80
  177. package/testing/test-model.js.map +0 -1
  178. package/utils/array-tools.js +0 -145
  179. package/utils/array-tools.js.map +0 -1
  180. package/utils/crypto-tools.js +0 -18
  181. package/utils/crypto-tools.js.map +0 -1
  182. package/utils/date-time-tools.js +0 -111
  183. package/utils/date-time-tools.js.map +0 -1
  184. package/utils/filter-tools.js.map +0 -1
  185. package/utils/hash-tools.js +0 -56
  186. package/utils/hash-tools.js.map +0 -1
  187. package/utils/merge-tools.js.map +0 -1
  188. package/utils/object-tools.js.map +0 -1
  189. package/utils/queue.js +0 -82
  190. package/utils/queue.js.map +0 -1
  191. package/utils/random-tools.js.map +0 -1
  192. package/utils/string-tools.js.map +0 -1
  193. package/utils/tools.js +0 -34
  194. package/utils/tools.js.map +0 -1
  195. package/utils/types.js +0 -6
  196. package/utils/types.js.map +0 -1
  197. package/utils/version-tools.js.map +0 -1
  198. package/validator/validator.js +0 -174
  199. package/validator/validator.js.map +0 -1
@@ -1,28 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Module = void 0;
4
- const exceptions_1 = require("./exceptions");
5
- const merge_tools_1 = require("../utils/merge-tools");
6
- const Logger_1 = require("./logger/Logger");
7
- const validator_1 = require("../validator/validator");
8
- const date_time_tools_1 = require("../utils/date-time-tools");
9
- class Module extends Logger_1.Logger {
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 exceptions_1.BadImplementationException(`Module class MUST end with '_Class' e.g. MyModule_Class, check class named: ${tempName}`);
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
- (0, date_time_tools_1._clearTimeout)(this.timeoutMap[k]);
54
- this.timeoutMap[k] = (0, date_time_tools_1._setTimeout)(handler, ms);
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] = (0, date_time_tools_1._setTimeout)(() => {
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 = (0, date_time_tools_1.currentTimeMillies)();
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] = (0, date_time_tools_1.currentTimeMillies)();
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 ? (0, merge_tools_1.merge)(this.config, config || {}) : 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
- (0, validator_1.validate)(this.config, this.configValidator);
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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"}
@@ -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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"}
@@ -6,3 +6,4 @@ export declare class PermissionCategory<P extends number> {
6
6
  constructor(key: string, permissionsEnum: any, defaultValue: P);
7
7
  getClosestMatch(permission: number): string | undefined;
8
8
  }
9
+ //# sourceMappingURL=permission-group.d.ts.map
@@ -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
- const index_1 = require("../index");
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 = (0, index_1.sortArray)(_levels, (_key) => permissionsEnum[_key]).reverse();
29
+ this.levels = sortArray(_levels, (_key) => permissionsEnum[_key]).reverse();
29
30
  }
30
31
  getClosestMatch(permission) {
31
- return (0, index_1.deepClone)(this.levels).reverse().find(((level) => this.permissionsEnum[level] <= permission));
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"}