@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.
- package/consts/consts.js +2 -4
- package/consts/consts.js.map +1 -0
- package/core/application.d.ts +1 -1
- package/core/application.js +3 -6
- package/core/application.js.map +1 -0
- package/core/debug-flags.d.ts +1 -1
- package/core/debug-flags.js +15 -17
- package/core/debug-flags.js.map +1 -0
- package/core/dispatcher.d.ts +2 -2
- package/core/dispatcher.js +7 -8
- package/core/dispatcher.js.map +1 -0
- package/core/error-handling.d.ts +5 -5
- package/core/error-handling.js +7 -9
- package/core/error-handling.js.map +1 -0
- package/core/exceptions/exceptions.d.ts +2 -2
- package/core/exceptions/exceptions.js +33 -44
- package/core/exceptions/exceptions.js.map +1 -0
- package/core/exceptions/http-codes.d.ts +8 -2
- package/core/exceptions/http-codes.js +6 -6
- package/core/exceptions/http-codes.js.map +1 -0
- package/core/exceptions/types.js +2 -2
- package/core/exceptions/types.js.map +1 -0
- package/core/logger/BeLogged.d.ts +2 -2
- package/core/logger/BeLogged.js +9 -11
- package/core/logger/BeLogged.js.map +1 -0
- package/core/logger/LogClient.d.ts +3 -1
- package/core/logger/LogClient.js +21 -24
- package/core/logger/LogClient.js.map +1 -0
- package/core/logger/LogClient_BaseRotate.d.ts +2 -2
- package/core/logger/LogClient_BaseRotate.js +12 -12
- package/core/logger/LogClient_BaseRotate.js.map +1 -0
- package/core/logger/LogClient_Browser.d.ts +2 -2
- package/core/logger/LogClient_Browser.js +40 -45
- package/core/logger/LogClient_Browser.js.map +1 -0
- package/core/logger/LogClient_BrowserGroups.d.ts +2 -2
- package/core/logger/LogClient_BrowserGroups.js +65 -67
- package/core/logger/LogClient_BrowserGroups.js.map +1 -0
- package/core/logger/LogClient_ConsoleProxy.d.ts +23 -0
- package/core/logger/LogClient_ConsoleProxy.js +89 -0
- package/core/logger/LogClient_ConsoleProxy.js.map +1 -0
- package/core/logger/LogClient_File.d.ts +1 -1
- package/core/logger/LogClient_File.js +6 -30
- package/core/logger/LogClient_File.js.map +1 -0
- package/core/logger/LogClient_Function.d.ts +2 -2
- package/core/logger/LogClient_Function.js +6 -8
- package/core/logger/LogClient_Function.js.map +1 -0
- package/core/logger/LogClient_MemBuffer.d.ts +2 -2
- package/core/logger/LogClient_MemBuffer.js +19 -21
- package/core/logger/LogClient_MemBuffer.js.map +1 -0
- package/core/logger/LogClient_Terminal.d.ts +2 -2
- package/core/logger/LogClient_Terminal.js +16 -21
- package/core/logger/LogClient_Terminal.js.map +1 -0
- package/core/logger/Logger.d.ts +2 -2
- package/core/logger/Logger.js +37 -39
- package/core/logger/Logger.js.map +1 -0
- package/core/logger/types.js +4 -6
- package/core/logger/types.js.map +1 -0
- package/core/logger/utils.d.ts +1 -1
- package/core/logger/utils.js +10 -15
- package/core/logger/utils.js.map +1 -0
- package/core/module-manager.d.ts +8 -6
- package/core/module-manager.js +28 -26
- package/core/module-manager.js.map +1 -0
- package/core/module.d.ts +5 -5
- package/core/module.js +28 -28
- package/core/module.js.map +1 -0
- package/csv.d.ts +2 -2
- package/csv.js +3 -18
- package/csv.js.map +1 -0
- package/db/consts.d.ts +3 -0
- package/db/consts.js +17 -7
- package/db/consts.js.map +1 -0
- package/db/dependencies-test.js +2 -2
- package/db/dependencies-test.js.map +1 -0
- package/db/types.d.ts +10 -2
- package/db/types.js +2 -2
- package/db/types.js.map +1 -0
- package/esm.d.ts +1 -0
- package/esm.js +4 -0
- package/esm.js.map +1 -0
- package/index.d.ts +50 -49
- package/index.js +51 -65
- package/index.js.map +1 -0
- package/mem-storage/MemStorage.d.ts +3 -1
- package/mem-storage/MemStorage.js +90 -72
- package/mem-storage/MemStorage.js.map +1 -0
- package/mem-storage/index.d.ts +1 -0
- package/mem-storage/index.js +2 -0
- package/mem-storage/index.js.map +1 -0
- package/modules/CSVModule.d.ts +2 -2
- package/modules/CSVModule.js +22 -48
- package/modules/CSVModule.js.map +1 -0
- package/modules/CSVModuleV3.d.ts +2 -2
- package/modules/CSVModuleV3.js +60 -86
- package/modules/CSVModuleV3.js.map +1 -0
- package/modules/CliParamsModule.d.ts +2 -2
- package/modules/CliParamsModule.js +23 -28
- package/modules/CliParamsModule.js.map +1 -0
- package/modules/JSONCSVModule.d.ts +2 -2
- package/modules/JSONCSVModule.js +56 -78
- package/modules/JSONCSVModule.js.map +1 -0
- package/modules/csv-serializer.d.ts +1 -1
- package/modules/csv-serializer.js +11 -5
- package/modules/csv-serializer.js.map +1 -0
- package/package.json +20 -11
- package/replacer-v2/ReplacerV2.d.ts +1 -1
- package/replacer-v2/ReplacerV2.js +6 -9
- package/replacer-v2/ReplacerV2.js.map +1 -0
- package/test-index.d.ts +2 -2
- package/test-index.js +3 -18
- package/test-index.js.map +1 -0
- package/testing/consts.d.ts +13 -2
- package/testing/consts.js +66 -26
- package/testing/consts.js.map +1 -0
- package/testing/test-template.test.d.ts +1 -0
- package/testing/test-template.test.js +42 -0
- package/testing/test-template.test.js.map +1 -0
- package/testing/types.d.ts +17 -5
- package/testing/types.js +2 -2
- package/testing/types.js.map +1 -0
- package/testing/workspace-creator.d.ts +10 -0
- package/testing/workspace-creator.js +79 -0
- package/testing/workspace-creator.js.map +1 -0
- package/tools/Replacer.d.ts +2 -2
- package/tools/Replacer.js +22 -24
- package/tools/Replacer.js.map +1 -0
- package/tools/get-log-style.js +4 -6
- package/tools/get-log-style.js.map +1 -0
- package/utils/FileSystemUtils.d.ts +34 -0
- package/utils/FileSystemUtils.js +153 -0
- package/utils/FileSystemUtils.js.map +1 -0
- package/utils/array-tools.d.ts +4 -4
- package/utils/array-tools.js +56 -83
- package/utils/array-tools.js.map +1 -0
- package/utils/conflict-tools.d.ts +1 -0
- package/utils/conflict-tools.js +3 -0
- package/utils/conflict-tools.js.map +1 -0
- package/utils/crypto-tools.d.ts +44 -0
- package/utils/crypto-tools.js +101 -10
- package/utils/crypto-tools.js.map +1 -0
- package/utils/date-time-tools.d.ts +48 -4
- package/utils/date-time-tools.js +166 -64
- package/utils/date-time-tools.js.map +1 -0
- package/utils/db-object-tools.d.ts +7 -2
- package/utils/db-object-tools.js +20 -20
- package/utils/db-object-tools.js.map +1 -0
- package/utils/exception-tools.js +13 -15
- package/utils/exception-tools.js.map +1 -0
- package/utils/filter-tools.js +48 -48
- package/utils/filter-tools.js.map +1 -0
- package/utils/hash-tools.js +14 -22
- package/utils/hash-tools.js.map +1 -0
- package/utils/index.d.ts +27 -0
- package/utils/index.js +28 -0
- package/utils/index.js.map +1 -0
- package/utils/json-tools.js +5 -8
- package/utils/json-tools.js.map +1 -0
- package/utils/merge-tools.d.ts +9 -0
- package/utils/merge-tools.js +18 -19
- package/utils/merge-tools.js.map +1 -0
- package/utils/mimetype-tools.d.ts +1 -0
- package/utils/mimetype-tools.js +26 -27
- package/utils/mimetype-tools.js.map +1 -0
- package/utils/number-tools.js +3 -7
- package/utils/number-tools.js.map +1 -0
- package/utils/object-tools.d.ts +15 -1
- package/utils/object-tools.js +110 -33
- package/utils/object-tools.js.map +1 -0
- package/utils/promise-tools.d.ts +5 -0
- package/utils/promise-tools.js +9 -5
- package/utils/promise-tools.js.map +1 -0
- package/utils/query-params.js +3 -6
- package/utils/query-params.js.map +1 -0
- package/utils/queue-v2.d.ts +1 -1
- package/utils/queue-v2.js +72 -73
- package/utils/queue-v2.js.map +1 -0
- package/utils/queue.d.ts +1 -1
- package/utils/queue.js +15 -17
- package/utils/queue.js.map +1 -0
- package/utils/random-tools.js +7 -11
- package/utils/random-tools.js.map +1 -0
- package/utils/storage-capacity-tools.js +7 -9
- package/utils/storage-capacity-tools.js.map +1 -0
- package/utils/string-tools.js +17 -31
- package/utils/string-tools.js.map +1 -0
- package/utils/time-proxy.d.ts +8 -0
- package/utils/time-proxy.js +10 -0
- package/utils/time-proxy.js.map +1 -0
- package/utils/tools.d.ts +1 -1
- package/utils/tools.js +18 -28
- package/utils/tools.js.map +1 -0
- package/utils/types.d.ts +9 -3
- package/utils/types.js +2 -4
- package/utils/types.js.map +1 -0
- package/utils/ui-tools.js +6 -12
- package/utils/ui-tools.js.map +1 -0
- package/utils/url-tools.d.ts +5 -0
- package/utils/url-tools.js +20 -0
- package/utils/url-tools.js.map +1 -0
- package/utils/version-tools.js +17 -12
- package/utils/version-tools.js.map +1 -0
- package/validator/type-validators.d.ts +14 -10
- package/validator/type-validators.js +84 -105
- package/validator/type-validators.js.map +1 -0
- package/validator/validator-core.d.ts +4 -4
- package/validator/validator-core.js +16 -21
- package/validator/validator-core.js.map +1 -0
- package/validator/validators.d.ts +9 -5
- package/validator/validators.js +48 -47
- package/validator/validators.js.map +1 -0
- package/tsconfig.json +0 -23
package/utils/queue-v2.js
CHANGED
|
@@ -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,80 +15,23 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
import { Logger } from '../core/logger/Logger.js';
|
|
19
|
+
import { addItemToArray, removeItemFromArray, sortArray } from './array-tools.js';
|
|
20
|
+
export class QueueV2 extends Logger {
|
|
21
|
+
allowedParallelOperationsCount = 1;
|
|
22
|
+
runningOperationsCount = 0;
|
|
23
|
+
cancelled = false;
|
|
24
|
+
queue = [];
|
|
25
|
+
onQueueEmpty;
|
|
26
|
+
finalResolve;
|
|
27
|
+
runner;
|
|
28
|
+
sorter;
|
|
29
|
+
filter;
|
|
24
30
|
constructor(name, runner) {
|
|
25
31
|
super(name);
|
|
26
|
-
this.allowedParallelOperationsCount = 1;
|
|
27
|
-
this.runningOperationsCount = 0;
|
|
28
|
-
this.cancelled = false;
|
|
29
|
-
this.queue = [];
|
|
30
|
-
this.getLength = () => this.queue.length;
|
|
31
|
-
this.ignore = () => {
|
|
32
|
-
this.cancelled = false;
|
|
33
|
-
};
|
|
34
|
-
this.execute = () => {
|
|
35
|
-
var _a, _b;
|
|
36
|
-
if (this.queue.length === 0 && this.runningOperationsCount === 0) {
|
|
37
|
-
(_a = this.onQueueEmpty) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
38
|
-
return (_b = this.finalResolve) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
39
|
-
}
|
|
40
|
-
if (this.filter)
|
|
41
|
-
this.queue = this.filter(this.queue);
|
|
42
|
-
const sorter = this.sorter;
|
|
43
|
-
if (sorter)
|
|
44
|
-
this.queue = (0, array_tools_1.sortArray)(this.queue, (queueItem) => sorter(queueItem.item));
|
|
45
|
-
for (let i = 0; this.runningOperationsCount < this.allowedParallelOperationsCount && i < this.queue.length; i++) {
|
|
46
|
-
if (this.cancelled) {
|
|
47
|
-
this.cancelled = false;
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const toExecute = this.queue[0];
|
|
51
|
-
(0, array_tools_1.removeItemFromArray)(this.queue, toExecute);
|
|
52
|
-
this.runningOperationsCount++;
|
|
53
|
-
new Promise((resolve, reject) => {
|
|
54
|
-
if (this.cancelled) {
|
|
55
|
-
this.cancelled = false;
|
|
56
|
-
this.runningOperationsCount = 0;
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.runner(toExecute.item).then(output => {
|
|
60
|
-
var _a;
|
|
61
|
-
(_a = toExecute.onCompleted) === null || _a === void 0 ? void 0 : _a.call(toExecute, output);
|
|
62
|
-
this.runningOperationsCount--;
|
|
63
|
-
resolve(); // Recursively call execute to process next item
|
|
64
|
-
}).catch(e => {
|
|
65
|
-
var _a;
|
|
66
|
-
try {
|
|
67
|
-
(_a = toExecute.onError) === null || _a === void 0 ? void 0 : _a.call(toExecute, e);
|
|
68
|
-
}
|
|
69
|
-
catch (e1) {
|
|
70
|
-
this.logError('Error while calling onError');
|
|
71
|
-
this.logError('--- Original: ', e);
|
|
72
|
-
this.logError('-- Secondary: ', e1);
|
|
73
|
-
reject(e);
|
|
74
|
-
}
|
|
75
|
-
finally {
|
|
76
|
-
this.runningOperationsCount--;
|
|
77
|
-
resolve(); // Recursively call execute to process next item
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}).then(this.execute)
|
|
81
|
-
.catch(this.ignore);
|
|
82
|
-
}
|
|
83
|
-
if (this.cancelled)
|
|
84
|
-
this.cancelled = false;
|
|
85
|
-
};
|
|
86
|
-
this.cancelAll = () => {
|
|
87
|
-
if (this.runningOperationsCount > 0)
|
|
88
|
-
this.cancelled = true;
|
|
89
|
-
this.queue = [];
|
|
90
|
-
};
|
|
91
32
|
this.runner = runner;
|
|
92
33
|
}
|
|
34
|
+
getLength = () => this.queue.length;
|
|
93
35
|
setParallelCount(parallelCount) {
|
|
94
36
|
this.allowedParallelOperationsCount = parallelCount;
|
|
95
37
|
return this;
|
|
@@ -104,7 +46,7 @@ class QueueV2 extends Logger_1.Logger {
|
|
|
104
46
|
return this;
|
|
105
47
|
}
|
|
106
48
|
addItemImpl(item, onCompleted, onError) {
|
|
107
|
-
|
|
49
|
+
addItemToArray(this.queue, Object.freeze({ onCompleted: onCompleted, onError: onError, item }));
|
|
108
50
|
return this;
|
|
109
51
|
}
|
|
110
52
|
setSorter(sorter) {
|
|
@@ -115,11 +57,68 @@ class QueueV2 extends Logger_1.Logger {
|
|
|
115
57
|
this.filter = filter;
|
|
116
58
|
return this;
|
|
117
59
|
}
|
|
60
|
+
ignore = () => {
|
|
61
|
+
this.cancelled = false;
|
|
62
|
+
};
|
|
63
|
+
execute = () => {
|
|
64
|
+
if (this.queue.length === 0 && this.runningOperationsCount === 0) {
|
|
65
|
+
this.onQueueEmpty?.();
|
|
66
|
+
return this.finalResolve?.();
|
|
67
|
+
}
|
|
68
|
+
if (this.filter)
|
|
69
|
+
this.queue = this.filter(this.queue);
|
|
70
|
+
const sorter = this.sorter;
|
|
71
|
+
if (sorter)
|
|
72
|
+
this.queue = sortArray(this.queue, (queueItem) => sorter(queueItem.item));
|
|
73
|
+
for (let i = 0; this.runningOperationsCount < this.allowedParallelOperationsCount && i < this.queue.length; i++) {
|
|
74
|
+
if (this.cancelled) {
|
|
75
|
+
this.cancelled = false;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const toExecute = this.queue[0];
|
|
79
|
+
removeItemFromArray(this.queue, toExecute);
|
|
80
|
+
this.runningOperationsCount++;
|
|
81
|
+
new Promise((resolve, reject) => {
|
|
82
|
+
if (this.cancelled) {
|
|
83
|
+
this.cancelled = false;
|
|
84
|
+
this.runningOperationsCount = 0;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.runner(toExecute.item).then(output => {
|
|
88
|
+
toExecute.onCompleted?.(output);
|
|
89
|
+
this.runningOperationsCount--;
|
|
90
|
+
resolve(); // Recursively call execute to process next item
|
|
91
|
+
}).catch(e => {
|
|
92
|
+
try {
|
|
93
|
+
toExecute.onError?.(e);
|
|
94
|
+
}
|
|
95
|
+
catch (e1) {
|
|
96
|
+
this.logError('Error while calling onError');
|
|
97
|
+
this.logError('--- Original: ', e);
|
|
98
|
+
this.logError('-- Secondary: ', e1);
|
|
99
|
+
reject(e);
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
this.runningOperationsCount--;
|
|
103
|
+
resolve(); // Recursively call execute to process next item
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}).then(this.execute)
|
|
107
|
+
.catch(this.ignore);
|
|
108
|
+
}
|
|
109
|
+
if (this.cancelled)
|
|
110
|
+
this.cancelled = false;
|
|
111
|
+
};
|
|
118
112
|
async executeSync() {
|
|
119
113
|
await new Promise(resolve => {
|
|
120
114
|
this.finalResolve = resolve;
|
|
121
115
|
this.execute();
|
|
122
116
|
});
|
|
123
117
|
}
|
|
118
|
+
cancelAll = () => {
|
|
119
|
+
if (this.runningOperationsCount > 0)
|
|
120
|
+
this.cancelled = true;
|
|
121
|
+
this.queue = [];
|
|
122
|
+
};
|
|
124
123
|
}
|
|
125
|
-
|
|
124
|
+
//# sourceMappingURL=queue-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-v2.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/queue-v2.ts"],"names":[],"mappings":"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"}
|
package/utils/queue.d.ts
CHANGED
package/utils/queue.js
CHANGED
|
@@ -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,18 +15,16 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
import { Logger } from '../core/logger/Logger.js';
|
|
19
|
+
import { addItemToArray, removeItemFromArray } from './array-tools.js';
|
|
20
|
+
export class Queue extends Logger {
|
|
21
|
+
allowedParallelOperationsCount = 1;
|
|
22
|
+
runningOperationsCount = 0;
|
|
23
|
+
queue = [];
|
|
24
|
+
onQueueEmpty;
|
|
25
|
+
finalResolve;
|
|
24
26
|
constructor(name) {
|
|
25
27
|
super(name);
|
|
26
|
-
this.allowedParallelOperationsCount = 1;
|
|
27
|
-
this.runningOperationsCount = 0;
|
|
28
|
-
this.queue = [];
|
|
29
|
-
this.ignore = () => {
|
|
30
|
-
};
|
|
31
28
|
}
|
|
32
29
|
setParallelCount(parallelCount) {
|
|
33
30
|
this.allowedParallelOperationsCount = parallelCount;
|
|
@@ -38,11 +35,11 @@ class Queue extends Logger_1.Logger {
|
|
|
38
35
|
return this;
|
|
39
36
|
}
|
|
40
37
|
addItem(toExecute, onCompleted, onError) {
|
|
41
|
-
this.addItemImpl(toExecute.bind(this), onCompleted
|
|
38
|
+
this.addItemImpl(toExecute.bind(this), onCompleted?.bind(this), onError?.bind(this));
|
|
42
39
|
this.execute();
|
|
43
40
|
}
|
|
44
41
|
addItemImpl(toExecute, onCompleted, onError) {
|
|
45
|
-
|
|
42
|
+
addItemToArray(this.queue, async (resolve) => {
|
|
46
43
|
this.runningOperationsCount++;
|
|
47
44
|
try {
|
|
48
45
|
const output = await toExecute();
|
|
@@ -63,15 +60,16 @@ class Queue extends Logger_1.Logger {
|
|
|
63
60
|
this.execute();
|
|
64
61
|
});
|
|
65
62
|
}
|
|
63
|
+
ignore = () => {
|
|
64
|
+
};
|
|
66
65
|
execute() {
|
|
67
|
-
var _a;
|
|
68
66
|
if (this.queue.length === 0 && this.runningOperationsCount === 0) {
|
|
69
67
|
this.onQueueEmpty && this.onQueueEmpty();
|
|
70
|
-
return
|
|
68
|
+
return this.finalResolve?.();
|
|
71
69
|
}
|
|
72
70
|
for (let i = 0; this.runningOperationsCount < this.allowedParallelOperationsCount && i < this.queue.length; i++) {
|
|
73
71
|
const toExecute = this.queue[0];
|
|
74
|
-
|
|
72
|
+
removeItemFromArray(this.queue, toExecute);
|
|
75
73
|
new Promise(toExecute.bind(this))
|
|
76
74
|
.then(this.ignore)
|
|
77
75
|
.catch(this.ignore);
|
|
@@ -84,4 +82,4 @@ class Queue extends Logger_1.Logger {
|
|
|
84
82
|
});
|
|
85
83
|
}
|
|
86
84
|
}
|
|
87
|
-
|
|
85
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/queue.ts"],"names":[],"mappings":"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"}
|
package/utils/random-tools.js
CHANGED
|
@@ -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,17 +15,13 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
exports.generateShortURL = generateShortURL;
|
|
23
|
-
const crypto_1 = require("crypto");
|
|
24
|
-
function generateHex(length) {
|
|
25
|
-
return (0, crypto_1.randomBytes)(Math.ceil(length / 2))
|
|
18
|
+
import { randomBytes } from 'crypto';
|
|
19
|
+
export function generateHex(length) {
|
|
20
|
+
return randomBytes(Math.ceil(length / 2))
|
|
26
21
|
.toString('hex')
|
|
27
22
|
.slice(0, length).toLowerCase();
|
|
28
23
|
}
|
|
29
|
-
function generateUUID() {
|
|
24
|
+
export function generateUUID() {
|
|
30
25
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
31
26
|
const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
32
27
|
return v.toString(16);
|
|
@@ -35,13 +30,14 @@ function generateUUID() {
|
|
|
35
30
|
/**
|
|
36
31
|
* generate 8 characters long string that is value for short url usage
|
|
37
32
|
*/
|
|
38
|
-
function generateShortURL() {
|
|
33
|
+
export function generateShortURL() {
|
|
39
34
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
|
|
40
35
|
let result = '';
|
|
41
|
-
const random =
|
|
36
|
+
const random = randomBytes(8); // Generate 8 random bytes
|
|
42
37
|
for (let i = 0; i < 8; i++) {
|
|
43
38
|
const byte = random[i];
|
|
44
39
|
result += chars.charAt(byte % chars.length);
|
|
45
40
|
}
|
|
46
41
|
return result;
|
|
47
42
|
}
|
|
43
|
+
//# sourceMappingURL=random-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/random-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAC;AAEnC,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC,QAAQ,CAAC,KAAK,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,KAAK,GAAG,kEAAkE,CAAC;IACjF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,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,11 +15,10 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
exports.PB = exports.TB * 1024;
|
|
18
|
+
export const Byte = 1;
|
|
19
|
+
export const KB = Byte * 1024;
|
|
20
|
+
export const MB = KB * 1024;
|
|
21
|
+
export const GB = MB * 1024;
|
|
22
|
+
export const TB = GB * 1024;
|
|
23
|
+
export const PB = TB * 1024;
|
|
24
|
+
//# sourceMappingURL=storage-capacity-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-capacity-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/storage-capacity-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
package/utils/string-tools.js
CHANGED
|
@@ -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,25 +15,11 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
exports.padNumber = padNumber;
|
|
21
|
-
exports.stringToHashCode = stringToHashCode;
|
|
22
|
-
exports.escape_RegExp = escape_RegExp;
|
|
23
|
-
exports.maxSubstring = maxSubstring;
|
|
24
|
-
exports.getStringSize = getStringSize;
|
|
25
|
-
exports.stringFormat = stringFormat;
|
|
26
|
-
exports.replaceStringAt = replaceStringAt;
|
|
27
|
-
exports.capitalizeAllFirstLetters = capitalizeAllFirstLetters;
|
|
28
|
-
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
29
|
-
exports.createLevenshteinDistanceMatrix = createLevenshteinDistanceMatrix;
|
|
30
|
-
exports.levenshteinDistance = levenshteinDistance;
|
|
31
|
-
exports.normalizeString = normalizeString;
|
|
32
|
-
exports.convertUpperCamelCase = convertUpperCamelCase;
|
|
33
|
-
function padNumber(num, length) {
|
|
18
|
+
export function padNumber(num, length) {
|
|
34
19
|
const _num = num.toString();
|
|
35
20
|
return _num.length < length ? padNumber('0' + _num, length) : _num;
|
|
36
21
|
}
|
|
37
|
-
function stringToHashCode(stringToHash) {
|
|
22
|
+
export function stringToHashCode(stringToHash) {
|
|
38
23
|
let hash = 0;
|
|
39
24
|
if (stringToHash.length === 0)
|
|
40
25
|
return hash;
|
|
@@ -44,10 +29,10 @@ function stringToHashCode(stringToHash) {
|
|
|
44
29
|
}
|
|
45
30
|
return hash;
|
|
46
31
|
}
|
|
47
|
-
function escape_RegExp(string) {
|
|
32
|
+
export function escape_RegExp(string) {
|
|
48
33
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
|
49
34
|
}
|
|
50
|
-
function maxSubstring(string, maxBytes, direction = 'start') {
|
|
35
|
+
export function maxSubstring(string, maxBytes, direction = 'start') {
|
|
51
36
|
const encoder = new TextEncoder();
|
|
52
37
|
const decoder = new TextDecoder();
|
|
53
38
|
const bytes = encoder.encode(string);
|
|
@@ -70,7 +55,7 @@ function maxSubstring(string, maxBytes, direction = 'start') {
|
|
|
70
55
|
* @returns The size of the string in the specified unit.
|
|
71
56
|
* @throws Error if the unit is invalid.
|
|
72
57
|
*/
|
|
73
|
-
function getStringSize(str, unit = 'KB') {
|
|
58
|
+
export function getStringSize(str, unit = 'KB') {
|
|
74
59
|
const encoder = new TextEncoder();
|
|
75
60
|
const bytes = encoder.encode(str);
|
|
76
61
|
const byteLength = bytes.length;
|
|
@@ -85,17 +70,17 @@ function getStringSize(str, unit = 'KB') {
|
|
|
85
70
|
throw new Error('Invalid unit. Please specify "KB", "MB", or "GB".');
|
|
86
71
|
}
|
|
87
72
|
}
|
|
88
|
-
function stringFormat(input, params = []) {
|
|
89
|
-
return
|
|
73
|
+
export function stringFormat(input, params = []) {
|
|
74
|
+
return params?.reduce((toRet, param, index) => {
|
|
90
75
|
return toRet.replace(new RegExp(`\\{${index}\\}`, 'g'), param);
|
|
91
|
-
}, input || '')
|
|
76
|
+
}, input || '') || input;
|
|
92
77
|
}
|
|
93
|
-
function replaceStringAt(origin, index, replacement) {
|
|
94
|
-
if (!
|
|
78
|
+
export function replaceStringAt(origin, index, replacement) {
|
|
79
|
+
if (!origin?.length || !replacement?.length)
|
|
95
80
|
return origin;
|
|
96
81
|
return origin.substring(0, index) + replacement + origin.substring(index + replacement.length);
|
|
97
82
|
}
|
|
98
|
-
function capitalizeAllFirstLetters(value) {
|
|
83
|
+
export function capitalizeAllFirstLetters(value) {
|
|
99
84
|
let resultString = value;
|
|
100
85
|
for (let i = 0; i < resultString.length; i++) {
|
|
101
86
|
if (i === 0 || i > 0 && resultString[i - 1] === ' ')
|
|
@@ -103,10 +88,10 @@ function capitalizeAllFirstLetters(value) {
|
|
|
103
88
|
}
|
|
104
89
|
return resultString;
|
|
105
90
|
}
|
|
106
|
-
function capitalizeFirstLetter(value) {
|
|
91
|
+
export function capitalizeFirstLetter(value) {
|
|
107
92
|
return value.charAt(0).toUpperCase() + value.substr(1).toLowerCase();
|
|
108
93
|
}
|
|
109
|
-
function createLevenshteinDistanceMatrix(str1, str2) {
|
|
94
|
+
export function createLevenshteinDistanceMatrix(str1, str2) {
|
|
110
95
|
const len1 = str1.length;
|
|
111
96
|
const len2 = str2.length;
|
|
112
97
|
//Init 2D matrix of size str1.length * str2.length filled with 0
|
|
@@ -122,7 +107,7 @@ function createLevenshteinDistanceMatrix(str1, str2) {
|
|
|
122
107
|
matrix[i][j] = Math.min((matrix[i - 1][j]) + 1, (matrix[i][j - 1]) + 1, (matrix[i - 1][j - 1]) + (str1[i - 1] === str2[j - 1] ? 0 : 1));
|
|
123
108
|
return matrix;
|
|
124
109
|
}
|
|
125
|
-
function levenshteinDistance(str1, str2) {
|
|
110
|
+
export function levenshteinDistance(str1, str2) {
|
|
126
111
|
//Quick exists
|
|
127
112
|
if (str1.length === 0)
|
|
128
113
|
return str2.length;
|
|
@@ -133,9 +118,10 @@ function levenshteinDistance(str1, str2) {
|
|
|
133
118
|
//Distance between the strings should be at bottom right corner of the matrix
|
|
134
119
|
return matrix[str1.length][str2.length];
|
|
135
120
|
}
|
|
136
|
-
function normalizeString(string) {
|
|
121
|
+
export function normalizeString(string) {
|
|
137
122
|
return string.replace(/–/g, '-').replace(/\n/g, '').replace(/\s+/g, ' ').replace(/’/g, '\'').trim();
|
|
138
123
|
}
|
|
139
|
-
function convertUpperCamelCase(upperCamelCase, delimiter = ' ') {
|
|
124
|
+
export function convertUpperCamelCase(upperCamelCase, delimiter = ' ') {
|
|
140
125
|
return upperCamelCase.replace(/([a-z0-9])([A-Z])/g, `$1${delimiter}$2`);
|
|
141
126
|
}
|
|
127
|
+
//# sourceMappingURL=string-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/string-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
let _dt = 0;
|
|
2
|
+
export const TimeProxy = Object.freeze({
|
|
3
|
+
getDelta: () => _dt,
|
|
4
|
+
setDelta: (dt) => _dt = dt,
|
|
5
|
+
setVirtualTime: (timestamp) => TimeProxy.setDelta(timestamp - TimeProxy.getRealTime()),
|
|
6
|
+
currentTimeMillis: () => TimeProxy.getRealTime() + _dt,
|
|
7
|
+
getRealTime: () => Date.now(),
|
|
8
|
+
reset: () => _dt = 0,
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=time-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-proxy.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/time-proxy.ts"],"names":[],"mappings":"AAAA,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE;IAClC,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC9F,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,GAAG;IACtD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;CACpB,CAAC,CAAC"}
|
package/utils/tools.d.ts
CHANGED
package/utils/tools.js
CHANGED
|
@@ -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,19 +15,11 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
exports.regexpCase = regexpCase;
|
|
22
|
-
exports.createFilterPattern = createFilterPattern;
|
|
23
|
-
exports.calculateJsonSizeMb = calculateJsonSizeMb;
|
|
24
|
-
exports.__stringify = __stringify;
|
|
25
|
-
exports.exists = exists;
|
|
26
|
-
exports.freeze = freeze;
|
|
27
|
-
const object_tools_1 = require("./object-tools");
|
|
28
|
-
function regexpCase(value, reg) {
|
|
18
|
+
import { _keys } from './object-tools.js';
|
|
19
|
+
export function regexpCase(value, reg) {
|
|
29
20
|
return value.match(new RegExp(reg)) || { input: undefined };
|
|
30
21
|
}
|
|
31
|
-
function createFilterPattern(rawFilter) {
|
|
22
|
+
export function createFilterPattern(rawFilter) {
|
|
32
23
|
let filter = rawFilter || '';
|
|
33
24
|
filter = filter.trim();
|
|
34
25
|
filter = filter.replace(/\s+/, ' ');
|
|
@@ -36,41 +27,40 @@ function createFilterPattern(rawFilter) {
|
|
|
36
27
|
filter.length === 0 ? filter = '.*?' : filter += '.*';
|
|
37
28
|
return filter;
|
|
38
29
|
}
|
|
39
|
-
function calculateJsonSizeMb(data) {
|
|
30
|
+
export function calculateJsonSizeMb(data) {
|
|
40
31
|
const number = JSON.stringify(data).length / 1024 / 1024;
|
|
41
32
|
return Math.round(number * 100) / 100;
|
|
42
33
|
}
|
|
43
|
-
function __stringify(obj, pretty) {
|
|
34
|
+
export function __stringify(obj, pretty) {
|
|
44
35
|
if (!obj)
|
|
45
36
|
return '';
|
|
46
37
|
if (typeof obj === 'string')
|
|
47
38
|
return obj;
|
|
48
39
|
if (Array.isArray(pretty))
|
|
49
|
-
return `${
|
|
50
|
-
return carry + ` ${String(key)}: ${__stringify(obj[key], pretty.includes(key))}${idx !==
|
|
40
|
+
return `${_keys(obj).reduce((carry, key, idx) => {
|
|
41
|
+
return carry + ` ${String(key)}: ${__stringify(obj[key], pretty.includes(key))}${idx !== _keys(obj).length - 1 && ',\n'}`;
|
|
51
42
|
}, `{\n`)}\n}`;
|
|
52
43
|
if (pretty)
|
|
53
44
|
return JSON.stringify(obj, null, 2);
|
|
54
45
|
return JSON.stringify(obj);
|
|
55
46
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
export const EmptyObject = Object.freeze({});
|
|
48
|
+
export const EmptyArray = Object.freeze([]);
|
|
49
|
+
export const voidFunction = Object.freeze(async () => {
|
|
59
50
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const resolveContent = (content, ...param) => {
|
|
51
|
+
export const functionThatReturnsFalse = Object.freeze(() => false);
|
|
52
|
+
export const functionThatReturnsTrue = Object.freeze(() => true);
|
|
53
|
+
export const resolveContent = (content, ...param) => {
|
|
63
54
|
return typeof content === 'function' ? content(...param) : content;
|
|
64
55
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
function exists(item) {
|
|
56
|
+
export const resolveFunctionOrValue = resolveContent;
|
|
57
|
+
export function exists(item) {
|
|
68
58
|
return item !== undefined && item !== null;
|
|
69
59
|
}
|
|
70
|
-
function freeze(item) {
|
|
60
|
+
export function freeze(item) {
|
|
71
61
|
return Object.freeze(item);
|
|
72
62
|
}
|
|
73
|
-
const logicalXOR = (a, b) => {
|
|
63
|
+
export const logicalXOR = (a, b) => {
|
|
74
64
|
return (a && !b) || (!a && b);
|
|
75
65
|
};
|
|
76
|
-
|
|
66
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["utils/tools.ts"],"names":[],"mappings":"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"}
|
package/utils/types.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Default_UniqueKey } from '../db/types';
|
|
1
|
+
import { Default_UniqueKey } from '../db/types.js';
|
|
2
2
|
export type Primitive = string | number | boolean;
|
|
3
3
|
export type RecursiveObjectOfPrimitives = {
|
|
4
4
|
[key: string]: Primitive | RecursiveObjectOfPrimitives | RecursiveArrayOfPrimitives | undefined;
|
|
5
5
|
};
|
|
6
6
|
export type RecursiveArrayOfPrimitives = (Primitive | RecursiveObjectOfPrimitives | RecursiveArrayOfPrimitives)[];
|
|
7
|
+
export type AnyPrimitive = Primitive | RecursiveObjectOfPrimitives | RecursiveArrayOfPrimitives;
|
|
7
8
|
export type CustomOptional<T, K> = {
|
|
8
9
|
[P in keyof T]?: K;
|
|
9
10
|
};
|
|
@@ -108,10 +109,14 @@ export type DB_Object = DB_BaseObject & {
|
|
|
108
109
|
_originDocId?: UniqueId;
|
|
109
110
|
};
|
|
110
111
|
export type UniqueId = string;
|
|
112
|
+
export type DBPointer = {
|
|
113
|
+
dbKey: string;
|
|
114
|
+
id: UniqueId;
|
|
115
|
+
};
|
|
111
116
|
export type PreDB<T extends DB_Object, K extends keyof T = never> = PartialProperties<T, keyof DB_Object | K>;
|
|
112
117
|
export type OmitDBObject<T extends DB_Object> = Omit<T, keyof DB_Object>;
|
|
113
118
|
export type IndexKeys<T extends Object, Ks extends keyof T> = {
|
|
114
|
-
[K in Ks]
|
|
119
|
+
[K in Ks]?: T[K];
|
|
115
120
|
};
|
|
116
121
|
export type UniqueParam<Type extends DB_Object, Ks extends keyof PreDB<Type> = Default_UniqueKey> = UniqueId | IndexKeys<Type, Ks>;
|
|
117
122
|
export type Draftable = {
|
|
@@ -121,6 +126,7 @@ export type Draftable = {
|
|
|
121
126
|
* call function 'resolveContent(resolvableContentObject)' to receive the content which is T.
|
|
122
127
|
*/
|
|
123
128
|
export type ResolvableContent<T, K extends any[] = any[]> = T | ((...param: K) => T);
|
|
129
|
+
export type ResolvedContent<T extends ResolvableContent<any, any>> = T extends ResolvableContent<infer R, any> ? R : never;
|
|
124
130
|
export type Auditable = {
|
|
125
131
|
_audit?: AuditBy;
|
|
126
132
|
};
|
|
@@ -237,7 +243,7 @@ export type Exact<T> = {
|
|
|
237
243
|
export type WithRequired<T, K extends keyof T> = T & {
|
|
238
244
|
[P in K]-?: T[P];
|
|
239
245
|
};
|
|
240
|
-
export type AsyncVoidFunction = () => Promise<
|
|
246
|
+
export type AsyncVoidFunction<T = void> = () => Promise<T>;
|
|
241
247
|
declare const brand: unique symbol;
|
|
242
248
|
export type Brand<T, Brand extends string> = T & {
|
|
243
249
|
[brand]: Brand;
|