topkat-utils 1.1.14 → 1.2.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.
- package/CHANGELOG.md +7 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +9 -13
- package/dist/index.js.map +1 -1
- package/dist/src/array-utils.js +23 -45
- package/dist/src/array-utils.js.map +1 -1
- package/dist/src/clean-stack-trace.d.ts +1 -0
- package/dist/src/clean-stack-trace.js +46 -0
- package/dist/src/clean-stack-trace.js.map +1 -0
- package/dist/src/config.d.ts +1 -1
- package/dist/src/config.js +5 -16
- package/dist/src/config.js.map +1 -1
- package/dist/src/date-utils.js +91 -141
- package/dist/src/date-utils.js.map +1 -1
- package/dist/src/env-utils.js +4 -4
- package/dist/src/env-utils.js.map +1 -1
- package/dist/src/error-utils.d.ts +23 -2
- package/dist/src/error-utils.js +95 -105
- package/dist/src/error-utils.js.map +1 -1
- package/dist/src/isset.js +2 -6
- package/dist/src/isset.js.map +1 -1
- package/dist/src/logger-utils.d.ts +1 -1
- package/dist/src/logger-utils.js +139 -268
- package/dist/src/logger-utils.js.map +1 -1
- package/dist/src/loop-utils.d.ts +1 -1
- package/dist/src/loop-utils.js +35 -121
- package/dist/src/loop-utils.js.map +1 -1
- package/dist/src/math-utils.js +8 -24
- package/dist/src/math-utils.js.map +1 -1
- package/dist/src/mongo-utils.js +6 -20
- package/dist/src/mongo-utils.js.map +1 -1
- package/dist/src/object-utils.d.ts +1 -1
- package/dist/src/object-utils.js +74 -114
- package/dist/src/object-utils.js.map +1 -1
- package/dist/src/regexp-utils.js +6 -7
- package/dist/src/regexp-utils.js.map +1 -1
- package/dist/src/remove-circular-json-stringify.js +4 -5
- package/dist/src/remove-circular-json-stringify.js.map +1 -1
- package/dist/src/string-utils.d.ts +1 -1
- package/dist/src/string-utils.js +49 -107
- package/dist/src/string-utils.js.map +1 -1
- package/dist/src/tests-utils.d.ts +1 -1
- package/dist/src/tests-utils.js +19 -22
- package/dist/src/tests-utils.js.map +1 -1
- package/dist/src/timer-utils.js +37 -121
- package/dist/src/timer-utils.js.map +1 -1
- package/dist/src/transaction-utils.js +44 -129
- package/dist/src/transaction-utils.js.map +1 -1
- package/dist/src/types.d.ts +5 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/validation-utils.d.ts +1 -1
- package/dist/src/validation-utils.js +80 -134
- package/dist/src/validation-utils.js.map +1 -1
- package/dist/src/wtf-utils.js +35 -40
- package/dist/src/wtf-utils.js.map +1 -1
- package/index.ts +1 -1
- package/package.json +4 -4
- package/src/clean-stack-trace.ts +40 -0
- package/src/config.ts +1 -1
- package/src/date-utils.ts +5 -5
- package/src/error-utils.ts +86 -44
- package/src/logger-utils.ts +2 -2
- package/src/loop-utils.ts +1 -1
- package/src/object-utils.ts +6 -6
- package/src/string-utils.ts +1 -1
- package/src/tests-utils.ts +2 -2
- package/src/timer-utils.ts +2 -2
- package/src/{private/types.ts → types.ts} +0 -0
- package/src/validation-utils.ts +8 -8
- package/tsconfig.json +1 -1
- package/src/private/error-handler.ts +0 -21
package/dist/src/string-utils.js
CHANGED
|
@@ -1,94 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.cln = exports.miniTemplater = exports.urlPathJoin = exports.generateObjectId = exports.generateToken = exports.convertAccentedCharacters = exports.getValuesBetweenStrings = exports.getValuesBetweenSeparator = exports.camelCaseToWords = exports.capitalize1st = exports.lowerCase = exports.upperCase = exports.titleCase = exports.pascalCase = exports.kebabCase = exports.snakeCase = exports.camelCase = void 0;
|
|
15
4
|
//----------------------------------------
|
|
16
5
|
// STRING UTILS
|
|
17
6
|
//----------------------------------------
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
const error_utils_1 = require("./error-utils");
|
|
8
|
+
const isset_1 = require("./isset");
|
|
20
9
|
/**Eg: camelCase */
|
|
21
|
-
function camelCase() {
|
|
22
|
-
|
|
23
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
24
|
-
wordBits[_i] = arguments[_i];
|
|
25
|
-
}
|
|
26
|
-
return wordBits.filter(function (e) { return e; }).map(function (w, i) { return i === 0 ? w : capitalize1st(w); }).join('');
|
|
10
|
+
function camelCase(...wordBits) {
|
|
11
|
+
return wordBits.filter(e => e).map((w, i) => i === 0 ? w : capitalize1st(w)).join('');
|
|
27
12
|
}
|
|
28
13
|
exports.camelCase = camelCase;
|
|
29
14
|
/**Eg: snake_case
|
|
30
15
|
* trimmed but not lowerCased
|
|
31
16
|
*/
|
|
32
|
-
function snakeCase() {
|
|
33
|
-
|
|
34
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
35
|
-
wordBits[_i] = arguments[_i];
|
|
36
|
-
}
|
|
37
|
-
return wordBits.filter(function (e) { return e; }).map(function (w) { return w.trim(); }).join('_');
|
|
17
|
+
function snakeCase(...wordBits) {
|
|
18
|
+
return wordBits.filter(e => e).map(w => w.trim()).join('_');
|
|
38
19
|
}
|
|
39
20
|
exports.snakeCase = snakeCase;
|
|
40
21
|
/**Eg: kebab-case
|
|
41
22
|
* trimmed AND lowerCased
|
|
42
23
|
* undefined, null... => ''
|
|
43
24
|
*/
|
|
44
|
-
function kebabCase() {
|
|
45
|
-
|
|
46
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
47
|
-
wordBits[_i] = arguments[_i];
|
|
48
|
-
}
|
|
49
|
-
return wordBits.filter(function (e) { return e; }).map(function (w) { return w.trim().toLowerCase(); }).join('-');
|
|
25
|
+
function kebabCase(...wordBits) {
|
|
26
|
+
return wordBits.filter(e => e).map(w => w.trim().toLowerCase()).join('-');
|
|
50
27
|
}
|
|
51
28
|
exports.kebabCase = kebabCase;
|
|
52
29
|
/**Eg: PascalCase undefined, null... => '' */
|
|
53
|
-
function pascalCase() {
|
|
54
|
-
|
|
55
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
56
|
-
wordBits[_i] = arguments[_i];
|
|
57
|
-
}
|
|
58
|
-
return wordBits.filter(function (e) { return e; }).map(function (w, i) { return capitalize1st(w); }).join('');
|
|
30
|
+
function pascalCase(...wordBits) {
|
|
31
|
+
return wordBits.filter(e => e).map((w, i) => capitalize1st(w)).join('');
|
|
59
32
|
}
|
|
60
33
|
exports.pascalCase = pascalCase;
|
|
61
34
|
/**Eg: Titlecase undefined, null... => '' */
|
|
62
|
-
function titleCase() {
|
|
63
|
-
|
|
64
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
65
|
-
wordBits[_i] = arguments[_i];
|
|
66
|
-
}
|
|
67
|
-
return capitalize1st(wordBits.filter(function (e) { return e; }).map(function (w) { return w.trim(); }).join(''));
|
|
35
|
+
function titleCase(...wordBits) {
|
|
36
|
+
return capitalize1st(wordBits.filter(e => e).map(w => w.trim()).join(''));
|
|
68
37
|
}
|
|
69
38
|
exports.titleCase = titleCase;
|
|
70
39
|
/**Eg: UPPERCASE undefined, null... => '' */
|
|
71
|
-
function upperCase() {
|
|
72
|
-
|
|
73
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
74
|
-
wordBits[_i] = arguments[_i];
|
|
75
|
-
}
|
|
76
|
-
return wordBits.filter(function (e) { return e; }).map(function (w) { return w.trim().toUpperCase(); }).join('');
|
|
40
|
+
function upperCase(...wordBits) {
|
|
41
|
+
return wordBits.filter(e => e).map(w => w.trim().toUpperCase()).join('');
|
|
77
42
|
}
|
|
78
43
|
exports.upperCase = upperCase;
|
|
79
44
|
/**Eg: lowercase undefined, null... => '' */
|
|
80
|
-
function lowerCase() {
|
|
81
|
-
|
|
82
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
83
|
-
wordBits[_i] = arguments[_i];
|
|
84
|
-
}
|
|
85
|
-
return wordBits.filter(function (e) { return e; }).map(function (w) { return w.trim().toLowerCase(); }).join('');
|
|
45
|
+
function lowerCase(...wordBits) {
|
|
46
|
+
return wordBits.filter(e => e).map(w => w.trim().toLowerCase()).join('');
|
|
86
47
|
}
|
|
87
48
|
exports.lowerCase = lowerCase;
|
|
88
|
-
function capitalize1st(str) {
|
|
89
|
-
if (str === void 0) { str = ''; }
|
|
90
|
-
return str[0].toUpperCase() + str.slice(1);
|
|
91
|
-
}
|
|
49
|
+
function capitalize1st(str = '') { return str[0].toUpperCase() + str.slice(1); }
|
|
92
50
|
exports.capitalize1st = capitalize1st;
|
|
93
51
|
function camelCaseToWords(str) {
|
|
94
52
|
return str ? str.trim().replace(/([A-Z])/g, '-$1').toLowerCase().split('-') : [];
|
|
@@ -98,10 +56,9 @@ exports.camelCaseToWords = camelCaseToWords;
|
|
|
98
56
|
* This will return the content separated by first level of separators
|
|
99
57
|
* @return ["{ blah;2}", "['nested,(what,ever)']"]
|
|
100
58
|
*/
|
|
101
|
-
function getValuesBetweenSeparator(str, separator, removeTrailingSpaces) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
var outer = getValuesBetweenStrings(str, separator, undefined, undefined, undefined, removeTrailingSpaces).outer;
|
|
59
|
+
function getValuesBetweenSeparator(str, separator, removeTrailingSpaces = true) {
|
|
60
|
+
(0, error_utils_1.err500IfEmptyOrNotSet)({ separator, str });
|
|
61
|
+
const { outer } = getValuesBetweenStrings(str, separator, undefined, undefined, undefined, removeTrailingSpaces);
|
|
105
62
|
return outer;
|
|
106
63
|
}
|
|
107
64
|
exports.getValuesBetweenSeparator = getValuesBetweenSeparator;
|
|
@@ -113,32 +70,29 @@ exports.getValuesBetweenSeparator = getValuesBetweenSeparator;
|
|
|
113
70
|
* @param ignoreBetweenOpen default ['\'', '`', '"', '/'], when reaching an opening char, it will ignore all until it find the corresponding closing char
|
|
114
71
|
* @param ignoreBetweenClose default ['\'', '`', '"', '/'] list of corresponding closing chars
|
|
115
72
|
*/
|
|
116
|
-
function getValuesBetweenStrings(str, openingOrSeparator, closing, ignoreBetweenOpen, ignoreBetweenClose, removeTrailingSpaces) {
|
|
117
|
-
|
|
118
|
-
if (ignoreBetweenClose === void 0) { ignoreBetweenClose = ['\'', '`', '"', '/']; }
|
|
119
|
-
if (removeTrailingSpaces === void 0) { removeTrailingSpaces = true; }
|
|
120
|
-
(0, error_utils_1.err500IfEmptyOrNotSet)({ openingOrSeparator: openingOrSeparator, str: str });
|
|
73
|
+
function getValuesBetweenStrings(str, openingOrSeparator, closing, ignoreBetweenOpen = ['\'', '`', '"', '/'], ignoreBetweenClose = ['\'', '`', '"', '/'], removeTrailingSpaces = true) {
|
|
74
|
+
(0, error_utils_1.err500IfEmptyOrNotSet)({ openingOrSeparator, str });
|
|
121
75
|
str = str.replace(/<</g, '§§"').replace(/>>/g, '"§§');
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
76
|
+
const arrayValues = [];
|
|
77
|
+
const betweenArray = [];
|
|
78
|
+
let level = 0;
|
|
79
|
+
let ignoreUntil = false;
|
|
80
|
+
let actualValue = '';
|
|
81
|
+
let precedingChar = '';
|
|
82
|
+
let separatorMode = false;
|
|
129
83
|
if (!closing)
|
|
130
84
|
separatorMode = true;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
85
|
+
const separator = separatorMode ? openingOrSeparator : false;
|
|
86
|
+
const openingChars = separatorMode ? ['(', '{', '['] : [openingOrSeparator];
|
|
87
|
+
const closingChars = separatorMode ? [')', '}', ']'] : [closing];
|
|
88
|
+
const pushActualValue = () => {
|
|
135
89
|
if (level === 0)
|
|
136
90
|
betweenArray.push(removeTrailingSpaces ? actualValue.replace(/(?:^\s+|\s+$)/g, '') : actualValue);
|
|
137
91
|
else
|
|
138
92
|
arrayValues.push(removeTrailingSpaces ? actualValue.replace(/(?:^\s+|\s+$)/g, '') : actualValue);
|
|
139
93
|
actualValue = '';
|
|
140
94
|
};
|
|
141
|
-
str.split('').forEach(
|
|
95
|
+
str.split('').forEach(char => {
|
|
142
96
|
// handle unwanted nested structure like characters in a strings that may be a unmatched closing / opening character
|
|
143
97
|
// Eg: {'azer}aze'}
|
|
144
98
|
if (ignoreUntil && char === ignoreUntil && precedingChar !== '\\')
|
|
@@ -146,7 +100,7 @@ function getValuesBetweenStrings(str, openingOrSeparator, closing, ignoreBetween
|
|
|
146
100
|
else if (ignoreUntil && char !== ignoreUntil)
|
|
147
101
|
true;
|
|
148
102
|
else if (ignoreBetweenOpen.includes(char)) {
|
|
149
|
-
|
|
103
|
+
const indexChar = ignoreBetweenOpen.findIndex(char2 => char2 === char);
|
|
150
104
|
ignoreUntil = ignoreBetweenClose[indexChar];
|
|
151
105
|
}
|
|
152
106
|
else if (openingChars.includes(char)) {
|
|
@@ -172,7 +126,7 @@ function getValuesBetweenStrings(str, openingOrSeparator, closing, ignoreBetween
|
|
|
172
126
|
precedingChar = char;
|
|
173
127
|
});
|
|
174
128
|
pushActualValue();
|
|
175
|
-
|
|
129
|
+
const replaceValz = arr => arr.map(v => v.replace(/§§"/g, '<<').replace(/"§§/g, '>>')).filter(v => v);
|
|
176
130
|
return { inner: replaceValz(arrayValues), outer: replaceValz(betweenArray) };
|
|
177
131
|
}
|
|
178
132
|
exports.getValuesBetweenStrings = getValuesBetweenStrings;
|
|
@@ -181,9 +135,8 @@ exports.getValuesBetweenStrings = getValuesBetweenStrings;
|
|
|
181
135
|
* @param {Object} config { removeSpecialChars: false, removeNumbers: false, removeSpaces: false }
|
|
182
136
|
* @returns String with all accentued char replaced by their non accentued version + config formattting
|
|
183
137
|
*/
|
|
184
|
-
function convertAccentedCharacters(str, config) {
|
|
185
|
-
|
|
186
|
-
var output = str
|
|
138
|
+
function convertAccentedCharacters(str, config = {}) {
|
|
139
|
+
let output = str
|
|
187
140
|
.replace(/[àáâãäå]/g, 'a')
|
|
188
141
|
.replace(/ç/g, 'c')
|
|
189
142
|
.replace(/[èéêë]/g, 'e')
|
|
@@ -200,23 +153,20 @@ function convertAccentedCharacters(str, config) {
|
|
|
200
153
|
return output;
|
|
201
154
|
}
|
|
202
155
|
exports.convertAccentedCharacters = convertAccentedCharacters;
|
|
203
|
-
|
|
204
|
-
|
|
156
|
+
let generatedTokens = []; // cache to avoid collision
|
|
157
|
+
let lastTs = new Date().getTime();
|
|
205
158
|
/** minLength 8 if unique
|
|
206
159
|
* @param {Number} length default: 20
|
|
207
160
|
* @param {Boolean} unique default: true. Generate a real unique token base on the date. min length will be min 8 in this case
|
|
208
161
|
* @param {string} mode one of ['alphanumeric', 'hexadecimal']
|
|
209
162
|
* NOTE: to generate a mongoDB Random Id, use the params: 24, true, 'hexadecimal'
|
|
210
163
|
*/
|
|
211
|
-
function generateToken(length, unique, mode) {
|
|
212
|
-
|
|
213
|
-
if (unique === void 0) { unique = true; }
|
|
214
|
-
if (mode === void 0) { mode = 'alphanumeric'; }
|
|
215
|
-
var charConvNumeric = mode === 'alphanumeric' ? 36 : 16;
|
|
164
|
+
function generateToken(length = 20, unique = true, mode = 'alphanumeric') {
|
|
165
|
+
let charConvNumeric = mode === 'alphanumeric' ? 36 : 16;
|
|
216
166
|
if (unique && length < 8)
|
|
217
167
|
length = 8;
|
|
218
|
-
|
|
219
|
-
|
|
168
|
+
let token;
|
|
169
|
+
let tokenTs;
|
|
220
170
|
do {
|
|
221
171
|
tokenTs = (new Date()).getTime();
|
|
222
172
|
token = unique ? tokenTs.toString(charConvNumeric) : '';
|
|
@@ -237,11 +187,7 @@ exports.generateObjectId = generateObjectId;
|
|
|
237
187
|
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2/
|
|
238
188
|
* * urlPathJoin('http:/', 'kikou.lol') => https://www.kikou.lol
|
|
239
189
|
*/
|
|
240
|
-
function urlPathJoin() {
|
|
241
|
-
var bits = [];
|
|
242
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
243
|
-
bits[_i] = arguments[_i];
|
|
244
|
-
}
|
|
190
|
+
function urlPathJoin(...bits) {
|
|
245
191
|
return bits.join('/').replace(/\/+/g, '/').replace(/(https?:)\/\/?/, '$1//');
|
|
246
192
|
}
|
|
247
193
|
exports.urlPathJoin = urlPathJoin;
|
|
@@ -252,16 +198,12 @@ exports.urlPathJoin = urlPathJoin;
|
|
|
252
198
|
* * valueWhenNotSet => replacer for undefined values. Default: ''
|
|
253
199
|
* * regexp => must be 'g' and first capturing group matching the value to replace. Default: /{{\s*([^}]*)\s*}}/g
|
|
254
200
|
*/
|
|
255
|
-
function miniTemplater(content, varz, options) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
return (0, isset_1.isset)(content) ? content.replace(options.regexp, function (m, $1) { return (0, isset_1.isset)(varz[$1]) ? varz[$1] : options.valueWhenNotSet; }) : options.valueWhenContentUndefined;
|
|
201
|
+
function miniTemplater(content, varz, options = {}) {
|
|
202
|
+
options = Object.assign({ valueWhenNotSet: '', regexp: /{{\s*([^}]*)\s*}}/g, valueWhenContentUndefined: '' }, options);
|
|
203
|
+
return (0, isset_1.isset)(content) ? content.replace(options.regexp, (m, $1) => (0, isset_1.isset)(varz[$1]) ? varz[$1] : options.valueWhenNotSet) : options.valueWhenContentUndefined;
|
|
259
204
|
}
|
|
260
205
|
exports.miniTemplater = miniTemplater;
|
|
261
206
|
/** Clean output for outside world. All undefined / null / NaN / Infinity values are changed to '-' */
|
|
262
|
-
function cln(val, replacerInCaseItIsUndefinNaN) {
|
|
263
|
-
if (replacerInCaseItIsUndefinNaN === void 0) { replacerInCaseItIsUndefinNaN = '-'; }
|
|
264
|
-
return ['undefined', undefined, 'indéfini', 'NaN', NaN, Infinity, null].includes(val) ? replacerInCaseItIsUndefinNaN : val;
|
|
265
|
-
}
|
|
207
|
+
function cln(val, replacerInCaseItIsUndefinNaN = '-') { return ['undefined', undefined, 'indéfini', 'NaN', NaN, Infinity, null].includes(val) ? replacerInCaseItIsUndefinNaN : val; }
|
|
266
208
|
exports.cln = cln;
|
|
267
209
|
//# sourceMappingURL=string-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tests-utils.js
CHANGED
|
@@ -4,20 +4,19 @@ exports.assert = exports.restTestMini = void 0;
|
|
|
4
4
|
//----------------------------------------
|
|
5
5
|
// TESTS UTILS
|
|
6
6
|
//----------------------------------------
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const logger_utils_1 = require("./logger-utils");
|
|
8
|
+
const isset_1 = require("./isset");
|
|
9
|
+
const validation_utils_1 = require("./validation-utils");
|
|
10
|
+
const is_object_1 = require("./is-object");
|
|
11
11
|
exports.restTestMini = {
|
|
12
12
|
throwOnErr: false,
|
|
13
|
-
reset
|
|
14
|
-
if (throwOnErr === void 0) { throwOnErr = false; }
|
|
13
|
+
reset(throwOnErr = false) {
|
|
15
14
|
exports.restTestMini.nbSuccess = 0;
|
|
16
15
|
exports.restTestMini.nbError = 0;
|
|
17
16
|
exports.restTestMini.lastErrors = [];
|
|
18
17
|
exports.restTestMini.throwOnErr = throwOnErr;
|
|
19
18
|
},
|
|
20
|
-
newErr
|
|
19
|
+
newErr(err) {
|
|
21
20
|
exports.restTestMini.nbError++;
|
|
22
21
|
exports.restTestMini.lastErrors.push(err);
|
|
23
22
|
if (exports.restTestMini.throwOnErr)
|
|
@@ -25,20 +24,18 @@ exports.restTestMini = {
|
|
|
25
24
|
else
|
|
26
25
|
logger_utils_1.C.error(false, err);
|
|
27
26
|
},
|
|
28
|
-
printStats
|
|
27
|
+
printStats() {
|
|
29
28
|
// TODO print last errz
|
|
30
|
-
logger_utils_1.C.info(
|
|
29
|
+
logger_utils_1.C.info(`ERRORS RESUME =========`);
|
|
31
30
|
if (exports.restTestMini.lastErrors.length)
|
|
32
31
|
logger_utils_1.C.log('\n\n\n');
|
|
33
|
-
for (
|
|
34
|
-
var lastErr = _a[_i];
|
|
32
|
+
for (const lastErr of exports.restTestMini.lastErrors)
|
|
35
33
|
logger_utils_1.C.error(false, lastErr);
|
|
36
|
-
}
|
|
37
34
|
logger_utils_1.C.log('\n\n\n');
|
|
38
|
-
logger_utils_1.C.info(
|
|
39
|
-
logger_utils_1.C.info(
|
|
40
|
-
logger_utils_1.C.success(
|
|
41
|
-
logger_utils_1.C.error(false,
|
|
35
|
+
logger_utils_1.C.info(`STATS =========`);
|
|
36
|
+
logger_utils_1.C.info(`Total: ${exports.restTestMini.nbSuccess + exports.restTestMini.nbError}`);
|
|
37
|
+
logger_utils_1.C.success(`Success: ${exports.restTestMini.nbSuccess}`);
|
|
38
|
+
logger_utils_1.C.error(false, ` Errors: ${exports.restTestMini.nbError}`);
|
|
42
39
|
},
|
|
43
40
|
nbSuccess: 0,
|
|
44
41
|
nbError: 0,
|
|
@@ -52,19 +49,19 @@ exports.restTestMini = {
|
|
|
52
49
|
*/
|
|
53
50
|
function assert(description, value, validatorObject) {
|
|
54
51
|
try {
|
|
55
|
-
|
|
56
|
-
value
|
|
52
|
+
const validatorObjReal = {
|
|
53
|
+
value,
|
|
57
54
|
name: description,
|
|
58
55
|
};
|
|
59
56
|
if ((0, is_object_1.isObject)(validatorObject))
|
|
60
57
|
Object.assign(validatorObjReal, validatorObject);
|
|
61
58
|
else if ((0, isset_1.isset)(validatorObject))
|
|
62
59
|
validatorObjReal.eq = validatorObject;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
const issetCheck = !(0, isset_1.isset)(validatorObjReal); // isEmpty()
|
|
61
|
+
const [errMsg, extraInfos] = (0, validation_utils_1.validatorReturnErrArray)(validatorObjReal);
|
|
62
|
+
const msg2 = description + ` ${issetCheck ? 'isset' : `${JSON.stringify(validatorObject)}`}`;
|
|
66
63
|
if ((0, isset_1.isset)(errMsg)) {
|
|
67
|
-
|
|
64
|
+
const err = msg2 + `\n ${errMsg}\n ${JSON.stringify(extraInfos)}`;
|
|
68
65
|
exports.restTestMini.newErr(err);
|
|
69
66
|
}
|
|
70
67
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests-utils.js","sourceRoot":"","sources":["../../src/tests-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C
|
|
1
|
+
{"version":3,"file":"tests-utils.js","sourceRoot":"","sources":["../../src/tests-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,iDAAkC;AAElC,mCAA+B;AAC/B,yDAA4D;AAE5D,2CAAsC;AAEzB,QAAA,YAAY,GAAG;IACxB,UAAU,EAAE,KAAK;IACjB,KAAK,CAAC,UAAU,GAAG,KAAK;QACpB,oBAAY,CAAC,SAAS,GAAG,CAAC,CAAA;QAC1B,oBAAY,CAAC,OAAO,GAAG,CAAC,CAAA;QACxB,oBAAY,CAAC,UAAU,GAAG,EAAE,CAAA;QAC5B,oBAAY,CAAC,UAAU,GAAG,UAAU,CAAA;IACxC,CAAC;IACD,MAAM,CAAC,GAAG;QACN,oBAAY,CAAC,OAAO,EAAE,CAAA;QACtB,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,oBAAY,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;;YAC5C,gBAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC;IACD,UAAU;QACN,uBAAuB;QACvB,gBAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACjC,IAAI,oBAAY,CAAC,UAAU,CAAC,MAAM;YAAE,gBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACnD,KAAK,MAAM,OAAO,IAAI,oBAAY,CAAC,UAAU;YAAE,gBAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACtE,gBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACf,gBAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACzB,gBAAC,CAAC,IAAI,CAAC,UAAU,oBAAY,CAAC,SAAS,GAAG,oBAAY,CAAC,OAAO,EAAE,CAAC,CAAA;QACjE,gBAAC,CAAC,OAAO,CAAC,YAAY,oBAAY,CAAC,SAAS,EAAE,CAAC,CAAA;QAC/C,gBAAC,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,oBAAY,CAAC,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,EAAE;CACjB,CAAA;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,WAAmB,EAAE,KAAU,EAAE,eAAwG;IAC5J,IAAI;QACA,MAAM,gBAAgB,GAAoB;YACtC,KAAK;YACL,IAAI,EAAE,WAAW;SACpB,CAAA;QAED,IAAI,IAAA,oBAAQ,EAAC,eAAe,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;aAC1E,IAAI,IAAA,aAAK,EAAC,eAAe,CAAC;YAAE,gBAAgB,CAAC,EAAE,GAAG,eAAe,CAAA;QAEtE,MAAM,UAAU,GAAG,CAAC,IAAA,aAAK,EAAC,gBAAgB,CAAC,CAAA,CAAC,YAAY;QACxD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAA,0CAAuB,EAAC,gBAAgB,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,CAAA;QAC5F,IAAI,IAAA,aAAK,EAAC,MAAM,CAAC,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,GAAG,SAAS,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAA;YACvE,oBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SAC3B;aAAM;YACH,oBAAY,CAAC,SAAS,EAAE,CAAA;YACxB,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAClB;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,oBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAC3B;AACL,CAAC;AAvBD,wBAuBC"}
|
package/dist/src/timer-utils.js
CHANGED
|
@@ -1,60 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
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;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.executeInDelayedLoop = exports.waitUntilTrue = exports.runAsync = exports.timeout = void 0;
|
|
40
4
|
//----------------------------------------
|
|
41
5
|
// TIMEOUT UTILS
|
|
42
6
|
//----------------------------------------
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
function timeout(ms, fn) {
|
|
46
|
-
if (fn === void 0) { fn = function () { }; }
|
|
47
|
-
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
48
|
-
return [2 /*return*/, new Promise(function (res) { return setTimeout(res, ms); }).then(fn)];
|
|
49
|
-
}); });
|
|
50
|
-
}
|
|
7
|
+
const logger_utils_1 = require("./logger-utils");
|
|
8
|
+
const error_utils_1 = require("./error-utils");
|
|
9
|
+
async function timeout(ms, fn = () => { }) { return new Promise(res => setTimeout(res, ms)).then(fn); }
|
|
51
10
|
exports.timeout = timeout;
|
|
52
|
-
function runAsync(callback, milliseconds$) {
|
|
53
|
-
if (milliseconds$ === void 0) { milliseconds$ = 1; }
|
|
54
|
-
return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
55
|
-
return [2 /*return*/, timeout(milliseconds$, callback)];
|
|
56
|
-
}); });
|
|
57
|
-
}
|
|
11
|
+
async function runAsync(callback, milliseconds$ = 1) { return timeout(milliseconds$, callback); }
|
|
58
12
|
exports.runAsync = runAsync;
|
|
59
13
|
/**
|
|
60
14
|
*
|
|
@@ -63,84 +17,46 @@ exports.runAsync = runAsync;
|
|
|
63
17
|
* @param {Boolean|String} errorAfterNSeconds default:true output an error in case of timeout, can be the displayed error message
|
|
64
18
|
* @param {*} cliOutput write a cli progress to show that a process is running
|
|
65
19
|
*/
|
|
66
|
-
function waitUntilTrue(callback, timeoutSec, errorAfterNSeconds, cliOutput) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
case 1:
|
|
82
|
-
if (!(callback() !== true && generalTimeout)) return [3 /*break*/, 3];
|
|
83
|
-
if (cliOutput)
|
|
84
|
-
(0, logger_utils_1.cliProgressBar)(step++);
|
|
85
|
-
return [4 /*yield*/, timeout(300)];
|
|
86
|
-
case 2:
|
|
87
|
-
_a.sent();
|
|
88
|
-
return [3 /*break*/, 1];
|
|
89
|
-
case 3:
|
|
90
|
-
if (cliOutput)
|
|
91
|
-
process.stdout.write("\n");
|
|
92
|
-
if (!generalTimeout && errorAfterNSeconds)
|
|
93
|
-
throw new error_handler_1.dataValidationUtilErrorHandler(errMess, 500);
|
|
94
|
-
return [2 /*return*/];
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
});
|
|
20
|
+
async function waitUntilTrue(callback, timeoutSec = 10, errorAfterNSeconds = true, cliOutput = true) {
|
|
21
|
+
let generalTimeout = true;
|
|
22
|
+
let step = 3;
|
|
23
|
+
const errMess = typeof errorAfterNSeconds === 'string' ? 'Timeout: ' + errorAfterNSeconds : 'Timeout for waitUntilTrue() callback';
|
|
24
|
+
if (timeoutSec)
|
|
25
|
+
setTimeout(() => generalTimeout = false, timeoutSec * 1000);
|
|
26
|
+
while (callback() !== true && generalTimeout) {
|
|
27
|
+
if (cliOutput)
|
|
28
|
+
(0, logger_utils_1.cliProgressBar)(step++);
|
|
29
|
+
await timeout(300);
|
|
30
|
+
}
|
|
31
|
+
if (cliOutput)
|
|
32
|
+
process.stdout.write(`\n`);
|
|
33
|
+
if (!generalTimeout && errorAfterNSeconds)
|
|
34
|
+
throw new error_utils_1.DescriptiveError(errMess, { code: 500 });
|
|
98
35
|
}
|
|
99
36
|
exports.waitUntilTrue = waitUntilTrue;
|
|
100
|
-
|
|
101
|
-
|
|
37
|
+
const delayedLoopParams = [];
|
|
38
|
+
let isExecuting = false;
|
|
102
39
|
/** Allow to perform an action in a delayed loop, useful for example to avoid reaching limits on servers. This function can be securely called multiple times.
|
|
103
40
|
* @param {Function} callback
|
|
104
41
|
* @param {Number} time default: 500ms;
|
|
105
42
|
* @param {Function} errorCallback default: e => C.error(e)
|
|
106
43
|
*/
|
|
107
|
-
function executeInDelayedLoop(callback, time, errorCallback) {
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
_b.label = 2;
|
|
124
|
-
case 2:
|
|
125
|
-
_b.trys.push([2, 5, , 6]);
|
|
126
|
-
return [4 /*yield*/, callback_1()];
|
|
127
|
-
case 3:
|
|
128
|
-
_b.sent();
|
|
129
|
-
return [4 /*yield*/, timeout(time_1)];
|
|
130
|
-
case 4:
|
|
131
|
-
_b.sent();
|
|
132
|
-
return [3 /*break*/, 6];
|
|
133
|
-
case 5:
|
|
134
|
-
err_1 = _b.sent();
|
|
135
|
-
errorCallback_1(err_1);
|
|
136
|
-
return [3 /*break*/, 6];
|
|
137
|
-
case 6: return [3 /*break*/, 1];
|
|
138
|
-
case 7:
|
|
139
|
-
isExecuting = false;
|
|
140
|
-
return [2 /*return*/];
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
});
|
|
44
|
+
async function executeInDelayedLoop(callback, time = 500, errorCallback = e => logger_utils_1.C.error(e)) {
|
|
45
|
+
delayedLoopParams.push([callback, time, errorCallback]);
|
|
46
|
+
if (isExecuting)
|
|
47
|
+
return;
|
|
48
|
+
isExecuting = true;
|
|
49
|
+
while (delayedLoopParams.length) {
|
|
50
|
+
const [callback, time, errorCallback] = delayedLoopParams.shift();
|
|
51
|
+
try {
|
|
52
|
+
await callback();
|
|
53
|
+
await timeout(time);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
errorCallback(err);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
isExecuting = false;
|
|
144
60
|
}
|
|
145
61
|
exports.executeInDelayedLoop = executeInDelayedLoop;
|
|
146
62
|
//# sourceMappingURL=timer-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer-utils.js","sourceRoot":"","sources":["../../src/timer-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timer-utils.js","sourceRoot":"","sources":["../../src/timer-utils.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAC1C,gBAAgB;AAChB,0CAA0C;AAC1C,iDAAkD;AAClD,+CAAgD;AAGzC,KAAK,UAAU,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;AAA7G,0BAA6G;AAEtG,KAAK,UAAU,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC;AAAvG,4BAAuG;AAEvG;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,kBAAkB,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;IACtG,IAAI,cAAc,GAAG,IAAI,CAAA;IACzB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,OAAO,GAAG,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,sCAAsC,CAAA;IAElI,IAAI,UAAU;QAAE,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,CAAA;IAE3E,OAAO,QAAQ,EAAE,KAAK,IAAI,IAAI,cAAc,EAAE;QAC1C,IAAI,SAAS;YAAE,IAAA,6BAAc,EAAC,IAAI,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;KACrB;IACD,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,cAAc,IAAI,kBAAkB;QAAE,MAAM,IAAI,8BAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AACjG,CAAC;AAbD,sCAaC;AAGD,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAC5B,IAAI,WAAW,GAAG,KAAK,CAAA;AAEvB;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IACvD,IAAI,WAAW;QAAE,OAAM;IACvB,WAAW,GAAG,IAAI,CAAA;IAClB,OAAO,iBAAiB,CAAC,MAAM,EAAE;QAC7B,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAA;QACjE,IAAI;YACA,MAAM,QAAQ,EAAE,CAAA;YAChB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SACtB;QAAC,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,GAAG,CAAC,CAAA;SACrB;KACJ;IACD,WAAW,GAAG,KAAK,CAAA;AACvB,CAAC;AAdD,oDAcC"}
|