@nu-art/ts-common 0.200.22 → 0.200.24
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 +0 -1
- package/core/application.js +12 -31
- package/core/debug-flags.js +32 -38
- package/core/dispatcher.js +30 -92
- package/core/error-handling.js +1 -2
- package/core/exceptions.js +47 -84
- package/core/logger/BeLogged.js +19 -26
- package/core/logger/LogClient.js +14 -16
- package/core/logger/LogClient_BaseRotate.js +20 -42
- package/core/logger/LogClient_Browser.js +16 -36
- package/core/logger/LogClient_Function.js +14 -34
- package/core/logger/LogClient_MemBuffer.js +14 -35
- package/core/logger/LogClient_Terminal.js +12 -34
- package/core/logger/Logger.js +67 -152
- package/core/logger/types.js +0 -1
- package/core/logger/utils.js +16 -18
- package/core/module-manager.js +33 -61
- package/core/module.js +43 -65
- package/csv.js +0 -1
- package/index.js +0 -1
- package/modules/CSVModule.js +50 -110
- package/modules/CliParamsModule.js +32 -54
- package/modules/csv-serializer.js +10 -22
- package/package.json +8 -18
- package/permissions/permission-group.js +9 -12
- package/test-index.js +0 -1
- package/testing/consts.js +18 -54
- package/testing/types.js +0 -1
- package/tools/Replacer.js +71 -96
- package/tools/get-log-style.js +5 -10
- package/utils/array-tools.js +63 -127
- package/utils/crypto-tools.js +1 -2
- package/utils/date-time-tools.js +19 -75
- package/utils/db-object-tools.js +0 -1
- package/utils/filter-tools.js +37 -43
- package/utils/hash-tools.js +4 -8
- package/utils/merge-tools.js +4 -5
- package/utils/mimetype-tools.js +0 -1
- package/utils/number-tools.js +3 -4
- package/utils/object-tools.js +16 -20
- package/utils/query-params.js +8 -11
- package/utils/queue.js +47 -115
- package/utils/random-tools.js +2 -3
- package/utils/storage-capacity-tools.js +0 -1
- package/utils/string-tools.js +16 -18
- package/utils/tools.js +11 -42
- package/utils/types.js +1 -2
- package/utils/ui-tools.js +8 -15
- package/utils/version-tools.js +6 -7
- package/validator/type-validators.js +65 -84
- package/validator/validator-core.js +34 -58
- package/consts/consts.js.map +0 -1
- package/core/application.js.map +0 -1
- package/core/debug-flags.js.map +0 -1
- package/core/dispatcher.js.map +0 -1
- package/core/error-handling.js.map +0 -1
- package/core/exceptions.js.map +0 -1
- package/core/logger/BeLogged.js.map +0 -1
- package/core/logger/LogClient.js.map +0 -1
- package/core/logger/LogClient_BaseRotate.js.map +0 -1
- package/core/logger/LogClient_Browser.js.map +0 -1
- package/core/logger/LogClient_Function.js.map +0 -1
- package/core/logger/LogClient_MemBuffer.js.map +0 -1
- package/core/logger/LogClient_Terminal.js.map +0 -1
- package/core/logger/Logger.js.map +0 -1
- package/core/logger/types.js.map +0 -1
- package/core/logger/utils.js.map +0 -1
- package/core/module-manager.js.map +0 -1
- package/core/module.js.map +0 -1
- package/csv.js.map +0 -1
- package/index.js.map +0 -1
- package/modules/CSVModule.js.map +0 -1
- package/modules/CliParamsModule.js.map +0 -1
- package/modules/csv-serializer.js.map +0 -1
- package/permissions/permission-group.js.map +0 -1
- package/test-index.js.map +0 -1
- package/testing/consts.js.map +0 -1
- package/testing/types.js.map +0 -1
- package/tools/Replacer.js.map +0 -1
- package/tools/get-log-style.js.map +0 -1
- package/utils/array-tools.js.map +0 -1
- package/utils/crypto-tools.js.map +0 -1
- package/utils/date-time-tools.js.map +0 -1
- package/utils/db-object-tools.js.map +0 -1
- package/utils/filter-tools.js.map +0 -1
- package/utils/hash-tools.js.map +0 -1
- package/utils/merge-tools.js.map +0 -1
- package/utils/mimetype-tools.js.map +0 -1
- package/utils/number-tools.js.map +0 -1
- package/utils/object-tools.js.map +0 -1
- package/utils/query-params.js.map +0 -1
- package/utils/queue.js.map +0 -1
- package/utils/random-tools.js.map +0 -1
- package/utils/storage-capacity-tools.js.map +0 -1
- package/utils/string-tools.js.map +0 -1
- package/utils/tools.js.map +0 -1
- package/utils/types.js.map +0 -1
- package/utils/ui-tools.js.map +0 -1
- package/utils/version-tools.js.map +0 -1
- package/validator/type-validators.js.map +0 -1
- package/validator/validator-core.js.map +0 -1
package/utils/array-tools.js
CHANGED
|
@@ -25,43 +25,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
25
25
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
26
26
|
});
|
|
27
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
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
29
|
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
|
-
|
|
58
|
-
|
|
30
|
+
const tools_1 = require("./tools");
|
|
31
|
+
const object_tools_1 = require("./object-tools");
|
|
59
32
|
/**
|
|
60
33
|
* Finds and removes first instance of item from array
|
|
61
34
|
* tested V
|
|
62
35
|
*/
|
|
63
36
|
function removeItemFromArray(array, item) {
|
|
64
|
-
|
|
37
|
+
const index = array.indexOf(item);
|
|
65
38
|
return removeFromArrayByIndex(array, index);
|
|
66
39
|
}
|
|
67
40
|
exports.removeItemFromArray = removeItemFromArray;
|
|
@@ -70,7 +43,7 @@ exports.removeItemFromArray = removeItemFromArray;
|
|
|
70
43
|
* tested V
|
|
71
44
|
*/
|
|
72
45
|
function removeFromArray(array, item) {
|
|
73
|
-
|
|
46
|
+
const index = array.findIndex(item);
|
|
74
47
|
return removeFromArrayByIndex(array, index);
|
|
75
48
|
}
|
|
76
49
|
exports.removeFromArray = removeFromArray;
|
|
@@ -98,7 +71,7 @@ function addItemToArrayAtIndex(array, item, index) {
|
|
|
98
71
|
}
|
|
99
72
|
exports.addItemToArrayAtIndex = addItemToArrayAtIndex;
|
|
100
73
|
function toggleElementInArray(array, item) {
|
|
101
|
-
|
|
74
|
+
const index = array.indexOf(item);
|
|
102
75
|
if (index > -1)
|
|
103
76
|
array.splice(index, 1);
|
|
104
77
|
else
|
|
@@ -110,16 +83,10 @@ exports.toggleElementInArray = toggleElementInArray;
|
|
|
110
83
|
* Removes all items answering the condition given from array in place
|
|
111
84
|
*/
|
|
112
85
|
function filterAsync(arr, filter) {
|
|
113
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
});
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
//const boolArray = await arr.map(item => filter(item)); changed
|
|
88
|
+
const boolArray = yield Promise.all(arr.map(item => filter(item)));
|
|
89
|
+
return arr.filter((item, index) => boolArray[index]);
|
|
123
90
|
});
|
|
124
91
|
}
|
|
125
92
|
exports.filterAsync = filterAsync;
|
|
@@ -128,49 +95,46 @@ exports.filterAsync = filterAsync;
|
|
|
128
95
|
* problem with objects
|
|
129
96
|
*/
|
|
130
97
|
function findDuplicates(array1, array2) {
|
|
131
|
-
return array1.filter(
|
|
98
|
+
return array1.filter(val => array2.indexOf(val) !== -1);
|
|
132
99
|
}
|
|
133
100
|
exports.findDuplicates = findDuplicates;
|
|
134
|
-
|
|
101
|
+
const defaultMapper = (item) => item;
|
|
135
102
|
/**
|
|
136
103
|
remove all duplicates in array
|
|
137
104
|
* */
|
|
138
|
-
function filterDuplicates(source, mapper) {
|
|
139
|
-
if (mapper === void 0) { mapper = defaultMapper; }
|
|
105
|
+
function filterDuplicates(source, mapper = defaultMapper) {
|
|
140
106
|
if (defaultMapper === mapper)
|
|
141
107
|
return Array.from(new Set(source));
|
|
142
|
-
|
|
143
|
-
return source.filter(
|
|
108
|
+
const uniqueKeys = new Set(source.map(mapper));
|
|
109
|
+
return source.filter(item => uniqueKeys.delete(mapper(item)));
|
|
144
110
|
}
|
|
145
111
|
exports.filterDuplicates = filterDuplicates;
|
|
146
112
|
/**
|
|
147
113
|
* filter array of all undefined and null
|
|
148
114
|
* */
|
|
149
115
|
function filterInstances(array) {
|
|
150
|
-
return ((array === null || array === void 0 ? void 0 : array.filter(
|
|
116
|
+
return ((array === null || array === void 0 ? void 0 : array.filter(item => (0, tools_1.exists)(item))) || []);
|
|
151
117
|
}
|
|
152
118
|
exports.filterInstances = filterInstances;
|
|
153
119
|
/**
|
|
154
120
|
* filter array of all falsy instances
|
|
155
121
|
* */
|
|
156
122
|
function filterFalsy(array) {
|
|
157
|
-
return ((array === null || array === void 0 ? void 0 : array.filter(
|
|
123
|
+
return ((array === null || array === void 0 ? void 0 : array.filter(item => !!item)) || []);
|
|
158
124
|
}
|
|
159
125
|
exports.filterFalsy = filterFalsy;
|
|
160
126
|
/**
|
|
161
127
|
* receives array and builds hashmap whom keys are decided via function and values are from array
|
|
162
128
|
* */
|
|
163
|
-
function arrayToMap(array, getKey, map) {
|
|
164
|
-
|
|
165
|
-
return reduceToMap(array, getKey, function (item) { return item; }, map);
|
|
129
|
+
function arrayToMap(array, getKey, map = {}) {
|
|
130
|
+
return reduceToMap(array, getKey, item => item, map);
|
|
166
131
|
}
|
|
167
132
|
exports.arrayToMap = arrayToMap;
|
|
168
133
|
/**
|
|
169
134
|
* turns array into object that is similar to hashmap
|
|
170
135
|
* */
|
|
171
|
-
function reduceToMap(array, keyResolver, mapper, map) {
|
|
172
|
-
|
|
173
|
-
return array.reduce(function (toRet, element, index) {
|
|
136
|
+
function reduceToMap(array, keyResolver, mapper, map = {}) {
|
|
137
|
+
return array.reduce((toRet, element, index) => {
|
|
174
138
|
toRet[keyResolver(element, index, toRet)] = mapper(element, index, toRet);
|
|
175
139
|
return toRet;
|
|
176
140
|
}, map);
|
|
@@ -179,25 +143,23 @@ exports.reduceToMap = reduceToMap;
|
|
|
179
143
|
/**
|
|
180
144
|
* sorts array
|
|
181
145
|
* */
|
|
182
|
-
function sortArray(array, map, invert) {
|
|
183
|
-
|
|
184
|
-
if (invert === void 0) { invert = false; }
|
|
185
|
-
var functionMap = map;
|
|
146
|
+
function sortArray(array, map = i => i, invert = false) {
|
|
147
|
+
const functionMap = map;
|
|
186
148
|
if (typeof functionMap === 'function') {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
149
|
+
const compareFn = (a, b) => {
|
|
150
|
+
const _a = functionMap(a);
|
|
151
|
+
const _b = functionMap(b);
|
|
190
152
|
return (_a < _b ? -1 : (_a === _b ? 0 : 1)) * (invert ? -1 : 1);
|
|
191
153
|
};
|
|
192
154
|
return array.sort(compareFn);
|
|
193
155
|
}
|
|
194
|
-
|
|
156
|
+
let keys;
|
|
195
157
|
if (!Array.isArray(map))
|
|
196
158
|
keys = [map];
|
|
197
159
|
else
|
|
198
160
|
keys = map;
|
|
199
|
-
return keys.reduce(
|
|
200
|
-
return sortArray(array,
|
|
161
|
+
return keys.reduce((array, key) => {
|
|
162
|
+
return sortArray(array, item => item[key]);
|
|
201
163
|
}, array);
|
|
202
164
|
}
|
|
203
165
|
exports.sortArray = sortArray;
|
|
@@ -205,60 +167,37 @@ exports.sortArray = sortArray;
|
|
|
205
167
|
* "splits" array into given size of chunks and then does "action" on chunk and return to array of actions on chunks +-
|
|
206
168
|
* */
|
|
207
169
|
function batchAction(arr, chunk, action) {
|
|
208
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
-
});
|
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
const result = [];
|
|
172
|
+
for (let i = 0, j = arr.length; i < j; i += chunk) {
|
|
173
|
+
const items = yield action(arr.slice(i, i + chunk));
|
|
174
|
+
if (Array.isArray(items))
|
|
175
|
+
//addAllItemToArray(result, items);
|
|
176
|
+
result.push(...items);
|
|
177
|
+
else
|
|
178
|
+
addItemToArray(result, items);
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
233
181
|
});
|
|
234
182
|
}
|
|
235
183
|
exports.batchAction = batchAction;
|
|
236
184
|
function batchActionParallel(arr, chunk, action) {
|
|
237
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
});
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
const promises = [];
|
|
187
|
+
for (let i = 0, j = arr.length; i < j; i += chunk) {
|
|
188
|
+
addItemToArray(promises, action(arr.slice(i, i + chunk)));
|
|
189
|
+
}
|
|
190
|
+
const toRet = [];
|
|
191
|
+
const results = yield Promise.all(promises);
|
|
192
|
+
for (const items of results) {
|
|
193
|
+
if (Array.isArray(items))
|
|
194
|
+
//addAllItemToArray(toRet, items);
|
|
195
|
+
toRet.push(...items);
|
|
196
|
+
else
|
|
197
|
+
//addItemToArray(toRet, items);
|
|
198
|
+
toRet.push(items);
|
|
199
|
+
}
|
|
200
|
+
return toRet;
|
|
262
201
|
});
|
|
263
202
|
}
|
|
264
203
|
exports.batchActionParallel = batchActionParallel;
|
|
@@ -267,10 +206,9 @@ exports.batchActionParallel = batchActionParallel;
|
|
|
267
206
|
* @param arr An array that is potentially a matrix
|
|
268
207
|
* @param result A flat array of single values
|
|
269
208
|
*/
|
|
270
|
-
function flatArray(arr, result) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
var value = arr[i];
|
|
209
|
+
function flatArray(arr, result = []) {
|
|
210
|
+
for (let i = 0, length = arr.length; i < length; i++) {
|
|
211
|
+
const value = arr[i];
|
|
274
212
|
if (Array.isArray(value)) {
|
|
275
213
|
flatArray(value, result);
|
|
276
214
|
}
|
|
@@ -282,21 +220,19 @@ function flatArray(arr, result) {
|
|
|
282
220
|
}
|
|
283
221
|
exports.flatArray = flatArray;
|
|
284
222
|
function groupArrayBy(arr, mapper) {
|
|
285
|
-
|
|
286
|
-
|
|
223
|
+
const map = arr.reduce((agg, item, index) => {
|
|
224
|
+
const key = mapper(item, index);
|
|
287
225
|
(agg[key] || (agg[key] = [])).push(item);
|
|
288
226
|
return agg;
|
|
289
227
|
}, {});
|
|
290
|
-
return (0, object_tools_1._keys)(map).map(
|
|
228
|
+
return (0, object_tools_1._keys)(map).map(key => ({ key, values: map[key] }));
|
|
291
229
|
}
|
|
292
230
|
exports.groupArrayBy = groupArrayBy;
|
|
293
|
-
function toggleInArray(arr, item, mapper) {
|
|
294
|
-
|
|
295
|
-
var index = arr.findIndex(function (_item) { return mapper(_item) === mapper(item); });
|
|
231
|
+
function toggleInArray(arr, item, mapper = item => item) {
|
|
232
|
+
const index = arr.findIndex(_item => mapper(_item) === mapper(item));
|
|
296
233
|
if (index !== -1)
|
|
297
234
|
removeFromArrayByIndex(arr, index);
|
|
298
235
|
else
|
|
299
236
|
arr.push(item);
|
|
300
237
|
}
|
|
301
238
|
exports.toggleInArray = toggleInArray;
|
|
302
|
-
//# sourceMappingURL=array-tools.js.map
|
package/utils/crypto-tools.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.hashPasswordWithSalt = exports.randomObject = exports.randomNumber = void 0;
|
|
21
|
-
|
|
21
|
+
const crypto_1 = require("crypto");
|
|
22
22
|
function randomNumber(range) {
|
|
23
23
|
return Math.floor(Math.random() * (range));
|
|
24
24
|
}
|
|
@@ -33,4 +33,3 @@ function hashPasswordWithSalt(salt, password) {
|
|
|
33
33
|
.digest('hex');
|
|
34
34
|
}
|
|
35
35
|
exports.hashPasswordWithSalt = hashPasswordWithSalt;
|
|
36
|
-
//# sourceMappingURL=crypto-tools.js.map
|
package/utils/date-time-tools.js
CHANGED
|
@@ -25,45 +25,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
25
25
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
26
26
|
});
|
|
27
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
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
56
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
57
|
-
if (ar || !(i in from)) {
|
|
58
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
59
|
-
ar[i] = from[i];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
63
|
-
};
|
|
64
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
29
|
exports.normalizeTimestamp = exports.parseTimeString = exports.formatTimestamp = exports.createReadableTimestampObject = exports.currentTimeMillisWithTimeZone = exports.currentLocalTimeMillis = exports.specificTimeTodayMillis = exports.currentTimeMillis = exports.auditBy = exports._clearInterval = exports._setInterval = exports._clearTimeout = exports._setTimeout = exports.sleep = exports.timeout = exports.Weekdays = exports.Format_YYYYMMDD_HHmmss = exports.Format_HHmmss_DDMMYYYY = exports.Week = exports.Day = exports.Hour = exports.Minute = exports.Second = void 0;
|
|
66
|
-
|
|
30
|
+
const moment = require("moment");
|
|
67
31
|
exports.Second = 1000;
|
|
68
32
|
exports.Minute = exports.Second * 60;
|
|
69
33
|
exports.Hour = exports.Minute * 60;
|
|
@@ -73,21 +37,14 @@ exports.Format_HHmmss_DDMMYYYY = 'HH:mm:ss_DD-MM-YYYY';
|
|
|
73
37
|
exports.Format_YYYYMMDD_HHmmss = 'YYYY-MM-DD_HH:mm:ss';
|
|
74
38
|
exports.Weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
75
39
|
function timeout(sleepMs) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
return
|
|
78
|
-
return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, sleepMs, undefined); })];
|
|
79
|
-
});
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return new Promise(resolve => setTimeout(resolve, sleepMs, undefined));
|
|
80
42
|
});
|
|
81
43
|
}
|
|
82
44
|
exports.timeout = timeout;
|
|
83
45
|
exports.sleep = timeout;
|
|
84
|
-
function _setTimeout(handler, sleepMs) {
|
|
85
|
-
|
|
86
|
-
var args = [];
|
|
87
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
88
|
-
args[_i - 2] = arguments[_i];
|
|
89
|
-
}
|
|
90
|
-
return setTimeout.apply(void 0, __spreadArray([handler, sleepMs], args, false));
|
|
46
|
+
function _setTimeout(handler, sleepMs = 0, ...args) {
|
|
47
|
+
return setTimeout(handler, sleepMs, ...args);
|
|
91
48
|
}
|
|
92
49
|
exports._setTimeout = _setTimeout;
|
|
93
50
|
function _clearTimeout(handlerId) {
|
|
@@ -96,13 +53,8 @@ function _clearTimeout(handlerId) {
|
|
|
96
53
|
return clearTimeout(handlerId);
|
|
97
54
|
}
|
|
98
55
|
exports._clearTimeout = _clearTimeout;
|
|
99
|
-
function _setInterval(handler, sleepMs) {
|
|
100
|
-
|
|
101
|
-
var args = [];
|
|
102
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
103
|
-
args[_i - 2] = arguments[_i];
|
|
104
|
-
}
|
|
105
|
-
return setInterval.apply(void 0, __spreadArray([handler, sleepMs], args, false));
|
|
56
|
+
function _setInterval(handler, sleepMs = 0, ...args) {
|
|
57
|
+
return setInterval(handler, sleepMs, ...args);
|
|
106
58
|
}
|
|
107
59
|
exports._setInterval = _setInterval;
|
|
108
60
|
function _clearInterval(handlerId) {
|
|
@@ -111,9 +63,8 @@ function _clearInterval(handlerId) {
|
|
|
111
63
|
return clearInterval(handlerId);
|
|
112
64
|
}
|
|
113
65
|
exports._clearInterval = _clearInterval;
|
|
114
|
-
function auditBy(user, comment, timestamp) {
|
|
115
|
-
|
|
116
|
-
var _auditBy = {
|
|
66
|
+
function auditBy(user, comment, timestamp = currentTimeMillis()) {
|
|
67
|
+
const _auditBy = {
|
|
117
68
|
auditBy: user,
|
|
118
69
|
auditAt: createReadableTimestampObject(exports.Format_HHmmss_DDMMYYYY, timestamp)
|
|
119
70
|
};
|
|
@@ -123,31 +74,29 @@ function auditBy(user, comment, timestamp) {
|
|
|
123
74
|
}
|
|
124
75
|
exports.auditBy = auditBy;
|
|
125
76
|
function currentTimeMillis() {
|
|
126
|
-
|
|
77
|
+
const date = new Date();
|
|
127
78
|
return date.getTime();
|
|
128
79
|
}
|
|
129
80
|
exports.currentTimeMillis = currentTimeMillis;
|
|
130
81
|
function specificTimeTodayMillis(hours, minutes) {
|
|
131
|
-
|
|
82
|
+
const date = new Date();
|
|
132
83
|
date.setHours(hours);
|
|
133
84
|
date.setMinutes(minutes);
|
|
134
85
|
return date.getTime();
|
|
135
86
|
}
|
|
136
87
|
exports.specificTimeTodayMillis = specificTimeTodayMillis;
|
|
137
88
|
function currentLocalTimeMillis() {
|
|
138
|
-
|
|
89
|
+
const date = new Date();
|
|
139
90
|
return date.getTime();
|
|
140
91
|
}
|
|
141
92
|
exports.currentLocalTimeMillis = currentLocalTimeMillis;
|
|
142
93
|
function currentTimeMillisWithTimeZone() {
|
|
143
|
-
|
|
94
|
+
const date = new Date();
|
|
144
95
|
return date.getTime() + date.getTimezoneOffset();
|
|
145
96
|
}
|
|
146
97
|
exports.currentTimeMillisWithTimeZone = currentTimeMillisWithTimeZone;
|
|
147
|
-
function createReadableTimestampObject(pattern, timestamp, timezone) {
|
|
148
|
-
|
|
149
|
-
if (timestamp === void 0) { timestamp = currentTimeMillis(); }
|
|
150
|
-
var timeObj = {
|
|
98
|
+
function createReadableTimestampObject(pattern = exports.Format_HHmmss_DDMMYYYY, timestamp = currentTimeMillis(), timezone) {
|
|
99
|
+
const timeObj = {
|
|
151
100
|
timestamp: timestamp,
|
|
152
101
|
pretty: formatTimestamp(pattern, timestamp)
|
|
153
102
|
};
|
|
@@ -159,18 +108,14 @@ exports.createReadableTimestampObject = createReadableTimestampObject;
|
|
|
159
108
|
/**
|
|
160
109
|
* For detailed list of formats visit https://momentjs.com/docs/#/displaying/format/
|
|
161
110
|
*/
|
|
162
|
-
function formatTimestamp(pattern, timestamp, timezone)
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (timezone === void 0) { timezone = Intl.DateTimeFormat()
|
|
166
|
-
.resolvedOptions().timeZone; }
|
|
167
|
-
var m = moment.utc(timestamp);
|
|
111
|
+
function formatTimestamp(pattern = exports.Format_HHmmss_DDMMYYYY, timestamp = currentTimeMillis(), timezone = Intl.DateTimeFormat()
|
|
112
|
+
.resolvedOptions().timeZone) {
|
|
113
|
+
const m = moment.utc(timestamp);
|
|
168
114
|
m.utcOffset(-new Date().getTimezoneOffset());
|
|
169
115
|
return m.format(pattern);
|
|
170
116
|
}
|
|
171
117
|
exports.formatTimestamp = formatTimestamp;
|
|
172
|
-
function parseTimeString(timestamp, pattern) {
|
|
173
|
-
if (pattern === void 0) { pattern = exports.Format_HHmmss_DDMMYYYY; }
|
|
118
|
+
function parseTimeString(timestamp, pattern = exports.Format_HHmmss_DDMMYYYY) {
|
|
174
119
|
return moment.utc(timestamp, pattern).valueOf();
|
|
175
120
|
}
|
|
176
121
|
exports.parseTimeString = parseTimeString;
|
|
@@ -178,4 +123,3 @@ function normalizeTimestamp(timestamp, pattern) {
|
|
|
178
123
|
return parseTimeString(formatTimestamp(pattern, timestamp), pattern);
|
|
179
124
|
}
|
|
180
125
|
exports.normalizeTimestamp = normalizeTimestamp;
|
|
181
|
-
//# sourceMappingURL=date-time-tools.js.map
|
package/utils/db-object-tools.js
CHANGED
package/utils/filter-tools.js
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.Filter = void 0;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const array_tools_1 = require("./array-tools");
|
|
22
|
+
const specialChars = ['(', ')', '?', '[', ']', '*', '\\', '/'];
|
|
23
23
|
/**
|
|
24
24
|
* # Filter
|
|
25
25
|
*
|
|
@@ -47,7 +47,7 @@ var specialChars = ['(', ')', '?', '[', ']', '*', '\\', '/'];
|
|
|
47
47
|
* const items: T[] = [item1, item2, item3];
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
class Filter {
|
|
51
51
|
/**
|
|
52
52
|
* Returns an instance of a filter, where the tested fields are the one provided by the mapper.
|
|
53
53
|
*
|
|
@@ -61,8 +61,7 @@ var Filter = /** @class */ (function () {
|
|
|
61
61
|
* const filter = new Filter<T>((item)=>[item.name]);
|
|
62
62
|
* ```
|
|
63
63
|
*/
|
|
64
|
-
|
|
65
|
-
var _this = this;
|
|
64
|
+
constructor(mapper) {
|
|
66
65
|
this.regexp = true;
|
|
67
66
|
/**
|
|
68
67
|
* A function return a boolean value as to if any of the item fields passes the Filter._filter</br>
|
|
@@ -82,11 +81,10 @@ var Filter = /** @class */ (function () {
|
|
|
82
81
|
* const filteredItems = [item1,item2,item3].filter(filter.filterImpl);
|
|
83
82
|
* ```
|
|
84
83
|
*/
|
|
85
|
-
this.filterImpl =
|
|
86
|
-
|
|
87
|
-
for (
|
|
88
|
-
|
|
89
|
-
if (key.toLowerCase().match(_this._filter))
|
|
84
|
+
this.filterImpl = (item) => {
|
|
85
|
+
const keysToFilter = this.mapper(item);
|
|
86
|
+
for (const key of keysToFilter) {
|
|
87
|
+
if (key.toLowerCase().match(this._filter))
|
|
90
88
|
return true;
|
|
91
89
|
}
|
|
92
90
|
return false;
|
|
@@ -107,11 +105,11 @@ var Filter = /** @class */ (function () {
|
|
|
107
105
|
* ```
|
|
108
106
|
*
|
|
109
107
|
*/
|
|
110
|
-
|
|
108
|
+
setRegexp(regexp) {
|
|
111
109
|
this.regexp = regexp;
|
|
112
110
|
delete this.originFilterText;
|
|
113
111
|
return this;
|
|
114
|
-
}
|
|
112
|
+
}
|
|
115
113
|
/**
|
|
116
114
|
* A function returning a boolean value for if the item passes the filter</br>
|
|
117
115
|
* The function checks the item fields (based on the mapper given when the Filter instance was created) against the filterText argument
|
|
@@ -134,10 +132,10 @@ var Filter = /** @class */ (function () {
|
|
|
134
132
|
* console.log(filter.filterItem(item, 'Adam'))
|
|
135
133
|
* ```
|
|
136
134
|
*/
|
|
137
|
-
|
|
135
|
+
filterItem(item, filterText) {
|
|
138
136
|
this.prepareFilter(filterText);
|
|
139
137
|
return this.filterImpl(item);
|
|
140
|
-
}
|
|
138
|
+
}
|
|
141
139
|
/**
|
|
142
140
|
* A function returning an array of items that pass the filter</br>
|
|
143
141
|
* The function checks each item's fields (based on the mapper given when the Filter instance was created) against the filterText argument.
|
|
@@ -155,30 +153,28 @@ var Filter = /** @class */ (function () {
|
|
|
155
153
|
* const filteredItems = filter.filter(items,'Adam');
|
|
156
154
|
* ```
|
|
157
155
|
*/
|
|
158
|
-
|
|
156
|
+
filter(items, filterText) {
|
|
159
157
|
this.prepareFilter(filterText);
|
|
160
158
|
return items.filter(this.filterImpl);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
var _this = this;
|
|
159
|
+
}
|
|
160
|
+
filterSort(items, filterText) {
|
|
164
161
|
this.prepareFilter(filterText);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return (0, array_tools_1.sortArray)(filteredItems,
|
|
168
|
-
|
|
162
|
+
const text = filterText.toLowerCase();
|
|
163
|
+
const filteredItems = items.filter(this.filterImpl);
|
|
164
|
+
return (0, array_tools_1.sortArray)(filteredItems, item => {
|
|
165
|
+
const values = this.mapper(item).map(value => value.toLowerCase());
|
|
169
166
|
//Exact Match
|
|
170
167
|
if (values.includes(text)) {
|
|
171
168
|
return 0;
|
|
172
169
|
}
|
|
173
|
-
for (
|
|
174
|
-
var value = values_1[_i];
|
|
170
|
+
for (const value of values) {
|
|
175
171
|
if (value.includes(text)) {
|
|
176
172
|
return 1;
|
|
177
173
|
}
|
|
178
174
|
}
|
|
179
175
|
return 2;
|
|
180
176
|
});
|
|
181
|
-
}
|
|
177
|
+
}
|
|
182
178
|
/**
|
|
183
179
|
* A function that sets the Filter instance's filter text and regex.
|
|
184
180
|
*
|
|
@@ -191,27 +187,25 @@ var Filter = /** @class */ (function () {
|
|
|
191
187
|
* const filter = new Filter().prepareFilter('REGEX');
|
|
192
188
|
* ```
|
|
193
189
|
*/
|
|
194
|
-
|
|
190
|
+
prepareFilter(filter) {
|
|
195
191
|
if (this.originFilterText === filter)
|
|
196
192
|
return this;
|
|
197
193
|
this._filter = Filter.translateStringToRegexFilter(filter || '', this.regexp);
|
|
198
194
|
this.originFilterText = filter;
|
|
199
195
|
return this;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}());
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
Filter.translateStringToRegexFilter = (filter, regexp) => {
|
|
199
|
+
filter = (filter || '').trim();
|
|
200
|
+
filter = filter.toLowerCase();
|
|
201
|
+
filter = filter.replace(/\s+/, ' ');
|
|
202
|
+
if (regexp) {
|
|
203
|
+
filter = Array.from(filter).map(char => specialChars.includes(char) ? `.*?\\${char}` : `.*?${char}`).join('');
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
filter = `.*?${filter}`;
|
|
207
|
+
}
|
|
208
|
+
filter.length === 0 ? filter = '.*?' : filter += '.*';
|
|
209
|
+
return new RegExp(filter);
|
|
210
|
+
};
|
|
216
211
|
exports.Filter = Filter;
|
|
217
|
-
//# sourceMappingURL=filter-tools.js.map
|