topkat-utils 1.1.13 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/index.d.ts +36 -0
  3. package/dist/index.js +58 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/array-utils.d.ts +56 -0
  6. package/dist/src/array-utils.js +160 -0
  7. package/dist/src/array-utils.js.map +1 -0
  8. package/dist/src/clean-stack-trace.d.ts +1 -0
  9. package/dist/src/clean-stack-trace.js +46 -0
  10. package/dist/src/clean-stack-trace.js.map +1 -0
  11. package/dist/src/config.d.ts +44 -0
  12. package/dist/src/config.js +66 -0
  13. package/dist/src/config.js.map +1 -0
  14. package/dist/src/date-utils.d.ts +100 -0
  15. package/dist/src/date-utils.js +407 -0
  16. package/dist/src/date-utils.js.map +1 -0
  17. package/dist/src/env-utils.d.ts +8 -0
  18. package/dist/src/env-utils.js +38 -0
  19. package/dist/src/env-utils.js.map +1 -0
  20. package/dist/src/error-utils.d.ts +29 -0
  21. package/dist/src/error-utils.js +202 -0
  22. package/dist/src/error-utils.js.map +1 -0
  23. package/dist/src/is-empty.d.ts +1 -0
  24. package/dist/src/is-empty.js +13 -0
  25. package/dist/src/is-empty.js.map +1 -0
  26. package/dist/src/is-object.d.ts +2 -0
  27. package/dist/src/is-object.js +7 -0
  28. package/dist/src/is-object.js.map +1 -0
  29. package/dist/src/isset.d.ts +1 -0
  30. package/dist/src/isset.js +12 -0
  31. package/dist/src/isset.js.map +1 -0
  32. package/dist/src/logger-utils.d.ts +76 -0
  33. package/dist/src/logger-utils.js +484 -0
  34. package/dist/src/logger-utils.js.map +1 -0
  35. package/dist/src/loop-utils.d.ts +40 -0
  36. package/dist/src/loop-utils.js +182 -0
  37. package/dist/src/loop-utils.js.map +1 -0
  38. package/dist/src/math-utils.d.ts +23 -0
  39. package/dist/src/math-utils.js +59 -0
  40. package/dist/src/math-utils.js.map +1 -0
  41. package/dist/src/mongo-utils.d.ts +11 -0
  42. package/dist/src/mongo-utils.js +63 -0
  43. package/dist/src/mongo-utils.js.map +1 -0
  44. package/dist/src/object-utils.d.ts +96 -0
  45. package/dist/src/object-utils.js +409 -0
  46. package/dist/src/object-utils.js.map +1 -0
  47. package/dist/src/private/config.d.ts +44 -0
  48. package/dist/src/private/config.js +66 -0
  49. package/dist/src/private/config.js.map +1 -0
  50. package/dist/src/private/error-handler.d.ts +10 -0
  51. package/dist/src/private/error-handler.js +46 -0
  52. package/dist/src/private/error-handler.js.map +1 -0
  53. package/dist/src/private/types.d.ts +5 -0
  54. package/dist/src/private/types.js +3 -0
  55. package/dist/src/private/types.js.map +1 -0
  56. package/dist/src/regexp-utils.d.ts +12 -0
  57. package/dist/src/regexp-utils.js +45 -0
  58. package/dist/src/regexp-utils.js.map +1 -0
  59. package/dist/src/remove-circular-json-stringify.d.ts +1 -0
  60. package/dist/src/remove-circular-json-stringify.js +21 -0
  61. package/dist/src/remove-circular-json-stringify.js.map +1 -0
  62. package/dist/src/string-utils.d.ts +77 -0
  63. package/dist/src/string-utils.js +267 -0
  64. package/dist/src/string-utils.js.map +1 -0
  65. package/dist/src/tests-utils.d.ts +21 -0
  66. package/dist/src/tests-utils.js +80 -0
  67. package/dist/src/tests-utils.js.map +1 -0
  68. package/dist/src/timer-utils.d.ts +16 -0
  69. package/dist/src/timer-utils.js +146 -0
  70. package/dist/src/timer-utils.js.map +1 -0
  71. package/dist/src/transaction-utils.d.ts +14 -0
  72. package/dist/src/transaction-utils.js +157 -0
  73. package/dist/src/transaction-utils.js.map +1 -0
  74. package/dist/src/types.d.ts +5 -0
  75. package/dist/src/types.js +3 -0
  76. package/dist/src/types.js.map +1 -0
  77. package/dist/src/validation-utils.d.ts +80 -0
  78. package/dist/src/validation-utils.js +249 -0
  79. package/dist/src/validation-utils.js.map +1 -0
  80. package/dist/src/wtf-utils.d.ts +7 -0
  81. package/dist/src/wtf-utils.js +88 -0
  82. package/dist/src/wtf-utils.js.map +1 -0
  83. package/index.ts +1 -1
  84. package/package.json +1 -1
  85. package/src/clean-stack-trace.ts +40 -0
  86. package/src/config.ts +1 -1
  87. package/src/date-utils.ts +5 -5
  88. package/src/error-utils.ts +86 -44
  89. package/src/logger-utils.ts +2 -2
  90. package/src/loop-utils.ts +1 -1
  91. package/src/object-utils.ts +6 -6
  92. package/src/string-utils.ts +1 -1
  93. package/src/tests-utils.ts +2 -2
  94. package/src/timer-utils.ts +2 -2
  95. package/src/{private/types.ts → types.ts} +0 -0
  96. package/src/validation-utils.ts +8 -8
  97. package/src/private/error-handler.ts +0 -21
