@nu-art/ts-common 0.300.8 → 0.400.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 (211) hide show
  1. package/consts/consts.js +2 -4
  2. package/consts/consts.js.map +1 -0
  3. package/core/application.d.ts +1 -1
  4. package/core/application.js +3 -6
  5. package/core/application.js.map +1 -0
  6. package/core/debug-flags.d.ts +1 -1
  7. package/core/debug-flags.js +15 -17
  8. package/core/debug-flags.js.map +1 -0
  9. package/core/dispatcher.d.ts +2 -2
  10. package/core/dispatcher.js +7 -8
  11. package/core/dispatcher.js.map +1 -0
  12. package/core/error-handling.d.ts +5 -5
  13. package/core/error-handling.js +7 -9
  14. package/core/error-handling.js.map +1 -0
  15. package/core/exceptions/exceptions.d.ts +2 -2
  16. package/core/exceptions/exceptions.js +33 -44
  17. package/core/exceptions/exceptions.js.map +1 -0
  18. package/core/exceptions/http-codes.d.ts +8 -2
  19. package/core/exceptions/http-codes.js +6 -6
  20. package/core/exceptions/http-codes.js.map +1 -0
  21. package/core/exceptions/types.js +2 -2
  22. package/core/exceptions/types.js.map +1 -0
  23. package/core/logger/BeLogged.d.ts +2 -2
  24. package/core/logger/BeLogged.js +9 -11
  25. package/core/logger/BeLogged.js.map +1 -0
  26. package/core/logger/LogClient.d.ts +3 -1
  27. package/core/logger/LogClient.js +21 -24
  28. package/core/logger/LogClient.js.map +1 -0
  29. package/core/logger/LogClient_BaseRotate.d.ts +2 -2
  30. package/core/logger/LogClient_BaseRotate.js +12 -12
  31. package/core/logger/LogClient_BaseRotate.js.map +1 -0
  32. package/core/logger/LogClient_Browser.d.ts +2 -2
  33. package/core/logger/LogClient_Browser.js +40 -45
  34. package/core/logger/LogClient_Browser.js.map +1 -0
  35. package/core/logger/LogClient_BrowserGroups.d.ts +2 -2
  36. package/core/logger/LogClient_BrowserGroups.js +65 -67
  37. package/core/logger/LogClient_BrowserGroups.js.map +1 -0
  38. package/core/logger/LogClient_ConsoleProxy.d.ts +23 -0
  39. package/core/logger/LogClient_ConsoleProxy.js +89 -0
  40. package/core/logger/LogClient_ConsoleProxy.js.map +1 -0
  41. package/core/logger/LogClient_File.d.ts +1 -1
  42. package/core/logger/LogClient_File.js +6 -30
  43. package/core/logger/LogClient_File.js.map +1 -0
  44. package/core/logger/LogClient_Function.d.ts +2 -2
  45. package/core/logger/LogClient_Function.js +6 -8
  46. package/core/logger/LogClient_Function.js.map +1 -0
  47. package/core/logger/LogClient_MemBuffer.d.ts +2 -2
  48. package/core/logger/LogClient_MemBuffer.js +19 -21
  49. package/core/logger/LogClient_MemBuffer.js.map +1 -0
  50. package/core/logger/LogClient_Terminal.d.ts +2 -2
  51. package/core/logger/LogClient_Terminal.js +16 -21
  52. package/core/logger/LogClient_Terminal.js.map +1 -0
  53. package/core/logger/Logger.d.ts +2 -2
  54. package/core/logger/Logger.js +37 -39
  55. package/core/logger/Logger.js.map +1 -0
  56. package/core/logger/types.js +4 -6
  57. package/core/logger/types.js.map +1 -0
  58. package/core/logger/utils.d.ts +1 -1
  59. package/core/logger/utils.js +10 -15
  60. package/core/logger/utils.js.map +1 -0
  61. package/core/module-manager.d.ts +8 -6
  62. package/core/module-manager.js +28 -26
  63. package/core/module-manager.js.map +1 -0
  64. package/core/module.d.ts +5 -5
  65. package/core/module.js +28 -28
  66. package/core/module.js.map +1 -0
  67. package/csv.d.ts +2 -2
  68. package/csv.js +3 -18
  69. package/csv.js.map +1 -0
  70. package/db/consts.d.ts +3 -0
  71. package/db/consts.js +17 -7
  72. package/db/consts.js.map +1 -0
  73. package/db/dependencies-test.js +2 -2
  74. package/db/dependencies-test.js.map +1 -0
  75. package/db/types.d.ts +10 -2
  76. package/db/types.js +2 -2
  77. package/db/types.js.map +1 -0
  78. package/esm.d.ts +1 -0
  79. package/esm.js +4 -0
  80. package/esm.js.map +1 -0
  81. package/index.d.ts +50 -49
  82. package/index.js +51 -65
  83. package/index.js.map +1 -0
  84. package/mem-storage/MemStorage.d.ts +3 -1
  85. package/mem-storage/MemStorage.js +90 -72
  86. package/mem-storage/MemStorage.js.map +1 -0
  87. package/mem-storage/index.d.ts +1 -0
  88. package/mem-storage/index.js +2 -0
  89. package/mem-storage/index.js.map +1 -0
  90. package/modules/CSVModule.d.ts +2 -2
  91. package/modules/CSVModule.js +22 -48
  92. package/modules/CSVModule.js.map +1 -0
  93. package/modules/CSVModuleV3.d.ts +2 -2
  94. package/modules/CSVModuleV3.js +60 -86
  95. package/modules/CSVModuleV3.js.map +1 -0
  96. package/modules/CliParamsModule.d.ts +2 -2
  97. package/modules/CliParamsModule.js +23 -28
  98. package/modules/CliParamsModule.js.map +1 -0
  99. package/modules/JSONCSVModule.d.ts +2 -2
  100. package/modules/JSONCSVModule.js +56 -78
  101. package/modules/JSONCSVModule.js.map +1 -0
  102. package/modules/csv-serializer.d.ts +1 -1
  103. package/modules/csv-serializer.js +11 -5
  104. package/modules/csv-serializer.js.map +1 -0
  105. package/package.json +20 -11
  106. package/replacer-v2/ReplacerV2.d.ts +1 -1
  107. package/replacer-v2/ReplacerV2.js +6 -9
  108. package/replacer-v2/ReplacerV2.js.map +1 -0
  109. package/test-index.d.ts +2 -2
  110. package/test-index.js +3 -18
  111. package/test-index.js.map +1 -0
  112. package/testing/consts.d.ts +13 -2
  113. package/testing/consts.js +66 -26
  114. package/testing/consts.js.map +1 -0
  115. package/testing/test-template.test.d.ts +1 -0
  116. package/testing/test-template.test.js +42 -0
  117. package/testing/test-template.test.js.map +1 -0
  118. package/testing/types.d.ts +17 -5
  119. package/testing/types.js +2 -2
  120. package/testing/types.js.map +1 -0
  121. package/testing/workspace-creator.d.ts +10 -0
  122. package/testing/workspace-creator.js +79 -0
  123. package/testing/workspace-creator.js.map +1 -0
  124. package/tools/Replacer.d.ts +2 -2
  125. package/tools/Replacer.js +22 -24
  126. package/tools/Replacer.js.map +1 -0
  127. package/tools/get-log-style.js +4 -6
  128. package/tools/get-log-style.js.map +1 -0
  129. package/utils/FileSystemUtils.d.ts +34 -0
  130. package/utils/FileSystemUtils.js +153 -0
  131. package/utils/FileSystemUtils.js.map +1 -0
  132. package/utils/array-tools.d.ts +4 -4
  133. package/utils/array-tools.js +56 -83
  134. package/utils/array-tools.js.map +1 -0
  135. package/utils/conflict-tools.d.ts +1 -0
  136. package/utils/conflict-tools.js +3 -0
  137. package/utils/conflict-tools.js.map +1 -0
  138. package/utils/crypto-tools.d.ts +44 -0
  139. package/utils/crypto-tools.js +101 -10
  140. package/utils/crypto-tools.js.map +1 -0
  141. package/utils/date-time-tools.d.ts +48 -4
  142. package/utils/date-time-tools.js +166 -64
  143. package/utils/date-time-tools.js.map +1 -0
  144. package/utils/db-object-tools.d.ts +7 -2
  145. package/utils/db-object-tools.js +20 -20
  146. package/utils/db-object-tools.js.map +1 -0
  147. package/utils/exception-tools.js +13 -15
  148. package/utils/exception-tools.js.map +1 -0
  149. package/utils/filter-tools.js +48 -48
  150. package/utils/filter-tools.js.map +1 -0
  151. package/utils/hash-tools.js +14 -22
  152. package/utils/hash-tools.js.map +1 -0
  153. package/utils/index.d.ts +27 -0
  154. package/utils/index.js +28 -0
  155. package/utils/index.js.map +1 -0
  156. package/utils/json-tools.js +5 -8
  157. package/utils/json-tools.js.map +1 -0
  158. package/utils/merge-tools.d.ts +9 -0
  159. package/utils/merge-tools.js +18 -19
  160. package/utils/merge-tools.js.map +1 -0
  161. package/utils/mimetype-tools.d.ts +1 -0
  162. package/utils/mimetype-tools.js +26 -27
  163. package/utils/mimetype-tools.js.map +1 -0
  164. package/utils/number-tools.js +3 -7
  165. package/utils/number-tools.js.map +1 -0
  166. package/utils/object-tools.d.ts +15 -1
  167. package/utils/object-tools.js +110 -33
  168. package/utils/object-tools.js.map +1 -0
  169. package/utils/promise-tools.d.ts +5 -0
  170. package/utils/promise-tools.js +9 -5
  171. package/utils/promise-tools.js.map +1 -0
  172. package/utils/query-params.js +3 -6
  173. package/utils/query-params.js.map +1 -0
  174. package/utils/queue-v2.d.ts +1 -1
  175. package/utils/queue-v2.js +72 -73
  176. package/utils/queue-v2.js.map +1 -0
  177. package/utils/queue.d.ts +1 -1
  178. package/utils/queue.js +15 -17
  179. package/utils/queue.js.map +1 -0
  180. package/utils/random-tools.js +7 -11
  181. package/utils/random-tools.js.map +1 -0
  182. package/utils/storage-capacity-tools.js +7 -9
  183. package/utils/storage-capacity-tools.js.map +1 -0
  184. package/utils/string-tools.js +17 -31
  185. package/utils/string-tools.js.map +1 -0
  186. package/utils/time-proxy.d.ts +8 -0
  187. package/utils/time-proxy.js +10 -0
  188. package/utils/time-proxy.js.map +1 -0
  189. package/utils/tools.d.ts +1 -1
  190. package/utils/tools.js +18 -28
  191. package/utils/tools.js.map +1 -0
  192. package/utils/types.d.ts +9 -3
  193. package/utils/types.js +2 -4
  194. package/utils/types.js.map +1 -0
  195. package/utils/ui-tools.js +6 -12
  196. package/utils/ui-tools.js.map +1 -0
  197. package/utils/url-tools.d.ts +5 -0
  198. package/utils/url-tools.js +20 -0
  199. package/utils/url-tools.js.map +1 -0
  200. package/utils/version-tools.js +17 -12
  201. package/utils/version-tools.js.map +1 -0
  202. package/validator/type-validators.d.ts +14 -10
  203. package/validator/type-validators.js +84 -105
  204. package/validator/type-validators.js.map +1 -0
  205. package/validator/validator-core.d.ts +4 -4
  206. package/validator/validator-core.js +16 -21
  207. package/validator/validator-core.js.map +1 -0
  208. package/validator/validators.d.ts +9 -5
  209. package/validator/validators.js +48 -47
  210. package/validator/validators.js.map +1 -0
  211. package/tsconfig.json +0 -23
