@nu-art/ts-common 0.105.0 → 0.105.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/consts/consts.d.ts +1 -0
  2. package/consts/consts.js +22 -0
  3. package/consts/consts.js.map +1 -0
  4. package/core/application.d.ts +5 -0
  5. package/core/application.js +55 -0
  6. package/core/application.js.map +1 -0
  7. package/core/debug-flags.d.ts +25 -0
  8. package/core/debug-flags.js +87 -0
  9. package/core/debug-flags.js.map +1 -0
  10. package/core/dispatcher.d.ts +18 -0
  11. package/core/dispatcher.js +132 -0
  12. package/core/dispatcher.js.map +1 -0
  13. package/core/error-handling.d.ts +14 -0
  14. package/core/error-handling.js +38 -0
  15. package/core/error-handling.js.map +1 -0
  16. package/core/exceptions.d.ts +118 -0
  17. package/core/exceptions.js +214 -0
  18. package/core/exceptions.js.map +1 -0
  19. package/core/logger/BeLogged.d.ts +14 -0
  20. package/core/logger/BeLogged.js +61 -0
  21. package/core/logger/BeLogged.js.map +1 -0
  22. package/core/logger/LogClient.d.ts +14 -0
  23. package/core/logger/LogClient.js +67 -0
  24. package/core/logger/LogClient.js.map +1 -0
  25. package/core/logger/LogClient_BaseRotate.d.ts +19 -0
  26. package/core/logger/LogClient_BaseRotate.js +80 -0
  27. package/core/logger/LogClient_BaseRotate.js.map +1 -0
  28. package/core/logger/LogClient_Browser.d.ts +9 -0
  29. package/core/logger/LogClient_Browser.js +101 -0
  30. package/core/logger/LogClient_Browser.js.map +1 -0
  31. package/core/logger/LogClient_Function.d.ts +8 -0
  32. package/core/logger/LogClient_Function.js +75 -0
  33. package/core/logger/LogClient_Function.js.map +1 -0
  34. package/core/logger/LogClient_MemBuffer.d.ts +9 -0
  35. package/core/logger/LogClient_MemBuffer.js +61 -0
  36. package/core/logger/LogClient_MemBuffer.js.map +1 -0
  37. package/core/logger/LogClient_Terminal.d.ts +9 -0
  38. package/core/logger/LogClient_Terminal.js +75 -0
  39. package/core/logger/LogClient_Terminal.js.map +1 -0
  40. package/core/logger/Logger.d.ts +38 -0
  41. package/core/logger/Logger.js +216 -0
  42. package/core/logger/Logger.js.map +1 -0
  43. package/core/logger/types.d.ts +10 -0
  44. package/core/logger/types.js +36 -0
  45. package/core/logger/types.js.map +1 -0
  46. package/core/logger/utils.d.ts +5 -0
  47. package/core/logger/utils.js +80 -0
  48. package/core/logger/utils.js.map +1 -0
  49. package/core/module-manager.d.ts +18 -0
  50. package/core/module-manager.js +112 -0
  51. package/core/module-manager.js.map +1 -0
  52. package/core/module.d.ts +32 -0
  53. package/core/module.js +126 -0
  54. package/core/module.js.map +1 -0
  55. package/csv.d.ts +1 -0
  56. package/csv.js +35 -0
  57. package/csv.js.map +1 -0
  58. package/index.d.ts +43 -0
  59. package/index.js +77 -0
  60. package/index.js.map +1 -0
  61. package/modules/CSVModule.d.ts +32 -0
  62. package/modules/CSVModule.js +165 -0
  63. package/modules/CSVModule.js.map +1 -0
  64. package/modules/CliParamsModule.d.ts +27 -0
  65. package/modules/CliParamsModule.js +94 -0
  66. package/modules/CliParamsModule.js.map +1 -0
  67. package/modules/csv-serializer.d.ts +11 -0
  68. package/modules/csv-serializer.js +50 -0
  69. package/modules/csv-serializer.js.map +1 -0
  70. package/package.json +3 -6
  71. package/permissions/permission-group.d.ts +8 -0
  72. package/permissions/permission-group.js +37 -0
  73. package/permissions/permission-group.js.map +1 -0
  74. package/test-index.d.ts +2 -0
  75. package/test-index.js +19 -0
  76. package/test-index.js.map +1 -0
  77. package/testing/consts.d.ts +5 -0
  78. package/testing/consts.js +74 -0
  79. package/testing/consts.js.map +1 -0
  80. package/testing/types.d.ts +16 -0
  81. package/testing/types.js +20 -0
  82. package/testing/types.js.map +1 -0
  83. package/tools/Replacer.d.ts +24 -0
  84. package/tools/Replacer.js +172 -0
  85. package/tools/Replacer.js.map +1 -0
  86. package/tools/get-log-style.d.ts +14 -0
  87. package/tools/get-log-style.js +43 -0
  88. package/tools/get-log-style.js.map +1 -0
  89. package/utils/array-tools.d.ts +85 -0
  90. package/utils/array-tools.js +302 -0
  91. package/utils/array-tools.js.map +1 -0
  92. package/utils/crypto-tools.d.ts +4 -0
  93. package/utils/crypto-tools.js +36 -0
  94. package/utils/crypto-tools.js.map +1 -0
  95. package/utils/date-time-tools.d.ts +28 -0
  96. package/utils/date-time-tools.js +180 -0
  97. package/utils/date-time-tools.js.map +1 -0
  98. package/utils/db-object-tools.d.ts +3 -0
  99. package/utils/db-object-tools.js +9 -0
  100. package/utils/db-object-tools.js.map +1 -0
  101. package/utils/filter-tools.d.ts +137 -0
  102. package/utils/filter-tools.js +217 -0
  103. package/utils/filter-tools.js.map +1 -0
  104. package/utils/hash-tools.d.ts +8 -0
  105. package/utils/hash-tools.js +60 -0
  106. package/utils/hash-tools.js.map +1 -0
  107. package/utils/merge-tools.d.ts +3 -0
  108. package/utils/merge-tools.js +71 -0
  109. package/utils/merge-tools.js.map +1 -0
  110. package/utils/mimetype-tools.d.ts +8 -0
  111. package/utils/mimetype-tools.js +29 -0
  112. package/utils/mimetype-tools.js.map +1 -0
  113. package/utils/number-tools.d.ts +1 -0
  114. package/utils/number-tools.js +26 -0
  115. package/utils/number-tools.js.map +1 -0
  116. package/utils/object-tools.d.ts +13 -0
  117. package/utils/object-tools.js +129 -0
  118. package/utils/object-tools.js.map +1 -0
  119. package/utils/query-params.d.ts +5 -0
  120. package/utils/query-params.js +24 -0
  121. package/utils/query-params.js.map +1 -0
  122. package/utils/queue.d.ts +16 -0
  123. package/utils/queue.js +166 -0
  124. package/utils/queue.js.map +1 -0
  125. package/utils/random-tools.d.ts +2 -0
  126. package/utils/random-tools.js +35 -0
  127. package/utils/random-tools.js.map +1 -0
  128. package/utils/storage-capacity-tools.d.ts +6 -0
  129. package/utils/storage-capacity-tools.js +27 -0
  130. package/utils/storage-capacity-tools.js.map +1 -0
  131. package/utils/string-tools.d.ts +10 -0
  132. package/utils/string-tools.js +100 -0
  133. package/utils/string-tools.js.map +1 -0
  134. package/utils/tools.d.ts +13 -0
  135. package/utils/tools.js +103 -0
  136. package/utils/tools.js.map +1 -0
  137. package/utils/types.d.ts +92 -0
  138. package/utils/types.js +23 -0
  139. package/utils/types.js.map +1 -0
  140. package/utils/version-tools.d.ts +10 -0
  141. package/utils/version-tools.js +51 -0
  142. package/utils/version-tools.js.map +1 -0
  143. package/validator/type-validators.d.ts +29 -0
  144. package/validator/type-validators.js +211 -0
  145. package/validator/type-validators.js.map +1 -0
  146. package/validator/validator-core.d.ts +36 -0
  147. package/validator/validator-core.js +144 -0
  148. package/validator/validator-core.js.map +1 -0
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ /*
3
+ * ts-common is the basic building blocks of our typescript projects
4
+ *
5
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ var __extends = (this && this.__extends) || (function () {
20
+ var extendStatics = function (d, b) {
21
+ extendStatics = Object.setPrototypeOf ||
22
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
23
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
24
+ return extendStatics(d, b);
25
+ };
26
+ return function (d, b) {
27
+ if (typeof b !== "function" && b !== null)
28
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
29
+ extendStatics(d, b);
30
+ function __() { this.constructor = d; }
31
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
32
+ };
33
+ })();
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.Replacer = void 0;
36
+ var Logger_1 = require("../core/logger/Logger");
37
+ var validator_core_1 = require("../validator/validator-core");
38
+ var Replacer = /** @class */ (function (_super) {
39
+ __extends(Replacer, _super);
40
+ function Replacer() {
41
+ var _this = _super.call(this) || this;
42
+ _this.strictMode = true;
43
+ _this.input = {};
44
+ _this.aliases = [];
45
+ return _this;
46
+ // this.setMinLevel(LogLevel.Error);
47
+ }
48
+ Replacer.prototype.setFallbackReplacer = function (fallbackReplacer) {
49
+ this.fallbackReplacer = fallbackReplacer;
50
+ return this;
51
+ };
52
+ Replacer.prototype.setNotStrict = function () {
53
+ this.strictMode = false;
54
+ return this;
55
+ };
56
+ Replacer.prototype.getInput = function () {
57
+ return this.input;
58
+ };
59
+ Replacer.prototype.setInput = function (input, aliases) {
60
+ if (aliases === void 0) { aliases = []; }
61
+ this.input = input;
62
+ this.aliases = aliases;
63
+ return this;
64
+ };
65
+ Replacer.prototype.replace = function (_content, runtime) {
66
+ if (_content === void 0) { _content = ''; }
67
+ var content = this.replaceLoops(_content, runtime);
68
+ content = this.replaceParams(content, runtime);
69
+ if (_content !== content)
70
+ content = this.replace(content, runtime);
71
+ return content;
72
+ };
73
+ Replacer.prototype.replaceParams = function (content, runtime) {
74
+ var _this = this;
75
+ if (content === void 0) { content = ''; }
76
+ var matches = content.match(Replacer.Regexp_paramGroup);
77
+ return (matches === null || matches === void 0 ? void 0 : matches.reduce(function (toRet, match) {
78
+ var _a;
79
+ var param = match;
80
+ while (Replacer.Regexp_param.test(param))
81
+ param = (_a = param.match(Replacer.Regexp_param)) === null || _a === void 0 ? void 0 : _a[1];
82
+ if (param === undefined)
83
+ return toRet;
84
+ var value = _this.resolveParam(param, toRet, runtime);
85
+ return toRet.replace(match, value);
86
+ }, content)) || content;
87
+ };
88
+ Replacer.prototype.resolveParam = function (param, toRet, runtime) {
89
+ var value = this.resolveParamValue(param, runtime);
90
+ if (this.fallbackReplacer && (value === undefined || value === ''))
91
+ return this.fallbackReplacer.resolveParam(param, toRet, runtime);
92
+ return value;
93
+ };
94
+ Replacer.prototype.replaceLoops = function (content, runtime) {
95
+ var _this = this;
96
+ if (content === void 0) { content = ''; }
97
+ var matches = content.match(Replacer.Regexp_forLoopGroupStart);
98
+ return (matches === null || matches === void 0 ? void 0 : matches.reduce(function (toRet, match) {
99
+ var varsMatch = match.match(Replacer.Regexp_forLoopParam);
100
+ var string = varsMatch[0];
101
+ var iterable = varsMatch[1];
102
+ var iterator = varsMatch[2];
103
+ var endMatch = "{{/foreach ".concat(iterator, "}}");
104
+ var indexOfEnd = toRet.indexOf(endMatch);
105
+ var fullOriginLoopText = toRet.substring(toRet.indexOf(string), indexOfEnd + endMatch.length);
106
+ var loopText = toRet.substring(toRet.indexOf(string) + string.length, indexOfEnd);
107
+ _this.logDebug("indexOfEnd: ".concat(endMatch, " ").concat(indexOfEnd));
108
+ _this.logDebug("string: ".concat(string, " ").concat(toRet.indexOf(string)));
109
+ _this.logDebug("iterable: ".concat(iterable));
110
+ _this.logDebug("iterator: ".concat(iterator));
111
+ _this.logDebug("loopText: ".concat(loopText));
112
+ var loopArray;
113
+ var iterableProp = "".concat(iterator);
114
+ try {
115
+ loopArray = _this.resolveParamValue(iterableProp, runtime);
116
+ }
117
+ catch (e) {
118
+ throw new validator_core_1.ValidationException("Error while looping on variable for parts: ", iterableProp, _this.input, e);
119
+ }
120
+ if (!Array.isArray(loopArray))
121
+ _this.logWarning("Loop object is not an array.. found:", loopArray);
122
+ var replacement = loopArray.reduce(function (_toRet, value) {
123
+ return _toRet + _this.replace(loopText, { property: value });
124
+ }, '');
125
+ var s = toRet.replace(fullOriginLoopText, replacement);
126
+ return s;
127
+ }, content)) || content;
128
+ };
129
+ Replacer.prototype.resolveParamValue = function (_param, runtime) {
130
+ var param = _param;
131
+ var alias = this.aliases.find(function (alias) { return alias.key === param; });
132
+ if (alias) {
133
+ this.logInfo('using alias: ', alias);
134
+ param = alias.value || param;
135
+ }
136
+ param = param.replace(/\[/g, '.').replace(/\]/g, '');
137
+ if (param.endsWith('.'))
138
+ param = param.substring(0, param.length - 1);
139
+ if (param.startsWith(Replacer.Indicator_RuntimeParam))
140
+ param = "".concat(Replacer.RuntimeParam, ".").concat(param.substring(Replacer.Indicator_RuntimeParam.length));
141
+ var parts = param.split('\.');
142
+ var value;
143
+ try {
144
+ if (runtime)
145
+ value = parts.reduce(function (value, key) { return value === null || value === void 0 ? void 0 : value[key]; }, runtime);
146
+ if (value === undefined)
147
+ value = parts.reduce(function (value, key) { return value[key]; }, this.input);
148
+ }
149
+ catch (e) {
150
+ this.logWarning('input', this.input);
151
+ throw new validator_core_1.ValidationException("Error while resolving runtime variable for parts ".concat(param), param, this.input, e);
152
+ }
153
+ if (value === undefined) {
154
+ this.logWarning('input', this.input);
155
+ if (this.strictMode)
156
+ throw new validator_core_1.ValidationException("Cannot resolve runtime variable for parts ".concat(param), param, this.input);
157
+ }
158
+ return value;
159
+ // this.logDebug(`Input:`, this.input);
160
+ // this.logDebug(`Param: ${param}`, 'Parts: ', parts);
161
+ // this.logDebug(value);
162
+ };
163
+ Replacer.RuntimeParam = '__runtime';
164
+ Replacer.Indicator_RuntimeParam = '__';
165
+ Replacer.Regexp_paramGroup = /\$\{(\{?.*?\}?)\}/g;
166
+ Replacer.Regexp_param = /\$\{(\{?.*?\}?)\}/;
167
+ Replacer.Regexp_forLoopGroupStart = /\{\{foreach (.*?) in (.*?)\}\}/g;
168
+ Replacer.Regexp_forLoopParam = /\{\{foreach (.*?) in (.*?)\}\}/;
169
+ return Replacer;
170
+ }(Logger_1.Logger));
171
+ exports.Replacer = Replacer;
172
+ //# sourceMappingURL=Replacer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replacer.js","sourceRoot":"","sources":["../../src/main/tools/Replacer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type LogStyle = {
2
+ 'color'?: string;
3
+ 'background-color'?: string;
4
+ 'padding'?: string;
5
+ 'border-radius'?: string;
6
+ };
7
+ /**
8
+ * Returns a style string for console.log()
9
+ * To log with style, make sure to add '%c' at the start of the log.
10
+ * log structure should be: console.log('%cTEXT HERE', STYLE STRING, any other items to log)
11
+ *
12
+ * @param styleObj - one or more style objects defining the log style
13
+ */
14
+ export declare function getLogStyle(...styleObj: LogStyle[]): string;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /*
3
+ * ts-common is the basic building blocks of our typescript projects
4
+ *
5
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.getLogStyle = void 0;
21
+ var object_tools_1 = require("../utils/object-tools");
22
+ /**
23
+ * Returns a style string for console.log()
24
+ * To log with style, make sure to add '%c' at the start of the log.
25
+ * log structure should be: console.log('%cTEXT HERE', STYLE STRING, any other items to log)
26
+ *
27
+ * @param styleObj - one or more style objects defining the log style
28
+ */
29
+ function getLogStyle() {
30
+ var styleObj = [];
31
+ for (var _i = 0; _i < arguments.length; _i++) {
32
+ styleObj[_i] = arguments[_i];
33
+ }
34
+ var style = '';
35
+ styleObj.forEach(function (obj) {
36
+ var _arr = (0, object_tools_1._keys)(obj).map(function (key) { return "".concat(key, ": ").concat(obj[key]); });
37
+ style += _arr.join(';');
38
+ style += ';';
39
+ });
40
+ return style;
41
+ }
42
+ exports.getLogStyle = getLogStyle;
43
+ //# sourceMappingURL=get-log-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-log-style.js","sourceRoot":"","sources":["../../src/main/tools/get-log-style.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,sDAA4C;AAS5C;;;;;;GAMG;AACH,SAAgB,WAAW;IAAC,kBAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,6BAAuB;;IAClD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QACnB,IAAM,IAAI,GAAG,IAAA,oBAAK,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,UAAG,GAAG,eAAK,GAAG,CAAC,GAAG,CAAC,CAAE,EAArB,CAAqB,CAAC,CAAC;QAC1D,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AARD,kCAQC"}
@@ -0,0 +1,85 @@
1
+ import { NestedArrayType } from './types';
2
+ /**
3
+ * Finds and removes first instance of item from array
4
+ * tested V
5
+ */
6
+ export declare function removeItemFromArray<T>(array: T[], item: T): T[];
7
+ /**
8
+ * Removes the first item answering the condition given from array in place
9
+ * tested V
10
+ */
11
+ export declare function removeFromArray<T>(array: T[], item: (_item: T) => boolean): T[];
12
+ /**
13
+ * Removes item from array in index
14
+ * tested V
15
+ */
16
+ export declare function removeFromArrayByIndex<T>(array: T[], index: number): T[];
17
+ /**
18
+ * Deprecated
19
+ */
20
+ export declare function addItemToArray<T>(array: T[], item: T): T[];
21
+ export declare function addItemToArrayAtIndex<T>(array: T[], item: T, index: number): T[];
22
+ export declare function toggleElementInArray<T>(array: T[], item: T): T[];
23
+ /**
24
+ * Removes all items answering the condition given from array in place
25
+ */
26
+ export declare function filterAsync<T>(arr: T[], filter: (parameter: T) => Promise<boolean>): Promise<T[]>;
27
+ /**
28
+ * builds array that holds all items that are in array1 and array2
29
+ * problem with objects
30
+ */
31
+ export declare function findDuplicates<T>(array1: T[], array2: T[]): T[];
32
+ /**
33
+ remove all duplicates in array
34
+ * */
35
+ export declare function filterDuplicates<T>(source: T[], mapper?: (item: T) => any): T[];
36
+ /**
37
+ * filter array of all undefined and null
38
+ * */
39
+ export declare function filterInstances<T>(array?: (T | undefined | null | void)[]): T[];
40
+ /**
41
+ * filter array of all falsy instances
42
+ * */
43
+ export declare function filterFalsy<T>(array?: (T | undefined | null | void)[]): T[];
44
+ /**
45
+ * receives array and builds hashmap whom keys are decided via function and values are from array
46
+ * */
47
+ export declare function arrayToMap<T>(array: T[] | Readonly<T[]>, getKey: (item: T, index: number, map: {
48
+ [k: string]: T;
49
+ }) => string | number, map?: {
50
+ [k: string]: T;
51
+ }): {
52
+ [k: string]: T;
53
+ };
54
+ /**
55
+ * turns array into object that is similar to hashmap
56
+ * */
57
+ export declare function reduceToMap<Input, Output = Input>(array: (Input[] | Readonly<Input[]>), keyResolver: (item: Input, index: number, map: {
58
+ [k: string]: Output;
59
+ }) => string | number, mapper: (item: Input, index: number, map: {
60
+ [k: string]: Output;
61
+ }) => Output, map?: {
62
+ [k: string]: Output;
63
+ }): {
64
+ [k: string]: Output;
65
+ };
66
+ /**
67
+ * sorts array
68
+ * */
69
+ export declare function sortArray<T>(array: T[], map?: keyof T | (keyof T)[] | ((item: T) => any), invert?: boolean): T[];
70
+ /**
71
+ * "splits" array into given size of chunks and then does "action" on chunk and return to array of actions on chunks +-
72
+ * */
73
+ export declare function batchAction<T extends any = any, R extends any = any>(arr: T[], chunk: number, action: (elements: T[]) => Promise<R | R[]>): Promise<R[]>;
74
+ export declare function batchActionParallel<T extends any = any, R extends any = any>(arr: T[], chunk: number, action: (elements: T[]) => Promise<R | R[]>): Promise<R[]>;
75
+ /**
76
+ * Returns a flat array from an array of arrays.
77
+ * @param arr An array that is potentially a matrix
78
+ * @param result A flat array of single values
79
+ */
80
+ export declare function flatArray<T extends any[], K = NestedArrayType<T>>(arr: T, result?: K[]): K[];
81
+ export declare function groupArrayBy<T extends object, K extends string | number>(arr: T[], mapper: (item: T, index: number) => K): {
82
+ key: K;
83
+ values: T[];
84
+ }[];
85
+ export declare function toggleInArray<T extends any = string, K extends any = (T extends object ? keyof T : T)>(arr: T[], item: T, mapper?: (item: T) => K): void;
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ /*
3
+ * ts-common is the basic building blocks of our typescript projects
4
+ *
5
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
+ return new (P || (P = Promise))(function (resolve, reject) {
22
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
26
+ });
27
+ };
28
+ var __generator = (this && this.__generator) || function (thisArg, body) {
29
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
30
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
31
+ function verb(n) { return function (v) { return step([n, v]); }; }
32
+ function step(op) {
33
+ if (f) throw new TypeError("Generator is already executing.");
34
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
35
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
36
+ if (y = 0, t) op = [op[0] & 2, t.value];
37
+ switch (op[0]) {
38
+ case 0: case 1: t = op; break;
39
+ case 4: _.label++; return { value: op[1], done: false };
40
+ case 5: _.label++; y = op[1]; op = [0]; continue;
41
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
42
+ default:
43
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
44
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
45
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
46
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
47
+ if (t[2]) _.ops.pop();
48
+ _.trys.pop(); continue;
49
+ }
50
+ op = body.call(thisArg, _);
51
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
52
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
53
+ }
54
+ };
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.toggleInArray = exports.groupArrayBy = exports.flatArray = exports.batchActionParallel = exports.batchAction = exports.sortArray = exports.reduceToMap = exports.arrayToMap = exports.filterFalsy = exports.filterInstances = exports.filterDuplicates = exports.findDuplicates = exports.filterAsync = exports.toggleElementInArray = exports.addItemToArrayAtIndex = exports.addItemToArray = exports.removeFromArrayByIndex = exports.removeFromArray = exports.removeItemFromArray = void 0;
57
+ var tools_1 = require("./tools");
58
+ var object_tools_1 = require("./object-tools");
59
+ /**
60
+ * Finds and removes first instance of item from array
61
+ * tested V
62
+ */
63
+ function removeItemFromArray(array, item) {
64
+ var index = array.indexOf(item);
65
+ return removeFromArrayByIndex(array, index);
66
+ }
67
+ exports.removeItemFromArray = removeItemFromArray;
68
+ /**
69
+ * Removes the first item answering the condition given from array in place
70
+ * tested V
71
+ */
72
+ function removeFromArray(array, item) {
73
+ var index = array.findIndex(item);
74
+ return removeFromArrayByIndex(array, index);
75
+ }
76
+ exports.removeFromArray = removeFromArray;
77
+ /**
78
+ * Removes item from array in index
79
+ * tested V
80
+ */
81
+ function removeFromArrayByIndex(array, index) {
82
+ if (index > -1)
83
+ array.splice(index, 1);
84
+ return array;
85
+ }
86
+ exports.removeFromArrayByIndex = removeFromArrayByIndex;
87
+ /**
88
+ * Deprecated
89
+ */
90
+ function addItemToArray(array, item) {
91
+ array.push(item);
92
+ return array;
93
+ }
94
+ exports.addItemToArray = addItemToArray;
95
+ function addItemToArrayAtIndex(array, item, index) {
96
+ array.splice(index, 0, item);
97
+ return array;
98
+ }
99
+ exports.addItemToArrayAtIndex = addItemToArrayAtIndex;
100
+ function toggleElementInArray(array, item) {
101
+ var index = array.indexOf(item);
102
+ if (index > -1)
103
+ array.splice(index, 1);
104
+ else
105
+ array.push(item);
106
+ return array;
107
+ }
108
+ exports.toggleElementInArray = toggleElementInArray;
109
+ /**
110
+ * Removes all items answering the condition given from array in place
111
+ */
112
+ function filterAsync(arr, filter) {
113
+ return __awaiter(this, void 0, void 0, function () {
114
+ var boolArray;
115
+ return __generator(this, function (_c) {
116
+ switch (_c.label) {
117
+ case 0: return [4 /*yield*/, Promise.all(arr.map(function (item) { return filter(item); }))];
118
+ case 1:
119
+ boolArray = _c.sent();
120
+ return [2 /*return*/, arr.filter(function (item, index) { return boolArray[index]; })];
121
+ }
122
+ });
123
+ });
124
+ }
125
+ exports.filterAsync = filterAsync;
126
+ /**
127
+ * builds array that holds all items that are in array1 and array2
128
+ * problem with objects
129
+ */
130
+ function findDuplicates(array1, array2) {
131
+ return array1.filter(function (val) { return array2.indexOf(val) !== -1; });
132
+ }
133
+ exports.findDuplicates = findDuplicates;
134
+ var defaultMapper = function (item) { return item; };
135
+ /**
136
+ remove all duplicates in array
137
+ * */
138
+ function filterDuplicates(source, mapper) {
139
+ if (mapper === void 0) { mapper = defaultMapper; }
140
+ if (defaultMapper === mapper)
141
+ return Array.from(new Set(source));
142
+ var uniqueKeys = new Set(source.map(mapper));
143
+ return source.filter(function (item) { return uniqueKeys.delete(mapper(item)); });
144
+ }
145
+ exports.filterDuplicates = filterDuplicates;
146
+ /**
147
+ * filter array of all undefined and null
148
+ * */
149
+ function filterInstances(array) {
150
+ return ((array === null || array === void 0 ? void 0 : array.filter(function (item) { return (0, tools_1.exists)(item); })) || []);
151
+ }
152
+ exports.filterInstances = filterInstances;
153
+ /**
154
+ * filter array of all falsy instances
155
+ * */
156
+ function filterFalsy(array) {
157
+ return ((array === null || array === void 0 ? void 0 : array.filter(function (item) { return !!item; })) || []);
158
+ }
159
+ exports.filterFalsy = filterFalsy;
160
+ /**
161
+ * receives array and builds hashmap whom keys are decided via function and values are from array
162
+ * */
163
+ function arrayToMap(array, getKey, map) {
164
+ if (map === void 0) { map = {}; }
165
+ return reduceToMap(array, getKey, function (item) { return item; }, map);
166
+ }
167
+ exports.arrayToMap = arrayToMap;
168
+ /**
169
+ * turns array into object that is similar to hashmap
170
+ * */
171
+ function reduceToMap(array, keyResolver, mapper, map) {
172
+ if (map === void 0) { map = {}; }
173
+ return array.reduce(function (toRet, element, index) {
174
+ toRet[keyResolver(element, index, toRet)] = mapper(element, index, toRet);
175
+ return toRet;
176
+ }, map);
177
+ }
178
+ exports.reduceToMap = reduceToMap;
179
+ /**
180
+ * sorts array
181
+ * */
182
+ function sortArray(array, map, invert) {
183
+ if (map === void 0) { map = function (i) { return i; }; }
184
+ if (invert === void 0) { invert = false; }
185
+ var functionMap = map;
186
+ if (typeof functionMap === 'function') {
187
+ var compareFn = function (a, b) {
188
+ var _a = functionMap(a);
189
+ var _b = functionMap(b);
190
+ return (_a < _b ? -1 : (_a === _b ? 0 : 1)) * (invert ? -1 : 1);
191
+ };
192
+ return array.sort(compareFn);
193
+ }
194
+ var keys;
195
+ if (!Array.isArray(map))
196
+ keys = [map];
197
+ else
198
+ keys = map;
199
+ return keys.reduce(function (array, key) {
200
+ return sortArray(array, function (item) { return item[key]; });
201
+ }, array);
202
+ }
203
+ exports.sortArray = sortArray;
204
+ /**
205
+ * "splits" array into given size of chunks and then does "action" on chunk and return to array of actions on chunks +-
206
+ * */
207
+ function batchAction(arr, chunk, action) {
208
+ return __awaiter(this, void 0, void 0, function () {
209
+ var result, i, j, items;
210
+ return __generator(this, function (_c) {
211
+ switch (_c.label) {
212
+ case 0:
213
+ result = [];
214
+ i = 0, j = arr.length;
215
+ _c.label = 1;
216
+ case 1:
217
+ if (!(i < j)) return [3 /*break*/, 4];
218
+ return [4 /*yield*/, action(arr.slice(i, i + chunk))];
219
+ case 2:
220
+ items = _c.sent();
221
+ if (Array.isArray(items))
222
+ //addAllItemToArray(result, items);
223
+ result.push.apply(result, items);
224
+ else
225
+ addItemToArray(result, items);
226
+ _c.label = 3;
227
+ case 3:
228
+ i += chunk;
229
+ return [3 /*break*/, 1];
230
+ case 4: return [2 /*return*/, result];
231
+ }
232
+ });
233
+ });
234
+ }
235
+ exports.batchAction = batchAction;
236
+ function batchActionParallel(arr, chunk, action) {
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ var promises, i, j, toRet, results, _i, results_1, items;
239
+ return __generator(this, function (_c) {
240
+ switch (_c.label) {
241
+ case 0:
242
+ promises = [];
243
+ for (i = 0, j = arr.length; i < j; i += chunk) {
244
+ addItemToArray(promises, action(arr.slice(i, i + chunk)));
245
+ }
246
+ toRet = [];
247
+ return [4 /*yield*/, Promise.all(promises)];
248
+ case 1:
249
+ results = _c.sent();
250
+ for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
251
+ items = results_1[_i];
252
+ if (Array.isArray(items))
253
+ //addAllItemToArray(toRet, items);
254
+ toRet.push.apply(toRet, items);
255
+ else
256
+ //addItemToArray(toRet, items);
257
+ toRet.push(items);
258
+ }
259
+ return [2 /*return*/, toRet];
260
+ }
261
+ });
262
+ });
263
+ }
264
+ exports.batchActionParallel = batchActionParallel;
265
+ /**
266
+ * Returns a flat array from an array of arrays.
267
+ * @param arr An array that is potentially a matrix
268
+ * @param result A flat array of single values
269
+ */
270
+ function flatArray(arr, result) {
271
+ if (result === void 0) { result = []; }
272
+ for (var i = 0, length = arr.length; i < length; i++) {
273
+ var value = arr[i];
274
+ if (Array.isArray(value)) {
275
+ flatArray(value, result);
276
+ }
277
+ else {
278
+ result.push(value);
279
+ }
280
+ }
281
+ return result;
282
+ }
283
+ exports.flatArray = flatArray;
284
+ function groupArrayBy(arr, mapper) {
285
+ var map = arr.reduce(function (agg, item, index) {
286
+ var key = mapper(item, index);
287
+ (agg[key] || (agg[key] = [])).push(item);
288
+ return agg;
289
+ }, {});
290
+ return (0, object_tools_1._keys)(map).map(function (key) { return ({ key: key, values: map[key] }); });
291
+ }
292
+ exports.groupArrayBy = groupArrayBy;
293
+ function toggleInArray(arr, item, mapper) {
294
+ if (mapper === void 0) { mapper = function (item) { return item; }; }
295
+ var index = arr.findIndex(function (_item) { return mapper(_item) === mapper(item); });
296
+ if (index !== -1)
297
+ removeFromArrayByIndex(arr, index);
298
+ else
299
+ arr.push(item);
300
+ }
301
+ exports.toggleInArray = toggleInArray;
302
+ //# sourceMappingURL=array-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-tools.js","sourceRoot":"","sources":["../../src/main/utils/array-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iCAA+B;AAC/B,+CAAqC;AAIrC;;;GAGG;AACH,SAAgB,mBAAmB,CAAI,KAAU,EAAE,IAAO;IACzD,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAHD,kDAGC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAI,KAAU,EAAE,IAA2B;IACzE,IAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAHD,0CAGC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAI,KAAU,EAAE,KAAa;IAClE,IAAI,KAAK,GAAG,CAAC,CAAC;QACb,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAExB,OAAO,KAAK,CAAC;AACd,CAAC;AALD,wDAKC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAI,KAAU,EAAE,IAAO;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,wCAGC;AAED,SAAgB,qBAAqB,CAAI,KAAU,EAAE,IAAO,EAAE,KAAa;IAC1E,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,sDAGC;AAED,SAAgB,oBAAoB,CAAI,KAAU,EAAE,IAAO;IAC1D,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACb,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;;QAEvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC;AACd,CAAC;AARD,oDAQC;AAED;;GAEG;AACH,SAAsB,WAAW,CAAI,GAAQ,EAAE,MAA0C;;;;;wBAEtE,qBAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,EAAZ,CAAY,CAAC,CAAC,EAAA;;oBAA5D,SAAS,GAAG,SAAgD;oBAClE,sBAAO,GAAG,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,EAAhB,CAAgB,CAAC,EAAC;;;;CACrD;AAJD,kCAIC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAI,MAAW,EAAE,MAAW;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAA1B,CAA0B,CAAC,CAAC;AACzD,CAAC;AAFD,wCAEC;AAED,IAAM,aAAa,GAAoC,UAAC,IAAI,IAAK,OAAA,IAAI,EAAJ,CAAI,CAAC;AAEtE;;KAEK;AACL,SAAgB,gBAAgB,CAAI,MAAW,EAAE,MAAwC;IAAxC,uBAAA,EAAA,sBAAwC;IACxF,IAAI,aAAa,KAAK,MAAM;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpC,IAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;AAC/D,CAAC;AAND,4CAMC;AAGD;;KAEK;AACL,SAAgB,eAAe,CAAI,KAAuC;IACzE,OAAO,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,cAAM,EAAC,IAAI,CAAC,EAAZ,CAAY,CAAC,KAAI,EAAE,CAAQ,CAAC;AAC3D,CAAC;AAFD,0CAEC;AAED;;KAEK;AACL,SAAgB,WAAW,CAAI,KAAuC;IACrE,OAAO,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,KAAI,EAAE,CAAQ,CAAC;AACrD,CAAC;AAFD,kCAEC;AAED;;KAEK;AACL,SAAgB,UAAU,CAAI,KAA0B,EAAE,MAA4E,EAAE,GAA4B;IAA5B,oBAAA,EAAA,QAA4B;IACnK,OAAO,WAAW,CAAO,KAAK,EAAE,MAAM,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,EAAJ,CAAI,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAFD,gCAEC;AAED;;KAEK;AACL,SAAgB,WAAW,CAAwB,KAAoC,EAAE,WAA0F,EAAE,MAA4E,EAAE,GAAiC;IAAjC,oBAAA,EAAA,QAAiC;IACnS,OAAQ,KAAmB,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,OAAO,EAAE,KAAK;QACxD,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACd,CAAC,EAAE,GAAG,CAAC,CAAC;AACT,CAAC;AALD,kCAKC;AAED;;KAEK;AACL,SAAgB,SAAS,CAAI,KAAU,EAAE,GAAwD,EAAE,MAAc;IAAxE,oBAAA,EAAA,gBAAkD,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC;IAAE,uBAAA,EAAA,cAAc;IAChH,IAAM,WAAW,GAAG,GAAG,CAAC;IACxB,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACtC,IAAM,SAAS,GAAG,UAAC,CAAI,EAAE,CAAI;YAC5B,IAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACtB,IAAI,GAAG,CAAC,GAAc,CAAC,CAAC;;QAExB,IAAI,GAAG,GAAG,CAAC;IAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,GAAG;QAC7B,OAAO,SAAS,CAAI,KAAK,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAC;IAC/C,CAAC,EAAE,KAAK,CAAQ,CAAC;AAClB,CAAC;AArBD,8BAqBC;AAED;;KAEK;AACL,SAAsB,WAAW,CAA2C,GAAQ,EAAE,KAAa,EAAE,MAA2C;;;;;;oBACzI,MAAM,GAAQ,EAAE,CAAC;oBACd,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM;;;yBAAE,CAAA,CAAC,GAAG,CAAC,CAAA;oBACb,qBAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAA;;oBAAtD,KAAK,GAAY,SAAqC;oBAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;wBACvB,mCAAmC;wBACnC,MAAM,CAAC,IAAI,OAAX,MAAM,EAAS,KAAK,EAAE;;wBAEtB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;;oBANO,CAAC,IAAI,KAAK,CAAA;;wBAQjD,sBAAO,MAAM,EAAC;;;;CACd;AAXD,kCAWC;AAED,SAAsB,mBAAmB,CAA2C,GAAQ,EAAE,KAAa,EAAE,MAA2C;;;;;;oBACjJ,QAAQ,GAAiB,EAAE,CAAC;oBAClC,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;wBAClD,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC1D;oBAEK,KAAK,GAAQ,EAAE,CAAC;oBACN,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;oBAArC,OAAO,GAAG,SAA2B;oBAC3C,WAA2B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;wBAAlB,KAAK;wBACf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;4BACvB,kCAAkC;4BAClC,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,KAAK,EAAE;;4BAErB,+BAA+B;4BAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACnB;oBAED,sBAAO,KAAK,EAAC;;;;CACb;AAlBD,kDAkBC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAA0C,GAAM,EAAE,MAAgB;IAAhB,uBAAA,EAAA,WAAgB;IAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,IAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACzB;aAAM;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;KACD;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAVD,8BAUC;AAED,SAAgB,YAAY,CAA8C,GAAQ,EAAE,MAAqC;IACxH,IAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAoB,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK;QAC1D,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAuB,CAAC,CAAC;IAE5B,OAAO,IAAA,oBAAK,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,EAAC,GAAG,KAAA,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAC,CAAC,EAAzB,CAAyB,CAAC,CAAC;AACzD,CAAC;AARD,oCAQC;AAED,SAAgB,aAAa,CAA2E,GAAQ,EAAE,IAAO,EAAE,MAAqD;IAArD,uBAAA,EAAA,mBAAyB,IAAI,IAAI,OAAA,IAAoB,EAApB,CAAoB;IAC/K,IAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,UAAA,KAAK,IAAI,OAAA,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;IACrE,IAAI,KAAK,KAAK,CAAC,CAAC;QACf,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;QAEnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAND,sCAMC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" />
2
+ export declare function randomNumber(range: number): number;
3
+ export declare function randomObject<T>(items: T[]): T;
4
+ export declare function hashPasswordWithSalt(salt: string | Buffer, password: string | Buffer): string;