@@ -0,0 +1,249 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.validatorReturnErrArray = exports.isType = exports.isValid = exports.validator = exports.checkCtxIntegrity = exports.checkAllObjectValuesAreEmpty = exports.isDateObject = exports.isEmptyOrNotSet = exports.issetOr = void 0;
24
+ //----------------------------------------
25
+ // VALIDATION UTILS
26
+ //----------------------------------------
27
+ var isset_1 = require("./isset");
28
+ var date_utils_1 = require("./date-utils");
29
+ var array_utils_1 = require("./array-utils");
30
+ var config_1 = require("./config");
31
+ var is_empty_1 = require("./is-empty");
32
+ var error_utils_1 = require("./error-utils");
33
+ var remove_circular_json_stringify_1 = require("./remove-circular-json-stringify");
34
+ function issetOr() {
35
+ var elms = [];
36
+ for (var _i = 0; _i < arguments.length; _i++) {
37
+ elms[_i] = arguments[_i];
38
+ }
39
+ return elms.some(function (elm) { return typeof elm !== 'undefined' && elm !== null; });
40
+ }
41
+ exports.issetOr = issetOr;
42
+ function isEmptyOrNotSet() {
43
+ var elms = [];
44
+ for (var _i = 0; _i < arguments.length; _i++) {
45
+ elms[_i] = arguments[_i];
46
+ }
47
+ return elms.some(function (elm) { return !(0, isset_1.isset)(elm) || (0, is_empty_1.isEmpty)(elm); });
48
+ }
49
+ exports.isEmptyOrNotSet = isEmptyOrNotSet;
50
+ function isDateObject(variable) { return variable instanceof Date; }
51
+ exports.isDateObject = isDateObject;
52
+ /** Check all values are set */
53
+ function checkAllObjectValuesAreEmpty(o) { return Object.values(o).every(function (value) { return !(0, isset_1.isset)(value); }); }
54
+ exports.checkAllObjectValuesAreEmpty = checkAllObjectValuesAreEmpty;
55
+ /** Throw an error in case data passed is not a valid ctx */
56
+ function checkCtxIntegrity(ctx) {
57
+ if (!(0, isset_1.isset)(ctx) || !(0, isset_1.isset)(ctx.user))
58
+ throw new error_utils_1.DescriptiveError('ctxNotSet', { code: 500 });
59
+ }
60
+ exports.checkCtxIntegrity = checkCtxIntegrity;
61
+ function validator() {
62
+ var paramsToValidate = [];
63
+ for (var _i = 0; _i < arguments.length; _i++) {
64
+ paramsToValidate[_i] = arguments[_i];
65
+ }
66
+ var errArray = validatorReturnErrArray.apply(void 0, paramsToValidate);
67
+ if (errArray.length)
68
+ throw new (error_utils_1.DescriptiveError.bind.apply(error_utils_1.DescriptiveError, __spreadArray([void 0], errArray, false)))();
69
+ }
70
+ exports.validator = validator;
71
+ /** Same as validator but return a boolean
72
+ * See {@link validator}
73
+ */
74
+ function isValid() {
75
+ var paramsToValidate = [];
76
+ for (var _i = 0; _i < arguments.length; _i++) {
77
+ paramsToValidate[_i] = arguments[_i];
78
+ }
79
+ var errArray = validatorReturnErrArray.apply(void 0, paramsToValidate);
80
+ return errArray.length ? false : true;
81
+ }
82
+ exports.isValid = isValid;
83
+ /** Default types + custom types
84
+ * 'objectId','dateInt6','dateInt','dateInt8','dateInt12','time','humanReadableTimestamp','date','array','object','buffer','string','function','boolean','number','bigint',
85
+ */
86
+ function isType(value, type) { return isValid({ name: 'Is type check', value: value, type: type }); }
87
+ exports.isType = isType;
88
+ function validatorReturnErrArray() {
89
+ var paramsToValidate = [];
90
+ for (var _i = 0; _i < arguments.length; _i++) {
91
+ paramsToValidate[_i] = arguments[_i];
92
+ }
93
+ var paramsFormatted = [];
94
+ // support for multiple names with multiple values for one rule. Eg: {name: [{startDate:'20180101'}, {endDate:'20180101'}], type: 'dateInt8'}
95
+ paramsToValidate.forEach(function (param) {
96
+ if (typeof param !== 'object' || Array.isArray(param))
97
+ throw new error_utils_1.DescriptiveError("wrongTypeForDataValidatorArgument", { code: 500, origin: 'Generic validator', expectedType: 'object', actualType: Array.isArray(param) ? 'array' : typeof param });
98
+ // parse => name: {myVar1: 'blah, myvar2: myvar2}
99
+ if (typeof param.name === 'object' && !Array.isArray(param.name))
100
+ Object.keys(param.name).forEach(function (name) { return paramsFormatted.push(Object.assign({}, param, { name: name, value: param.name[name] })); });
101
+ else
102
+ paramsFormatted.push(param);
103
+ });
104
+ var _loop_1 = function (paramObj) {
105
+ var name_1 = paramObj.name;
106
+ var value = paramObj.value;
107
+ var optional = paramObj.optional || false;
108
+ var emptyAllowed = optional || paramObj.emptyAllowed || false;
109
+ if (paramObj.isset === false)
110
+ paramObj.mustNotBeSet = true; // ALIAS
111
+ var errMess = function (msg, extraInfos, errCode) {
112
+ if (extraInfos === void 0) { extraInfos = {}; }
113
+ if (errCode === void 0) { errCode = 422; }
114
+ return [msg, __assign({ code: errCode, origin: 'Generic validator', varName: name_1, gotValue: (0, isset_1.isset)(value) && (0, isset_1.isset)(value.data) && (0, isset_1.isset)(value.data.data) ? __assign(__assign({}, value), { data: 'Buffer' }) : value }, extraInfos)];
115
+ };
116
+ // accept syntax { 'myVar.var2': myVar.var2, ... }
117
+ if (!(0, isset_1.isset)(name_1)) {
118
+ name_1 = Object.keys(paramObj).find(function (param) { return !['in', 'eq', 'lte', 'gte', 'name', 'value', 'type', 'regexp', 'minLength', 'maxLength', 'optional', 'emptyAllowed', 'mustNotBeSet', 'includes', 'length'].includes(param); });
119
+ if ((0, isset_1.isset)(name_1))
120
+ value = paramObj[name_1];
121
+ }
122
+ // if nameString ends by $ sign it is optional
123
+ if ((0, isset_1.isset)(name_1) && /.*\$$/.test(name_1)) {
124
+ name_1 = name_1.substr(0, name_1.length - 1);
125
+ optional = true;
126
+ }
127
+ // DEFINED AND NOT EMPTY
128
+ if (!(0, isset_1.isset)(value) && optional)
129
+ return "continue";
130
+ if ((0, isset_1.isset)(value) && paramObj.mustNotBeSet)
131
+ return { value: errMess('variableMustNotBeSet') };
132
+ if (paramObj.mustNotBeSet)
133
+ return "continue"; // exit
134
+ if (!(0, isset_1.isset)(value))
135
+ return { value: errMess('requiredVariableEmptyOrNotSet') };
136
+ if (!emptyAllowed && value === '')
137
+ return { value: errMess('requiredVariableEmpty') };
138
+ var isArray = paramObj.isArray;
139
+ if (isArray && !Array.isArray(value))
140
+ return { value: errMess('wrongTypeForVar', { expectedType: 'array', gotType: typeof value }) };
141
+ // TYPE
142
+ if ((0, isset_1.isset)(paramObj.type)) {
143
+ var types = (0, array_utils_1.asArray)(paramObj.type); // support for multiple type
144
+ var areSomeTypeValid = types.some(function (type) {
145
+ if (type.endsWith('[]')) {
146
+ if (!Array.isArray(value))
147
+ errMess('wrongTypeForVar', { expectedType: 'array', gotType: typeof value });
148
+ type = type.replace('[]', '');
149
+ }
150
+ var allTypes = [
151
+ 'objectId',
152
+ 'dateInt6',
153
+ 'dateInt',
154
+ 'dateInt8',
155
+ 'dateInt12',
156
+ 'time',
157
+ 'humanReadableTimestamp',
158
+ 'date',
159
+ 'dateObject',
160
+ 'array',
161
+ 'object',
162
+ 'buffer',
163
+ 'string',
164
+ 'function',
165
+ 'boolean',
166
+ 'number',
167
+ 'bigint',
168
+ 'year',
169
+ 'any',
170
+ 'email',
171
+ //...Object.keys(configFn().customTypes)
172
+ ];
173
+ if (!allTypes.includes(type))
174
+ throw new error_utils_1.DescriptiveError('typeDoNotExist', { code: 500, type: type });
175
+ var basicTypeCheck = {
176
+ objectId: function (val) { return /^[0-9a-fA-F-]{24,}$/.test(val); },
177
+ dateInt6: function (val) { return (0, date_utils_1.isDateIntOrStringValid)(parseInt(val + '01'), true, 8); },
178
+ dateInt: function (val) { return (0, date_utils_1.isDateIntOrStringValid)(val, true, 8); },
179
+ dateInt8: function (val) { return (0, date_utils_1.isDateIntOrStringValid)(val, true, 8); },
180
+ dateInt12: function (val) { return (0, date_utils_1.isDateIntOrStringValid)(val, true, 12); },
181
+ time: function (val) { return /^\d\d:\d\d$/.test(val) && (0, date_utils_1.isTimeStringValid)(val); },
182
+ humanReadableTimestamp: function (val) { return (val + '').length === 17; },
183
+ date: function (val) { return (0, date_utils_1.isDateIsoOrObjectValid)(val, true); },
184
+ dateObject: function (val) { return (0, date_utils_1.isDateIsoOrObjectValid)(val, true); },
185
+ array: function (val) { return Array.isArray(val); },
186
+ object: function (val) { return !Array.isArray(val) && val !== null && typeof val === type; },
187
+ buffer: function (val) { return Buffer.isBuffer(val); },
188
+ year: function (val) { return /^\d\d\d\d$/.test(val); },
189
+ email: function (val) { return /^[^\s@]+@([^\s@.,]+\.)+[^\s@.,]+$/.test(val); },
190
+ any: function () { return true; },
191
+ };
192
+ return (0, isset_1.isset)(basicTypeCheck[type]) && basicTypeCheck[type](value) ||
193
+ typeof value === type && type !== 'object' || // for string, number, boolean...
194
+ (0, isset_1.isset)((0, config_1.configFn)().customTypes[type]) && (0, config_1.configFn)().customTypes[type].test(value);
195
+ });
196
+ if (!areSomeTypeValid)
197
+ return { value: errMess("wrongTypeForVar", { expectedTypes: types.join(', '), gotType: Object.prototype.toString.call(value), gotValue: (0, remove_circular_json_stringify_1.removeCircularJSONstringify)(value).substring(0, 999) }) };
198
+ }
199
+ // GREATER / LESS
200
+ if ((0, isset_1.isset)(paramObj.gte) && value < paramObj.gte)
201
+ return { value: errMess("valueShouldBeSuperiorOrEqualForVar", { shouldBeSupOrEqTo: paramObj.gte }) };
202
+ if ((0, isset_1.isset)(paramObj.lte) && value > paramObj.lte)
203
+ return { value: errMess("valueShouldBeInferiorOrEqualForVar", { shouldBeInfOrEqTo: paramObj.lte }) };
204
+ if ((0, isset_1.isset)(paramObj.gt) && value <= paramObj.gt)
205
+ return { value: errMess("valueShouldBeSuperiorForVar", { shouldBeSupOrEqTo: paramObj.gt }) };
206
+ if ((0, isset_1.isset)(paramObj.lt) && value >= paramObj.lt)
207
+ return { value: errMess("valueShouldBeInferiorForVar", { shouldBeInfOrEqTo: paramObj.lt }) };
208
+ // IN VALUES
209
+ if ((0, isset_1.isset)(paramObj.in)) {
210
+ var equals = Array.isArray(paramObj.in) ? paramObj.in : [paramObj.in];
211
+ if (!equals.some(function (equalVal) { return equalVal === value; }))
212
+ return { value: errMess("wrongValueForVar", { supportedValues: JSON.stringify(equals) }) };
213
+ }
214
+ // EQUAL (exact copy of .in)
215
+ if (paramObj.hasOwnProperty('eq')) {
216
+ var equals = Array.isArray(paramObj.eq) ? paramObj.eq : [paramObj.eq];
217
+ if (!equals.some(function (equalVal) { return equalVal === value; }))
218
+ return { value: errMess("wrongValueForVar", { supportedValues: equals.join(', '), }) };
219
+ }
220
+ // NOT EQUAL
221
+ if (paramObj.hasOwnProperty('neq')) {
222
+ var notEquals = Array.isArray(paramObj.neq) ? paramObj.neq : [paramObj.neq];
223
+ if (notEquals.some(function (equalVal) { return equalVal === value; }))
224
+ return { value: errMess("wrongValueForVar", { NOTsupportedValues: notEquals.join(', ') }) };
225
+ }
226
+ // INCLUDES
227
+ if ((0, isset_1.isset)(paramObj.includes) && !value.includes(paramObj.includes))
228
+ return { value: errMess("wrongValueForVar", { shouldIncludes: paramObj.includes }) };
229
+ // REGEXP
230
+ if ((0, isset_1.isset)(paramObj.regexp) && !paramObj.regexp.test(value))
231
+ return { value: errMess("wrongValueForVar", { shouldMatchRegexp: paramObj.regexp.toString() }) };
232
+ // MIN / MAX LENGTH works for number length. Eg: 20180101.length == 8
233
+ if ((0, isset_1.isset)(paramObj.minLength) && paramObj.minLength > (typeof value == 'number' ? value + '' : value).length)
234
+ return { value: errMess("wrongLengthForVar", { minLength: paramObj.minLength }) };
235
+ if ((0, isset_1.isset)(paramObj.maxLength) && paramObj.maxLength < (typeof value == 'number' ? value + '' : value).length)
236
+ return { value: errMess("wrongLengthForVar", { maxLength: paramObj.maxLength }) };
237
+ if ((0, isset_1.isset)(paramObj.length) && paramObj.length !== (typeof value == 'number' ? value + '' : value).length)
238
+ return { value: errMess("wrongLengthForVar", { length: paramObj.length }) };
239
+ };
240
+ for (var _a = 0, paramsFormatted_1 = paramsFormatted; _a < paramsFormatted_1.length; _a++) {
241
+ var paramObj = paramsFormatted_1[_a];
242
+ var state_1 = _loop_1(paramObj);
243
+ if (typeof state_1 === "object")
244
+ return state_1.value;
245
+ }
246
+ return [];
247
+ }
248
+ exports.validatorReturnErrArray = validatorReturnErrArray;
249
+ //# sourceMappingURL=validation-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../src/validation-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function chineseProverb(): string;
2
+ export declare function randomEmoji(msg: any, length?: number): string;
3
+ /** STRING COMPRESSOR
4
+ * peut facilement être utilisé par uncomp directement (stock les metadonnées sur la comp)
5
+ */
6
+ export declare function compAuto(str: any): any;
7
+ export declare function unComp(str: any): any;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ //----------------------------------------
3
+ // WTF UTILS
4
+ //----------------------------------------
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unComp = exports.compAuto = exports.randomEmoji = exports.chineseProverb = void 0;
7
+ var regexp_utils_1 = require("./regexp-utils");
8
+ var logger_utils_1 = require("./logger-utils");
9
+ var isset_1 = require("./isset");
10
+ function chineseProverb() {
11
+ // no spoil man
12
+ var str = 'Aécrçsçséçséènéopporùunçùyérçdçngéùhàédèngàrouséwçnd$Iù\'sébàùùàréùoébàéwçùhouùéèébookéùhènéùoébàlçàvàéèébookéànùçràly$Aélçùùlàéçmpèùçàncàéwçlléspoçlégràèùéplèns$Tèlkédoàsénoùécookérçcà$Aénààdlàéçsénoùéshèrpéèùéboùhéànds$Thàébàsùéùçmàéùoéplènùéèéùrààéwèsé20éyàèrséègo.éThàésàcondébàsùéùçmàéçséùodèy$Inéèégroupéofémènyéwords,éùhàràéçséboundéùoébàéèémçsùèkàésomàwhàràéçnéùhàm$Pèùçàncàéçséèébçùùàréplènù,ébuùéçùséfruçùéçséswààù$Twoégoodéùèlkàrséèràénoùéworùhéonàégoodélçsùànàr$Aéhundràdéno\'séèràélàsséègonçzçngéùhènéonàéçnsçncàràéyàs$Hàéwhoéchàèùséùhàéàèrùhéwçllébàéchàèùàdébyéùhàéàèrùh';
13
+ return ['é ', 'àe', 'èa', 'ùt', 'çi'].reduce(function (s, e) { return s.replace(new RegExp(e[0], 'g'), e[1]); }, str).split('$')[Math.floor(Math.random() * 11)];
14
+ }
15
+ exports.chineseProverb = chineseProverb;
16
+ function randomEmoji(msg, length) {
17
+ if (length === void 0) { length = 20; }
18
+ var o = "\u0298\u203F\u0298\u00A7\u0CA0_\u0CA0\u00A7(\uFF61\u25D5\u203F\u25D5\uFF61)\u00A7\uFF08\u3000\uFF9F\u0414\uFF9F\uFF09\u00A7(\u256C \u0CA0\u76CA\u0CA0)\u00A7\u0CA0\u203F\u0CA0\u00A7( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\u00A7\u0CA5_\u0CA5\u00A7\u0CA5\uFE4F\u0CA5\u00A7\u2299\uFE4F\u2299\u00A7\u00B0\u203F\u203F\u00B0\u00A7(\u00B4\uFF65_\uFF65`)\u00A7\u0C20_\u0C20\u00A7(\u2299_\u25CE)\u00A7\u30DF\u25CF\uFE4F\u2609\u30DF\u00A7(\u0CA5\u2323\u0CA5)\u00A7(\u0E51\u2022\u0301 \u2083 \u2022\u0300\u0E51)\u00A7\u25D4_\u25D4\u00A7\u2665\u203F\u2665\u00A7( \u02D8 \u00B3\u02D8)\u2665\u00A7( \u02C7\u0DF4\u02C7 )\u00A7(\u0482\u25E1_\u25E1)\u00A7\u2940.\u2940\u00A7(\u2A7E\uFE4F\u2A7D)\u00A7( \u0C20 \u035F\u0296 \u0C20)\u00A7( \u0361\u0CA0 \u0296\u032F \u0361\u0CA0)\u00A7( \u0CA0 \u0296\u032F \u0CA0)\u00A7\u2668_\u2668\u00A7(._.)\u00A7\uB208_\uB208\u00A7(\u25E0\uFE4F\u25E0)\u00A7\u25D6\u1D54\u1D25\u1D54\u25D7 \u266A \u266B\u00A7{\u2022\u0303_\u2022\u0303}\u00A7(\u1D54\u1D25\u1D54)\u00A7(\u053E\u2038 \u053E)\u00A7\u00AF\\_(\u30C4)_/\u00AF\u00A7\u00AF\\(\u00B0_o)/\u00AF\u00A7\u00AF\\_(\u2299\uFE3F\u2299)_/\u00AF\u00A7\u0505(\u2256\u203F\u2256\u0505)\u00A7\u10DA(\uFF40\u30FC\u00B4\u10DA)\u00A7\u261C(\u2312\u25BD\u2312)\u261E\u00A7\u30FD(\u00B4\u25BD`)/\u00A7\u30FD(\u00B4\u30FC\uFF40)\u30CE\u00A7\u1559(\u21C0\u2038\u21BC\u2036)\u1557\u00A7\u1566(\u00F2_\u00F3\u02C7)\u1564\u00A7\u2282(\u25C9\u203F\u25C9)\u3064\u00A7q(\u2742\u203F\u2742)p\u00A7\u00BF\u24E7_\u24E7\uFB8C\u00A7(\u2299.\u2609)\u00A7\u0449\uFF08\uFF9F\u0414\uFF9F\u0449\uFF09\u00A7\u0669(\u0E4F_\u0E4F)\u06F6\u00A7t(-_-t)\u00A7(\u3065\uFFE3 \u00B3\uFFE3)\u3065\u00A7(\u3065\uFF61\u25D5\u203F\u203F\u25D5\uFF61)\u3065\u00A7\u201C\u30FD(\u00B4\u25BD\uFF40)\u30CE\u201D\u00A7\u250C(\u3186\u3268\u3186)\u0283\u00A7(\u2283\uFF61\u2022\u0301\u203F\u2022\u0300\uFF61)\u2283\u00A7(\u3063\u02D8\u06A1\u02D8\u03C2)\u00A7(\u0E07\u30C4)\u0E27\u00A7\u30FE(-_- )\u309E\u00A7\u266A\u266A \u30FD(\u02C7\u2200\u02C7 )\u309E\u00A7\u30FE(\u00B4\u3007`)\uFF89\u266A\u266A\u266A\u00A7(\u3063\u2580\u00AF\u2580)\u3064\u00A7(\u00B4\u0436\uFF40\u03C2)\u00A7(\u00B0 \u035C\u0296\u0361\u00B0)\u256D\u2229\u256E\u00A7\u062D(\u2022\u0300\u0436\u2022\u0301)\u0E07 \u2020\u00A7~(^-^)~\u00A7\\(\u1D54\u1D55\u1D54)/\u00A7\u10DA(\u2022\u0301\u2022\u0301\u10DA)\u00A7(\u0E07\u2019\u0300-\u2018\u0301)\u0E07\u00A7(\u2022\u0300\u1D17\u2022\u0301)\u0648 \u0311\u0311\u00A7[\u00AC\u00BA-\u00B0]\u00AC\u00A7(\u261E\uFF9F\u30EE\uFF9F)\u261E\u00A7\u00BB\u2310(\u0CA0\u06FE\u0CA0)\u00AC \u00BB\u2019\u00A7(\u3063\u2022\u0301\uFF61\u2022\u0301)\u266A\u266C\u00A7\u01AA(\u0693\u05F2)\u200E\u01AA\u200B\u200B\u00A7\u0295\u2022\u1D25\u2022\u0294\u00A7\u0295\u1D54\u1D25\u1D54\u0294\u00A7\u0295 \u2022`\u1D25\u2022\u00B4\u0294\u00A7\u0295 \u2022\u0301\u0608\u2022\u0300 \u208E\u00A7(`\uFF65\u03C9\uFF65\u00B4)\u00A7\u1D52\u1D25\u1D52\u00A7V\u2022\u1D25\u2022V\u00A7\u0E05^\u2022\uFECC\u2022^\u0E05\u00A7( \u0C20\u0D60\u0C20 )\uFF89\u00A7\u0295\u0298\u0305\u035C\u0298\u0305\u0294\u00A7\u062D\u02DA\u0BF0\u02DA\u3065\u00A7(\u256F\u00B0\u25A1\u00B0\uFF09\u256F\uFE35 \u253B\u2501\u253B\u00A7\u252C\u2500\u252C\uFEFF \u30CE( \u309C-\u309C\u30CE)\u00A7\u252C\u2500\u252C\u20F0\u0361\u2007(\u1D54\u1D55\u1D54\u035C\u2007)\u00A7\u253B\u2501\u253B \uFE35\u30FD(`\u0414\u00B4)\uFF89\uFE35\uFEFF \u253B\u2501\u253B\u00A7(\u30CE\u0CA0 \u2229\u0CA0)\u30CE\u5F61( \\o\u00B0o)\\\u00A7\uFF08 ^_^\uFF09o\u81EA\u81EAo\uFF08^_^ \uFF09\u00A7\u0F3C\u2235\u0F3D\u00A7\u0F3C\u2368\u0F3D\u00A7\u0F3C\u2362\u0F3D\u00A7\u0F3C\u2364\u0F3D\u00A7\u30FD\u0F3C \u0CA0\u76CA\u0CA0 \u0F3D\uFF89\u00A7\u4E41( \u25D4 \u0C6A\u25D4)\u300C\u00A7(\u2229\uFF40-\u00B4)\u2283\u2501\u2606\uFF9F.*\uFF65\uFF61\uFF9F".split('§')[Math.floor(Math.random() * 100)];
19
+ return o.padEnd(length, ' ') + (msg ? '< ' + msg : '');
20
+ }
21
+ exports.randomEmoji = randomEmoji;
22
+ /** STRING COMPRESSOR
23
+ * peut facilement être utilisé par uncomp directement (stock les metadonnées sur la comp)
24
+ */
25
+ function compAuto(str) {
26
+ var oldStrLength = str.length;
27
+ var utf8Chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:;<=>%?@"#$&\'()*+,-./[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f€\u0081‚ƒ„…†‡ˆ‰Š‹ŒŽ\u008f‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŹźŻżſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƓƔƕƖƗƘƙƚƛƜƝƞƟ'.split('');
28
+ var unusedChars = utf8Chars.filter(function (c) { return !str.includes(c); });
29
+ var charMap = [];
30
+ var mostFreqStr = function (str2) {
31
+ var o = {};
32
+ // recherche la meilleure optim selon le nb de char
33
+ for (var strLength = 2; strLength < 16; strLength++) {
34
+ for (var i = 0; (0, isset_1.isset)(str2[i + strLength - 1]); i++) {
35
+ var s = '';
36
+ while (s.length < strLength)
37
+ s += str2[i + s.length];
38
+ o[s] = !(0, isset_1.isset)(o[s]) ? -2 : o[s] + strLength - 1; // nb of char economised (the first == -2 because this is space for mapping)
39
+ }
40
+ }
41
+ return Object.keys(o) // {'aa':12, 'ab':8}
42
+ .filter(function (subStr) { return o[subStr] > subStr.length + 2; }) // will not be comp if charEconomised != substr.length
43
+ .sort(function (a, b) { return o[b] - o[a]; })[0];
44
+ };
45
+ // on trouve les [deepness] double char les plus représentés ['aa', 'bb'...]
46
+ // on les remplace le nb de [recursion], ce qui permet de remplacer des remplacements
47
+ var strLengthBefore;
48
+ while (strLengthBefore !== str.length && unusedChars.length > 0) {
49
+ strLengthBefore = str.length;
50
+ var toReplace = mostFreqStr(str);
51
+ if ((0, isset_1.isset)(toReplace)) {
52
+ var char = unusedChars.shift();
53
+ charMap.push({ char: char, replacement: toReplace }); // { ù: 'aa' }
54
+ str = str.replace(new RegExp((0, regexp_utils_1.escapeRegexp)(toReplace), 'g'), char);
55
+ }
56
+ }
57
+ for (var _i = 0, charMap_1 = charMap; _i < charMap_1.length; _i++) {
58
+ var _a = charMap_1[_i], char = _a.char, replacement = _a.replacement;
59
+ // rrrr => rƠ4
60
+ var reg = replacement.length > 3 && replacement.split('').every(function (char2, i, a) { return char2 == a[0]; }) ? "".concat(replacement[0], "\u01A0").concat(replacement.length) : replacement;
61
+ str = "".concat(char).concat(reg, "\u00A7") + str;
62
+ }
63
+ logger_utils_1.C.info("COMP percentage: ".concat(Math.round((str.length / oldStrLength) * 100), "% of its original size"));
64
+ return str;
65
+ }
66
+ exports.compAuto = compAuto;
67
+ function unComp(str) {
68
+ var charMap = [];
69
+ var map = str.split('§');
70
+ str = map.pop();
71
+ map.forEach(function (e) {
72
+ var char = e[0];
73
+ var replacement = e.substring(1, 999);
74
+ if (replacement.includes('Ơ')) {
75
+ var _a = replacement.split('Ơ'), char_1 = _a[0], nb = _a[1];
76
+ replacement = char_1.repeat(nb);
77
+ }
78
+ charMap.push({ char: char, replacement: replacement });
79
+ });
80
+ charMap.forEach(function (_a) {
81
+ var char = _a.char, replacement = _a.replacement;
82
+ return str = str.replace(new RegExp((0, regexp_utils_1.escapeRegexp)(char), 'g'), replacement);
83
+ } // regexp excape
84
+ );
85
+ return str;
86
+ }
87
+ exports.unComp = unComp;
88
+ //# sourceMappingURL=wtf-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wtf-utils.js","sourceRoot":"","sources":["../../src/wtf-utils.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,YAAY;AACZ,0CAA0C;;;AAE1C,+CAA6C;AAC7C,+CAAkC;AAClC,iCAA+B;AAE/B,SAAgB,cAAc;IAC1B,eAAe;IACf,IAAM,GAAG,GAAG,0kBAA0kB,CAAA;IACtlB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAtC,CAAsC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAClJ,CAAC;AAJD,wCAIC;AAED,SAAgB,WAAW,CAAC,GAAG,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IACxC,IAAM,CAAC,GAAG,6mHAAu4I,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IAC77I,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC1D,CAAC;AAHD,kCAGC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAG;IAExB,IAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAA;IAC/B,IAAM,SAAS,GAAG,mYAAmY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAG/Z,IAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,CAAA;IAC3D,IAAM,OAAO,GAAG,EAAE,CAAA;IAElB,IAAM,WAAW,GAAG,UAAA,IAAI;QACpB,IAAM,CAAC,GAAG,EAAE,CAAA;QACZ,mDAAmD;QACnD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS;oBAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;gBACpD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA,CAAC,4EAA4E;aAC/H;SACJ;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB;aACrC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC,CAAC,sDAAsD;aACtG,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,4EAA4E;IAC5E,qFAAqF;IACrF,IAAI,eAAe,CAAA;IACnB,OAAO,eAAe,KAAK,GAAG,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7D,eAAe,GAAG,GAAG,CAAC,MAAM,CAAA;QAC5B,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,IAAA,aAAK,EAAC,SAAS,CAAC,EAAE;YAClB,IAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;YAChC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,MAAA,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA,CAAC,cAAc;YAC7D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAA,2BAAY,EAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;SACpE;KACJ;IAED,KAAoC,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;QAAlC,IAAA,kBAAqB,EAAnB,IAAI,UAAA,EAAE,WAAW,iBAAA;QAC1B,cAAc;QACd,IAAM,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAK,OAAA,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAC,CAAC,CAAC,UAAG,WAAW,CAAC,CAAC,CAAC,mBAAI,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,WAAW,CAAA;QAC3J,GAAG,GAAG,UAAG,IAAI,SAAG,GAAG,WAAG,GAAG,GAAG,CAAA;KAC/B;IACD,gBAAC,CAAC,IAAI,CAAC,2BAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,2BAAwB,CAAC,CAAA;IACjG,OAAO,GAAG,CAAA;AACd,CAAC;AA5CD,4BA4CC;AAED,SAAgB,MAAM,CAAC,GAAG;IACtB,IAAM,OAAO,GAAG,EAAE,CAAA;IAClB,IAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAA;IACf,GAAG,CAAC,OAAO,CAAC,UAAA,CAAC;QACT,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACf,IAAI,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,IAAA,KAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlC,MAAI,QAAA,EAAE,EAAE,QAA0B,CAAA;YACzC,WAAW,GAAG,MAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;SAChC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,OAAO,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA,EAAE,WAAW,iBAAA;QAChC,OAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAA,2BAAY,EAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;IAAnE,CAAmE,CAAC,gBAAgB;KACvF,CAAA;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AAnBD,wBAmBC"}
package/index.ts CHANGED
@@ -17,7 +17,7 @@ export * from './src/is-empty'
17
17
  export * from './src/remove-circular-json-stringify'