@@ -0,0 +1,27 @@
1
+ export * from "./array-tools.js";
2
+ export * from "./conflict-tools.js";
3
+ export * from "./crypto-tools.js";
4
+ export * from "./date-time-tools.js";
5
+ export * from "./db-object-tools.js";
6
+ export * from "./exception-tools.js";
7
+ export * from "./filter-tools.js";
8
+ export * from "./hash-tools.js";
9
+ export * from "./index.js";
10
+ export * from "./json-tools.js";
11
+ export * from "./merge-tools.js";
12
+ export * from "./mimetype-tools.js";
13
+ export * from "./number-tools.js";
14
+ export * from "./object-tools.js";
15
+ export * from "./promise-tools.js";
16
+ export * from "./query-params.js";
17
+ export * from "./queue.js";
18
+ export * from "./queue-v2.js";
19
+ export * from "./random-tools.js";
20
+ export * from "./storage-capacity-tools.js";
21
+ export * from "./string-tools.js";
22
+ export * from "./time-proxy.js";
23
+ export * from "./tools.js";
24
+ export * from "./types.js";
25
+ export * from "./ui-tools.js";
26
+ export * from "./url-tools.js";
27
+ export * from "./version-tools.js";
package/utils/index.js ADDED
@@ -0,0 +1,28 @@
1
+ export * from "./array-tools.js";
2
+ export * from "./conflict-tools.js";
3
+ export * from "./crypto-tools.js";
4
+ export * from "./date-time-tools.js";
5
+ export * from "./db-object-tools.js";
6
+ export * from "./exception-tools.js";
7
+ export * from "./filter-tools.js";
8
+ export * from "./hash-tools.js";
9
+ export * from "./index.js";
10
+ export * from "./json-tools.js";
11
+ export * from "./merge-tools.js";
12
+ export * from "./mimetype-tools.js";
13
+ export * from "./number-tools.js";
14
+ export * from "./object-tools.js";
15
+ export * from "./promise-tools.js";
16
+ export * from "./query-params.js";
17
+ export * from "./queue.js";
18
+ export * from "./queue-v2.js";
19
+ export * from "./random-tools.js";
20
+ export * from "./storage-capacity-tools.js";
21
+ export * from "./string-tools.js";
22
+ export * from "./time-proxy.js";
23
+ export * from "./tools.js";
24
+ export * from "./types.js";
25
+ export * from "./ui-tools.js";
26
+ export * from "./url-tools.js";
27
+ export * from "./version-tools.js";
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidJson = isValidJson;
4
- exports.prettifyJson = prettifyJson;
5
- const tools_1 = require("./tools");
6
- function isValidJson(_string) {
1
+ import { __stringify } from './tools.js';
2
+ export function isValidJson(_string) {
7
3
  try {
8
4
  JSON.parse(_string);
9
5
  return true;
@@ -12,6 +8,7 @@ function isValidJson(_string) {
12
8
  return false;
13
9
  }
14
10
  }
15
- function prettifyJson(obj) {
16
- return (0, tools_1.__stringify)(obj, true);
11
+ export function prettifyJson(obj) {
12
+ return __stringify(obj, true);
17
13
  }
14
+ //# sourceMappingURL=json-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/json-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,IAAI,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAA4B,GAAO;IAC9D,OAAO,WAAW,CAAI,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -1,3 +1,12 @@
1
+ type MergedType<O, U> = {
2
+ [K in keyof O & keyof U]-?: NonNullable<O[K]> & NonNullable<U[K]>;
3
+ } & {
4
+ [K in Exclude<keyof O, keyof U>]?: O[K];
5
+ } & {
6
+ [K in Exclude<keyof U, keyof O>]?: U[K];
7
+ };
8
+ export declare function mergeObjectTyped<Ori, Ove>(original: Ori, override: Ove, unsafe?: boolean): MergedType<Ori, Ove>;
1
9
  export declare function mergeObject(original: any, override: any, unsafe?: boolean): any;
2
10
  export declare function mergeArray(original: any[], override: any[]): any[];
3
11
  export declare function merge(original: any, override: any, unsafe?: boolean): any;
12
+ export {};
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * ts-common is the basic building blocks of our typescript projects
4
3
  *
@@ -16,20 +15,19 @@
16
15
  * See the License for the specific language governing permissions and
17
16
  * limitations under the License.
18
17
  */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.mergeObject = mergeObject;
21
- exports.mergeArray = mergeArray;
22
- exports.merge = merge;
23
- const object_tools_1 = require("./object-tools");
24
- const tools_1 = require("./tools");
25
- const exceptions_1 = require("../core/exceptions/exceptions");
26
- function mergeObject(original, override, unsafe = false) {
18
+ import { deepClone, filterKeys } from './object-tools.js';
19
+ import { exists } from './tools.js';
20
+ import { BadImplementationException } from '../core/exceptions/exceptions.js';
21
+ export function mergeObjectTyped(original, override, unsafe = false) {
22
+ return mergeObject(original, override, unsafe);
23
+ }
24
+ export function mergeObject(original, override, unsafe = false) {
27
25
  if (original === override) {
28
26
  return override;
29
27
  }
30
- if (!(0, tools_1.exists)(original))
31
- return (0, object_tools_1.filterKeys)(override);
32
- const returnValue = (0, object_tools_1.deepClone)(original);
28
+ if (!exists(original))
29
+ return filterKeys(override);
30
+ const returnValue = deepClone(original);
33
31
  return Object.keys(override).reduce((obj, key) => {
34
32
  obj[key] = merge(original[key], override[key], unsafe);
35
33
  if (obj[key] === undefined)
@@ -37,7 +35,7 @@ function mergeObject(original, override, unsafe = false) {
37
35
  return obj;
38
36
  }, returnValue);
39
37
  }
40
- function mergeArray(original, override) {
38
+ export function mergeArray(original, override) {
41
39
  if (original === override) {
42
40
  return override;
43
41
  }
@@ -58,16 +56,17 @@ function mergeArray(original, override) {
58
56
  // });
59
57
  return override;
60
58
  }
61
- function merge(original, override, unsafe = false) {
62
- if (!(0, tools_1.exists)(override))
63
- return undefined;
64
- if (!(0, tools_1.exists)(original))
65
- return typeof override === 'object' ? (0, object_tools_1.filterKeys)(override) : override;
59
+ export function merge(original, override, unsafe = false) {
60
+ if (!exists(override))
61
+ return override;
62
+ if (!exists(original))
63
+ return typeof override === 'object' ? filterKeys(override) : override;
66
64
  if (((typeof original !== typeof override) && !unsafe) || (typeof original === 'object' && typeof override === 'object' && Array.isArray(original) !== Array.isArray(override)))
67
- throw new exceptions_1.BadImplementationException(`trying to merge object of different types!! \n Original: ${JSON.stringify(original)}\n Override: ${JSON.stringify(override)}`);
65
+ throw new BadImplementationException(`trying to merge object of different types!! \n Original: ${JSON.stringify(original)}\n Override: ${JSON.stringify(override)}`);
68
66
  if (Array.isArray(original) && Array.isArray(override))
69
67
  return mergeArray(original, override);
70
68
  if (typeof original === 'object' && typeof override === 'object' && !Array.isArray(original) && !Array.isArray(override))
71
69
  return mergeObject(original || {}, override, unsafe);
72
70
  return override;
73
71
  }
72
+ //# sourceMappingURL=merge-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/merge-tools.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare const MimeType_zip_compressed = "application/x-zip-compressed";
12
12
  export declare const MimeType_zip_multipart = "multipart/x-zip";
13
13
  export declare const MimeType_GROUP_zip: string[];
14
14
  export declare const MimeType_rar = "application/zip";
15
+ export declare const MimeType_json = "application/json";
15
16
  export declare const MimeType_rar_compressed = "application/zip";
16
17
  export declare const MimeType_rar_octetStream = "application/octet-stream";
17
18
  export declare const MimeType_GROUP_rar: string[];
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * ts-common is the basic building blocks of our typescript projects
4
3
  *
@@ -16,31 +15,31 @@
16
15
  * See the License for the specific language governing permissions and
17
16
  * limitations under the License.
18
17
  */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.MimeType_GROUP_rar = exports.MimeType_rar_octetStream = exports.MimeType_rar_compressed = exports.MimeType_rar = exports.MimeType_GROUP_zip = exports.MimeType_zip_multipart = exports.MimeType_zip_compressed = exports.MimeType_zip_octetStream = exports.MimeType_zip = exports.MimeType_pdf = exports.MimeType_gif = exports.MimeType_jpg = exports.MimeType_jpeg = exports.MimeType_png = exports.MimeType_csv = exports.MimeType_html = exports.MimeType_txt = void 0;
21
- exports.MimeType_txt = 'text/plain';
22
- exports.MimeType_html = 'text/html';
23
- exports.MimeType_csv = 'text/csv';
24
- exports.MimeType_png = 'image/png';
25
- exports.MimeType_jpeg = 'image/jpeg';
26
- exports.MimeType_jpg = 'image/jpg';
27
- exports.MimeType_gif = 'image/gif';
28
- exports.MimeType_pdf = 'application/pdf';
29
- exports.MimeType_zip = 'application/zip';
30
- exports.MimeType_zip_octetStream = 'application/octet-stream';
31
- exports.MimeType_zip_compressed = 'application/x-zip-compressed';
32
- exports.MimeType_zip_multipart = 'multipart/x-zip';
33
- exports.MimeType_GROUP_zip = [
34
- exports.MimeType_zip,
35
- exports.MimeType_zip_octetStream,
36
- exports.MimeType_zip_compressed,
37
- exports.MimeType_zip_multipart
18
+ export const MimeType_txt = 'text/plain';
19
+ export const MimeType_html = 'text/html';
20
+ export const MimeType_csv = 'text/csv';
21
+ export const MimeType_png = 'image/png';
22
+ export const MimeType_jpeg = 'image/jpeg';
23
+ export const MimeType_jpg = 'image/jpg';
24
+ export const MimeType_gif = 'image/gif';
25
+ export const MimeType_pdf = 'application/pdf';
26
+ export const MimeType_zip = 'application/zip';
27
+ export const MimeType_zip_octetStream = 'application/octet-stream';
28
+ export const MimeType_zip_compressed = 'application/x-zip-compressed';
29
+ export const MimeType_zip_multipart = 'multipart/x-zip';
30
+ export const MimeType_GROUP_zip = [
31
+ MimeType_zip,
32
+ MimeType_zip_octetStream,
33
+ MimeType_zip_compressed,
34
+ MimeType_zip_multipart
38
35
  ];
39
- exports.MimeType_rar = 'application/zip';
40
- exports.MimeType_rar_compressed = 'application/zip';
41
- exports.MimeType_rar_octetStream = 'application/octet-stream';
42
- exports.MimeType_GROUP_rar = [
43
- exports.MimeType_rar,
44
- exports.MimeType_rar_compressed,
45
- exports.MimeType_rar_octetStream,
36
+ export const MimeType_rar = 'application/zip';
37
+ export const MimeType_json = 'application/json';
38
+ export const MimeType_rar_compressed = 'application/zip';
39
+ export const MimeType_rar_octetStream = 'application/octet-stream';
40
+ export const MimeType_GROUP_rar = [
41
+ MimeType_rar,
42
+ MimeType_rar_compressed,
43
+ MimeType_rar_octetStream,
46
44
  ];
45
+ //# sourceMappingURL=mimetype-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mimetype-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/mimetype-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,YAAY;IACZ,wBAAwB;IACxB,uBAAuB;IACvB,sBAAsB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,YAAY;IACZ,uBAAuB;IACvB,wBAAwB;CACxB,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * ts-common is the basic building blocks of our typescript projects
4
3
  *
@@ -16,12 +15,9 @@
16
15
  * See the License for the specific language governing permissions and
17
16
  * limitations under the License.
18
17
  */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.clamp = exports.roundNumber = void 0;
21
- const roundNumber = (number, digits) => {
18
+ export const roundNumber = (number, digits) => {
22
19
  const multiple = Math.pow(10, digits);
23
20
  return Math.round(number * multiple) / multiple;
24
21
  };
25
- exports.roundNumber = roundNumber;
26
- const clamp = (min, num, max) => Math.min(Math.max(num, min), max);
27
- exports.clamp = clamp;
22
+ export const clamp = (min, num, max) => Math.min(Math.max(num, min), max);
23
+ //# sourceMappingURL=number-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/number-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC"}
@@ -1,10 +1,15 @@
1
- import { DotNotation, TS_Object } from './types';
1
+ import { DotNotation, TS_Object, TypedMap } from './types.js';
2
2
  export declare function getDotNotatedValue<T extends object>(key: DotNotation<T>, dotNotatedObject: T): any;
3
3
  export declare function deepClone<T>(obj: T | Readonly<T>): T;
4
4
  export declare function _keys<T extends {
5
5
  [k: string]: any;
6
6
  }, K extends keyof T>(instance: T): K[];
7
7
  export declare function _values<T extends TS_Object = TS_Object>(object: T): (T[keyof T])[];
8
+ export declare function _entries<T extends TS_Object = TS_Object, K extends keyof T = keyof T>(obj: T): {
9
+ key: K;
10
+ value: T[K];
11
+ }[];
12
+ export declare function sortObject<T extends TS_Object = TS_Object>(obj: T, sortFunction?: ((key: keyof T) => any)): T;
8
13
  export declare function _setTypedProp<T extends TS_Object>(instance: T, key: keyof T, value: T[keyof T]): void;
9
14
  export declare function cloneArr<T>(value: T[]): T[];
10
15
  export declare function cloneObj<T extends TS_Object>(obj: T): T;
@@ -15,3 +20,12 @@ export declare function partialCompare<T>(one?: T, two?: T, keysToFilterOut?: (k
15
20
  export declare function compare<T>(one?: T, two?: T, keys?: (keyof T)[]): boolean;
16
21
  export declare function assert<T>(message: string, expected: T, actual: T): void;
17
22
  export declare function filterKeys<T extends TS_Object = TS_Object>(obj: T, keys?: keyof T | (keyof T)[], filter?: (k: keyof T, obj: T) => boolean): T;
23
+ export type ScrubConfig = {
24
+ emptyObjects: boolean;
25
+ emptyArrays: boolean;
26
+ emptyStrings: boolean;
27
+ returnCopy: boolean;
28
+ };
29
+ export declare function scrub<T>(item: T, config?: Partial<ScrubConfig>): T | undefined;
30
+ export declare function reduceObject<ACC, T extends TypedMap<any>>(object: T, acc: ACC, reducer: <K extends keyof T>(acc: ACC, key: K, value: T[K]) => ACC): ACC;
31
+ export declare function deepFreeze<T>(object: T): T;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * ts-common is the basic building blocks of our typescript projects
4
3
  *
@@ -16,64 +15,67 @@
16
15
  * See the License for the specific language governing permissions and
17
16
  * limitations under the License.
18
17
  */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getDotNotatedValue = getDotNotatedValue;
21
- exports.deepClone = deepClone;
22
- exports._keys = _keys;
23
- exports._values = _values;
24
- exports._setTypedProp = _setTypedProp;
25
- exports.cloneArr = cloneArr;
26
- exports.cloneObj = cloneObj;
27
- exports.partialCompare = partialCompare;
28
- exports.compare = compare;
29
- exports.assert = assert;
30
- exports.filterKeys = filterKeys;
31
- const exceptions_1 = require("../core/exceptions/exceptions");
32
- const array_tools_1 = require("./array-tools");
33
- function getDotNotatedValue(key, dotNotatedObject) {
18
+ import { AssertionException, BadImplementationException } from '../core/exceptions/exceptions.js';
19
+ import { asArray, sortArray } from './array-tools.js';
20
+ import { merge } from './merge-tools.js';
21
+ import { exists } from './tools.js';
22
+ export function getDotNotatedValue(key, dotNotatedObject) {
34
23
  const pathParts = key.split('.');
35
24
  return pathParts.reduce((value, _pathPart) => {
36
25
  return value[_pathPart];
37
26
  }, dotNotatedObject);
38
27
  }
39
- function deepClone(obj) {
28
+ export function deepClone(obj) {
40
29
  if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || typeof obj === 'undefined' || obj === null)
41
30
  return obj;
42
31
  if (Array.isArray(obj))
43
32
  return cloneArr(obj);
44
33
  return cloneObj(obj);
45
34
  }
46
- function _keys(instance) {
35
+ export function _keys(instance) {
47
36
  return Object.keys(instance);
48
37
  }
49
- function _values(object) {
38
+ export function _values(object) {
50
39
  return Object.values(object);
51
40
  }
52
- function _setTypedProp(instance, key, value) {
41
+ export function _entries(obj) {
42
+ return Object.entries(obj).map(entry => ({ key: entry[0], value: entry[1] }));
43
+ }
44
+ export function sortObject(obj, sortFunction) {
45
+ return sortArray(_keys(obj), sortFunction).reduce((toRet, key) => {
46
+ toRet[key] = obj[key];
47
+ return toRet;
48
+ }, {});
49
+ }
50
+ export function _setTypedProp(instance, key, value) {
53
51
  instance[key] = value;
54
52
  }
55
- function cloneArr(value) {
53
+ export function cloneArr(value) {
56
54
  return value.map(a => deepClone(a));
57
55
  }
58
- function cloneObj(obj) {
56
+ export function cloneObj(obj) {
59
57
  return _keys(obj).reduce((carry, key) => {
60
58
  carry[key] = deepClone(obj[key]);
61
59
  return carry;
62
60
  }, {});
63
61
  }
64
- function partialCompare(one, two, keysToFilterOut) {
62
+ export function partialCompare(one, two, keysToFilterOut) {
65
63
  one = deepClone(one);
66
64
  two = deepClone(two);
67
- keysToFilterOut === null || keysToFilterOut === void 0 ? void 0 : keysToFilterOut.forEach(key => {
68
- one === null || one === void 0 ? true : delete one[key];
69
- two === null || two === void 0 ? true : delete two[key];
65
+ keysToFilterOut?.forEach(key => {
66
+ delete one?.[key];
67
+ delete two?.[key];
70
68
  });
71
69
  return compare(one, two);
72
70
  }
71
+ /** Narrowing helper for RegExp (robust across realms) */
72
+ const isRegExp = (v) => Object.prototype.toString.call(v) === '[object RegExp]';
73
+ /** Compare RegExps by source, flags, and lastIndex */
74
+ const compareRegExp = (a, b) => a.source === b.source && a.flags === b.flags && a.lastIndex === b.lastIndex;
73
75
  /**
74
76
  * Returns true for equal.
75
77
  */
76
- function compare(one, two, keys) {
78
+ export function compare(one, two, keys) {
77
79
  const typeofOne = typeof one;
78
80
  const typeofTwo = typeof two;
79
81
  if (typeofOne !== typeofTwo)
@@ -86,8 +88,15 @@ function compare(one, two, keys) {
86
88
  return true;
87
89
  if (one === null || two === null)
88
90
  return false;
91
+ // ----- SPECIAL CASES -----
92
+ // RegExp: compare semantic fields (keys are non-enumerable)
93
+ if (isRegExp(one) && isRegExp(two))
94
+ return compareRegExp(one, two);
95
+ // Date: compare epoch time
96
+ if (one instanceof Date && two instanceof Date)
97
+ return one.getTime() === two.getTime();
89
98
  if (typeofOne === 'function')
90
- throw new exceptions_1.BadImplementationException('This compare meant to compare two POJOs.. nothing more');
99
+ throw new BadImplementationException('This compare meant to compare two POJOs.. nothing more');
91
100
  if (typeofOne !== 'object')
92
101
  return one === two;
93
102
  if (Array.isArray(one) && Array.isArray(two)) {
@@ -117,17 +126,85 @@ function compare(one, two, keys) {
117
126
  }
118
127
  return true;
119
128
  }
120
- function assert(message, expected, actual) {
129
+ export function assert(message, expected, actual) {
121
130
  if (!compare(expected, actual))
122
- throw new exceptions_1.AssertionException(`Assertion Failed:\n -- ${message}\n -- Expected: ${JSON.stringify(expected)}\n -- Actual: ${JSON.stringify(actual)}\n\n`);
131
+ throw new AssertionException(`Assertion Failed:\n -- ${message}\n -- Expected: ${JSON.stringify(expected)}\n -- Actual: ${JSON.stringify(actual)}\n\n`);
123
132
  }
124
- function filterKeys(obj, keys = _keys(obj), filter = (k) => obj[k] === undefined || obj[k] === null) {
133
+ export function filterKeys(obj, keys = _keys(obj), filter = (k) => obj[k] === undefined || obj[k] === null) {
125
134
  if (typeof obj !== 'object' || obj === null) {
126
- throw new exceptions_1.BadImplementationException('Passed parameter for "obj" must be an object');
135
+ throw new BadImplementationException('Passed parameter for "obj" must be an object');
127
136
  }
128
- (0, array_tools_1.asArray)(keys).forEach(key => {
137
+ asArray(keys).forEach(key => {
129
138
  if (filter(key, obj))
130
139
  delete obj[key];
131
140
  });
132
141
  return obj;
133
142
  }
143
+ const defaultScrubConfig = {
144
+ emptyObjects: false,
145
+ emptyArrays: false,
146
+ emptyStrings: false,
147
+ returnCopy: true
148
+ };
149
+ export function scrub(item, config = {}) {
150
+ config = merge(defaultScrubConfig, config);
151
+ return scrubImpl(item, config);
152
+ }
153
+ function scrubImpl(item, config) {
154
+ //Quick exit if item does not exist
155
+ if (!exists(item))
156
+ return;
157
+ //Item is a boolean - always return it
158
+ if (typeof item === 'boolean' || typeof item === 'number')
159
+ return item;
160
+ //Item is a string
161
+ if (typeof item === 'string') {
162
+ //return undefined if the item is an empty string and we are scrubbing those
163
+ return (!item.length && config.emptyStrings) ? undefined : item;
164
+ }
165
+ //Item is an object
166
+ if (typeof item === 'object') {
167
+ if (Array.isArray(item)) { //ITEM IS AN ARRAY
168
+ const arr = config.returnCopy ? cloneArr(item) : item;
169
+ //Scrub each value in the array
170
+ arr.forEach((val, i) => arr[i] = scrubImpl(val, config));
171
+ //Remove any item that returned as undefined
172
+ const filtered = arr.filter(item => !!item);
173
+ filtered.forEach((val, i) => arr[i] = val);
174
+ arr.length = filtered.length;
175
+ //Return undefined if scrubbing empty arrays
176
+ return (arr.length === 0 && config.emptyArrays) ? undefined : arr;
177
+ }
178
+ else { //ITEM IS AN OBJECT
179
+ const obj = (config.returnCopy ? cloneObj(item) : item);
180
+ const keys = _keys(obj);
181
+ //Scrub each property on the object
182
+ keys.forEach(key => {
183
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
184
+ obj[key] = scrubImpl(obj[key], config);
185
+ if (!exists(obj[key]))
186
+ delete obj[key];
187
+ });
188
+ //Return undefined if scrubbing empty objects
189
+ return (_keys(obj).length === 0 && config.emptyObjects) ? undefined : obj;
190
+ }
191
+ }
192
+ }
193
+ export function reduceObject(object, acc, reducer) {
194
+ return _keys(object).reduce((accumulator, key) => {
195
+ const typedKey = key;
196
+ return reducer(accumulator, typedKey, object[typedKey]);
197
+ }, acc);
198
+ }
199
+ export function deepFreeze(object) {
200
+ if (object === null || typeof object !== 'object')
201
+ return object;
202
+ // Freeze each property before freezing self
203
+ for (const key of Object.getOwnPropertyNames(object)) {
204
+ const value = object[key];
205
+ if (typeof value === 'object' && value !== null && !Object.isFrozen(value))
206
+ deepFreeze(value);
207
+ }
208
+ return Object.freeze(object);
209
+ }
210
+ //# sourceMappingURL=object-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/object-tools.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,8 @@ export type PromiseCallbackFunction<T> = (resolve: ResolvePromiseFunction<T>, re
7
7
  * @param callback The action to run
8
8
  */
9
9
  export declare const promiseWrapper: <T>(callback: PromiseCallbackFunction<T>) => Promise<T>;
10
+ /**
11
+ * Check if a result of a function call is a promise
12
+ * @param obj The function call to validate
13
+ */
14
+ export declare const isPromise: <T = any>(obj: any) => obj is Promise<T>;
@@ -1,12 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promiseWrapper = void 0;
4
1
  /**
5
2
  * Promise wrapper for actions
6
3
  * use to wrap a action with a promise
7
4
  * @param callback The action to run
8
5
  */
9
- const promiseWrapper = (callback) => {
6
+ export const promiseWrapper = (callback) => {
10
7
  return new Promise((resolve, reject) => callback(resolve, reject));
11
8
  };
12
- exports.promiseWrapper = promiseWrapper;
9
+ /**
10
+ * Check if a result of a function call is a promise
11
+ * @param obj The function call to validate
12
+ */
13
+ export const isPromise = (obj) => {
14
+ return obj instanceof Promise || (!!obj && (typeof obj.then === 'function' && typeof obj.catch === 'function'));
15
+ };
16
+ //# sourceMappingURL=promise-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/promise-tools.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,QAAoC,EAAE,EAAE;IACzE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAU,GAAQ,EAAqB,EAAE;IACjE,OAAO,GAAG,YAAY,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.composeQueryParams = composeQueryParams;
4
- exports.composeUrl = composeUrl;
5
- function composeQueryParams(params = {}) {
1
+ export function composeQueryParams(params = {}) {
6
2
  return Object.keys(params).map((paramKey) => {
7
3
  let param = params[paramKey];
8
4
  if (param === undefined || param === null)
@@ -12,7 +8,7 @@ function composeQueryParams(params = {}) {
12
8
  return `${paramKey}=${encodeURIComponent(param)}`;
13
9
  }).join('&');
14
10
  }
15
- function composeUrl(url, params = {}, hash = '') {
11
+ export function composeUrl(url, params = {}, hash = '') {
16
12
  const queryAsEncodedString = composeQueryParams(params);
17
13
  if (queryAsEncodedString.length)
18
14
  return `${url}?${queryAsEncodedString}`;
@@ -20,3 +16,4 @@ function composeUrl(url, params = {}, hash = '') {
20
16
  return `${url}${hash.startsWith('#') ? hash : `#${hash}`}`;
21
17
  return url;
22
18
  }
19
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/query-params.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,SAAsB,EAAE;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC3C,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACxC,OAAO,GAAG,QAAQ,GAAG,CAAC;QAEvB,IAAI,OAAO,KAAK,KAAK,UAAU;YAC9B,KAAK,GAAG,KAAK,EAAE,CAAC;QAEjB,OAAO,GAAG,QAAQ,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,SAAsB,EAAE,EAAE,IAAI,GAAG,EAAE;IAC1E,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,oBAAoB,CAAC,MAAM;QAC9B,OAAO,GAAG,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEzC,IAAI,IAAI,CAAC,MAAM;QACd,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IAE5D,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Logger } from '../core/logger/Logger';
1
+ import { Logger } from '../core/logger/Logger.js';
2
2
  export type QueueItem<InputType, OutputType> = {
3
3
  onCompleted?: (output: OutputType) => void;
4
4
  onError?: (error: Error) => void;