topkat-utils 1.1.13 → 1.1.14

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 (76) hide show
  1. package/dist/index.d.ts +36 -0
  2. package/dist/index.js +58 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/src/array-utils.d.ts +56 -0
  5. package/dist/src/array-utils.js +160 -0
  6. package/dist/src/array-utils.js.map +1 -0
  7. package/dist/src/config.d.ts +44 -0
  8. package/dist/src/config.js +66 -0
  9. package/dist/src/config.js.map +1 -0
  10. package/dist/src/date-utils.d.ts +100 -0
  11. package/dist/src/date-utils.js +407 -0
  12. package/dist/src/date-utils.js.map +1 -0
  13. package/dist/src/env-utils.d.ts +8 -0
  14. package/dist/src/env-utils.js +38 -0
  15. package/dist/src/env-utils.js.map +1 -0
  16. package/dist/src/error-utils.d.ts +8 -0
  17. package/dist/src/error-utils.js +135 -0
  18. package/dist/src/error-utils.js.map +1 -0
  19. package/dist/src/is-empty.d.ts +1 -0
  20. package/dist/src/is-empty.js +13 -0
  21. package/dist/src/is-empty.js.map +1 -0
  22. package/dist/src/is-object.d.ts +2 -0
  23. package/dist/src/is-object.js +7 -0
  24. package/dist/src/is-object.js.map +1 -0
  25. package/dist/src/isset.d.ts +1 -0
  26. package/dist/src/isset.js +12 -0
  27. package/dist/src/isset.js.map +1 -0
  28. package/dist/src/logger-utils.d.ts +76 -0
  29. package/dist/src/logger-utils.js +484 -0
  30. package/dist/src/logger-utils.js.map +1 -0
  31. package/dist/src/loop-utils.d.ts +40 -0
  32. package/dist/src/loop-utils.js +182 -0
  33. package/dist/src/loop-utils.js.map +1 -0
  34. package/dist/src/math-utils.d.ts +23 -0
  35. package/dist/src/math-utils.js +59 -0
  36. package/dist/src/math-utils.js.map +1 -0
  37. package/dist/src/mongo-utils.d.ts +11 -0
  38. package/dist/src/mongo-utils.js +63 -0
  39. package/dist/src/mongo-utils.js.map +1 -0
  40. package/dist/src/object-utils.d.ts +96 -0
  41. package/dist/src/object-utils.js +409 -0
  42. package/dist/src/object-utils.js.map +1 -0
  43. package/dist/src/private/config.d.ts +44 -0
  44. package/dist/src/private/config.js +66 -0
  45. package/dist/src/private/config.js.map +1 -0
  46. package/dist/src/private/error-handler.d.ts +10 -0
  47. package/dist/src/private/error-handler.js +46 -0
  48. package/dist/src/private/error-handler.js.map +1 -0
  49. package/dist/src/private/types.d.ts +5 -0
  50. package/dist/src/private/types.js +3 -0
  51. package/dist/src/private/types.js.map +1 -0
  52. package/dist/src/regexp-utils.d.ts +12 -0
  53. package/dist/src/regexp-utils.js +45 -0
  54. package/dist/src/regexp-utils.js.map +1 -0
  55. package/dist/src/remove-circular-json-stringify.d.ts +1 -0
  56. package/dist/src/remove-circular-json-stringify.js +21 -0
  57. package/dist/src/remove-circular-json-stringify.js.map +1 -0
  58. package/dist/src/string-utils.d.ts +77 -0
  59. package/dist/src/string-utils.js +267 -0
  60. package/dist/src/string-utils.js.map +1 -0
  61. package/dist/src/tests-utils.d.ts +21 -0
  62. package/dist/src/tests-utils.js +80 -0
  63. package/dist/src/tests-utils.js.map +1 -0
  64. package/dist/src/timer-utils.d.ts +16 -0
  65. package/dist/src/timer-utils.js +146 -0
  66. package/dist/src/timer-utils.js.map +1 -0
  67. package/dist/src/transaction-utils.d.ts +14 -0
  68. package/dist/src/transaction-utils.js +157 -0
  69. package/dist/src/transaction-utils.js.map +1 -0
  70. package/dist/src/validation-utils.d.ts +80 -0
  71. package/dist/src/validation-utils.js +249 -0
  72. package/dist/src/validation-utils.js.map +1 -0
  73. package/dist/src/wtf-utils.d.ts +7 -0
  74. package/dist/src/wtf-utils.js +88 -0
  75. package/dist/src/wtf-utils.js.map +1 -0
  76. package/package.json +1 -1
@@ -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 error_handler_1 = require("./private/error-handler");
28
+ var isset_1 = require("./isset");
29
+ var date_utils_1 = require("./date-utils");
30
+ var array_utils_1 = require("./array-utils");
31
+ var config_1 = require("./config");
32
+ var is_empty_1 = require("./is-empty");
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_handler_1.dataValidationUtilErrorHandler('ctxNotSet', 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_handler_1.dataValidationUtilErrorHandler.bind.apply(error_handler_1.dataValidationUtilErrorHandler, __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_handler_1.dataValidationUtilErrorHandler("wrongTypeForDataValidatorArgument", 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, errCode, __assign({ 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]; // throw new dataValidationUtilErrorHandler('noNameProvidedForDataValidator', 500, { origin: 'Generic validator', });
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_handler_1.dataValidationUtilErrorHandler('typeDoNotExist', 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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.1.13",
3
+ "version": "1.1.14",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "private": false,