18
18
  export * from './src/is-object'
19
19
  export * from './src/regexp-utils'
20
- export * from './src/private/error-handler'
20
+ export * from './src/clean-stack-trace'
21
21
  export { registerConfig } from './src/config'
22
22
 
23
23
  import { moyenne } from './src/math-utils'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.1.13",
3
+ "version": "1.2.1",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "private": false,
@@ -0,0 +1,40 @@
1
+
2
+ export function cleanStackTrace(stack) {
3
+ if (typeof stack !== 'string') return ''
4
+ stack.replace(/home\/[^/]+\/[^/]+\//g, '')
5
+ const lines = stack.split('\n')
6
+ const removeIfContain = [
7
+ 'logger-utils.js',
8
+ 'TCP.onread',
9
+ 'readableAddChunk',
10
+ 'Socket.EventEmitter.emit (domain.js',
11
+ 'Socket.emit (events.js',
12
+ 'Connection.EventEmitter.emit (domain.js',
13
+ 'Connection.emit (events.js',
14
+ 'Socket.Readable.push (_stream_readable',
15
+ 'model.Query',
16
+ 'Object.promiseOrCallback',
17
+ 'Connection.<anonymous>',
18
+ 'process.topLevelDomainCallback',
19
+ // internal
20
+ 'internal/process',
21
+ 'internal/timers',
22
+ 'internal/modules',
23
+ 'internal/main',
24
+ 'DefaultError.throw',
25
+ 'Object.throw',
26
+ 'mongoose/lib/utils',
27
+ 'at Array.forEach (<anonymous>)',
28
+ ]
29
+ const linesClean = lines
30
+ .map((line, i) => {
31
+ if (i === 0) return ''
32
+ else {
33
+ const [, start, fileName, end] = line.match(/(^.+\/)([^/]+:\d+:\d+)(.{0,3})/) || []
34
+ return fileName ? `\x1b[2m${start}\x1b[0m${fileName}\x1b[2m${end}\x1b[0m` : `\x1b[2m${line}\x1b[0m`
35
+ }
36
+ })
37
+ .filter(l => l && !removeIfContain.some(text => l.includes(text)))
38
+ .join('\n')
39
+ return linesClean
40
+ }
package/src/config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Color } from './private/types'
1
+ import { Color } from './types'
2
2
  import { isset } from './isset'
3
3
 
4
4
  export type TopkatUtilConfig = {
package/src/date-utils.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  //----------------------------------------
4
4
  import { isset } from "./isset"
5
5
  import { pad } from "./math-utils"
6
- import { dataValidationUtilErrorHandler } from "./private/error-handler"
6
+ import { DescriptiveError } from "./error-utils"
7
7
  import { err422IfNotSet } from "./error-utils"
8
8
 
9
9
  const int = parseInt
@@ -154,7 +154,7 @@ export function isTimeStringValid(timeStr, outputAnError$ = false) {
154
154
  let m = int(timeArr[1])
155
155
  let test1 = h >= 0 && h < 24
156
156
  let test2 = m >= 0 && m < 60
157
- if (outputAnError$ && !(test1 && test2)) throw new dataValidationUtilErrorHandler('timeStringOutOfRange', 422, { origin: 'Time validator' })
157
+ if (outputAnError$ && !(test1 && test2)) throw new DescriptiveError('timeStringOutOfRange', { code: 422, origin: 'Time validator' })
158
158
  else return test1 && test2
159
159
  }
160
160
 
@@ -351,7 +351,7 @@ export function isDateIntOrStringValid(dateStringOrInt, outputAnError = false, l
351
351
  if (!isset(dateStringOrInt)) return false
352
352
  const dateStr = dateStringOrInt.toString()
353
353
 
354
- if (length && dateStr.length !== length) throw new dataValidationUtilErrorHandler(`wrongLengthForDateInt`, 422, { origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: `${dateStringOrInt} length !== ${length}` })
354
+ if (length && dateStr.length !== length) throw new DescriptiveError(`wrongLengthForDateInt`, { code: 422, origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: `${dateStringOrInt} length !== ${length}` })
355
355
 
356
356
  if ((typeof dateStringOrInt === 'object' && isNaN(int(dateStr))) || ![4, 6, 8, 10, 12, 17].includes(dateStr.length)) return false
357
357
 
@@ -364,7 +364,7 @@ export function isDateIntOrStringValid(dateStringOrInt, outputAnError = false, l
364
364
  const test4 = !isset(h) || (int(h) <= 23 && int(h) >= 0) // H
365
365
  const test5 = !isset(m) || (int(m) <= 59 && int(m) >= 0) // M
366
366
 
367
- if (outputAnError && !(test1 && test2 && test3 && test4 && test5)) throw new dataValidationUtilErrorHandler(`dateStringOrIntFormatInvalid`, 422, { origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: 'Needs YYYYMMDD[HHMM] between 100001010000 and 999912312359', dateArr, isYearValid: test1, isMonthValid: test2, isDayValid: test3, isHourValid: test4, isMinutesValid: test5 })
367
+ if (outputAnError && !(test1 && test2 && test3 && test4 && test5)) throw new DescriptiveError(`dateStringOrIntFormatInvalid`, { code: 422, origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: 'Needs YYYYMMDD[HHMM] between 100001010000 and 999912312359', dateArr, isYearValid: test1, isMonthValid: test2, isDayValid: test3, isHourValid: test4, isMinutesValid: test5 })
368
368
  return true
369
369
  }
370
370
 
@@ -372,6 +372,6 @@ export function isDateIsoOrObjectValid(dateIsoOrObj, outputAnError = false) {
372
372
  let dateObj: Date | number | string = dateIsoOrObj
373
373
  if (typeof dateIsoOrObj === 'string') dateObj = new Date(dateIsoOrObj)
374
374
  let valid = dateObj instanceof Date
375
- if (outputAnError && !valid) throw new dataValidationUtilErrorHandler('dateIsoStringOrObjectIsNotValid', 422, { origin: 'Date Object validator', isoDate: dateIsoOrObj })
375
+ if (outputAnError && !valid) throw new DescriptiveError('dateIsoStringOrObjectIsNotValid', { code: 422, origin: 'Date Object validator', isoDate: dateIsoOrObj })
376
376
  return valid
377
377
  }