topkat-utils 1.2.1 → 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.
Files changed (45) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/index.js +8 -12
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/array-utils.js +23 -45
  5. package/dist/src/array-utils.js.map +1 -1
  6. package/dist/src/clean-stack-trace.js +7 -7
  7. package/dist/src/clean-stack-trace.js.map +1 -1
  8. package/dist/src/config.js +5 -16
  9. package/dist/src/config.js.map +1 -1
  10. package/dist/src/date-utils.js +89 -139
  11. package/dist/src/date-utils.js.map +1 -1
  12. package/dist/src/env-utils.js +4 -4
  13. package/dist/src/env-utils.js.map +1 -1
  14. package/dist/src/error-utils.js +39 -116
  15. package/dist/src/error-utils.js.map +1 -1
  16. package/dist/src/isset.js +2 -6
  17. package/dist/src/isset.js.map +1 -1
  18. package/dist/src/logger-utils.js +138 -267
  19. package/dist/src/logger-utils.js.map +1 -1
  20. package/dist/src/loop-utils.js +35 -121
  21. package/dist/src/loop-utils.js.map +1 -1
  22. package/dist/src/math-utils.js +8 -24
  23. package/dist/src/math-utils.js.map +1 -1
  24. package/dist/src/mongo-utils.js +6 -20
  25. package/dist/src/mongo-utils.js.map +1 -1
  26. package/dist/src/object-utils.js +74 -114
  27. package/dist/src/object-utils.js.map +1 -1
  28. package/dist/src/regexp-utils.js +6 -7
  29. package/dist/src/regexp-utils.js.map +1 -1
  30. package/dist/src/remove-circular-json-stringify.js +4 -5
  31. package/dist/src/remove-circular-json-stringify.js.map +1 -1
  32. package/dist/src/string-utils.js +49 -107
  33. package/dist/src/string-utils.js.map +1 -1
  34. package/dist/src/tests-utils.js +19 -22
  35. package/dist/src/tests-utils.js.map +1 -1
  36. package/dist/src/timer-utils.js +37 -121
  37. package/dist/src/timer-utils.js.map +1 -1
  38. package/dist/src/transaction-utils.js +44 -129
  39. package/dist/src/transaction-utils.js.map +1 -1
  40. package/dist/src/validation-utils.js +79 -133
  41. package/dist/src/validation-utils.js.map +1 -1
  42. package/dist/src/wtf-utils.js +35 -40
  43. package/dist/src/wtf-utils.js.map +1 -1
  44. package/package.json +4 -4
  45. package/tsconfig.json +1 -1
@@ -4,18 +4,17 @@
4
4
  //----------------------------------------
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
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");
7
+ const regexp_utils_1 = require("./regexp-utils");
8
+ const logger_utils_1 = require("./logger-utils");
9
+ const isset_1 = require("./isset");
10
10
  function chineseProverb() {
11
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)];
12
+ const 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((s, e) => s.replace(new RegExp(e[0], 'g'), e[1]), str).split('$')[Math.floor(Math.random() * 11)];
14
14
  }
15
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)];
16
+ function randomEmoji(msg, length = 20) {
17
+ const o = `\u0298\u203f\u0298§\u0ca0\u005f\u0ca0§\u0028\uff61\u25d5\u203f\u25d5\uff61\u0029§\uff08\u3000\uff9f\u0414\uff9f\uff09§\u0028\u256c\u0020\u0ca0\u76ca\u0ca0\u0029§\u0ca0\u203f\u0ca0§\u0028\u0020\u0361\u00b0\u0020\u035c\u0296\u0020\u0361\u00b0\u0029§\u0ca5\u005f\u0ca5§\u0ca5\ufe4f\u0ca5§\u2299\ufe4f\u2299§\u00b0\u203f\u203f\u00b0§\u0028\u00b4\uff65\u005f\uff65\u0060\u0029§\u0c20\u005f\u0c20§\u0028\u2299\u005f\u25ce\u0029§\u30df\u25cf\ufe4f\u2609\u30df§\u0028\u0ca5\u2323\u0ca5\u0029§\u0028\u0e51\u2022\u0301\u0020\u2083\u0020\u2022\u0300\u0e51\u0029§\u25d4\u005f\u25d4§\u2665\u203f\u2665§\u0028\u0020\u02d8\u0020\u00b3\u02d8\u0029\u2665§\u0028\u0020\u02c7\u0df4\u02c7\u0020\u0029§\u0028\u0482\u25e1\u005f\u25e1\u0029§\u2940\u002e\u2940§\u0028\u2a7e\ufe4f\u2a7d\u0029§\u0028\u0020\u0c20\u0020\u035f\u0296\u0020\u0c20\u0029§\u0028\u0020\u0361\u0ca0\u0020\u0296\u032f\u0020\u0361\u0ca0\u0029§\u0028\u0020\u0ca0\u0020\u0296\u032f\u0020\u0ca0\u0029§\u2668\u005f\u2668§\u0028\u002e\u005f\u002e\u0029§\ub208\u005f\ub208§\u0028\u25e0\ufe4f\u25e0\u0029§\u25d6\u1d54\u1d25\u1d54\u25d7\u0020\u266a\u0020\u266b§\u007b\u2022\u0303\u005f\u2022\u0303\u007d§\u0028\u1d54\u1d25\u1d54\u0029§\u0028\u053e\u2038\u0020\u053e\u0029§\u00af\u005c\u005f\u0028\u30c4\u0029\u005f\u002f\u00af§\u00af\u005c\u0028\u00b0\u005f\u006f\u0029\u002f\u00af§\u00af\u005c\u005f\u0028\u2299\ufe3f\u2299\u0029\u005f\u002f\u00af§\u0505\u0028\u2256\u203f\u2256\u0505\u0029§\u10da\u0028\uff40\u30fc\u00b4\u10da\u0029§\u261c\u0028\u2312\u25bd\u2312\u0029\u261e§\u30fd\u0028\u00b4\u25bd\u0060\u0029\u002f§\u30fd\u0028\u00b4\u30fc\uff40\u0029\u30ce§\u1559\u0028\u21c0\u2038\u21bc\u2036\u0029\u1557§\u1566\u0028\u00f2\u005f\u00f3\u02c7\u0029\u1564§\u2282\u0028\u25c9\u203f\u25c9\u0029\u3064§\u0071\u0028\u2742\u203f\u2742\u0029\u0070§\u00bf\u24e7\u005f\u24e7\ufb8c§\u0028\u2299\u002e\u2609\u0029§\u0449\uff08\uff9f\u0414\uff9f\u0449\uff09§\u0669\u0028\u0e4f\u005f\u0e4f\u0029\u06f6§\u0074\u0028\u002d\u005f\u002d\u0074\u0029§\u0028\u3065\uffe3\u0020\u00b3\uffe3\u0029\u3065§\u0028\u3065\uff61\u25d5\u203f\u203f\u25d5\uff61\u0029\u3065§\u201c\u30fd\u0028\u00b4\u25bd\uff40\u0029\u30ce\u201d§\u250c\u0028\u3186\u3268\u3186\u0029\u0283§\u0028\u2283\uff61\u2022\u0301\u203f\u2022\u0300\uff61\u0029\u2283§\u0028\u3063\u02d8\u06a1\u02d8\u03c2\u0029§\u0028\u0e07\u30c4\u0029\u0e27§\u30fe\u0028\u002d\u005f\u002d\u0020\u0029\u309e§\u266a\u266a\u0020\u30fd\u0028\u02c7\u2200\u02c7\u0020\u0029\u309e§\u30fe\u0028\u00b4\u3007\u0060\u0029\uff89\u266a\u266a\u266a§\u0028\u3063\u2580\u00af\u2580\u0029\u3064§\u0028\u00b4\u0436\uff40\u03c2\u0029§\u0028\u00b0\u0020\u035c\u0296\u0361\u00b0\u0029\u256d\u2229\u256e§\u062d\u0028\u2022\u0300\u0436\u2022\u0301\u0029\u0e07\u0020\u2020§\u007e\u0028\u005e\u002d\u005e\u0029\u007e§\u005c\u0028\u1d54\u1d55\u1d54\u0029\u002f§\u10da\u0028\u2022\u0301\u2022\u0301\u10da\u0029§\u0028\u0e07\u2019\u0300\u002d\u2018\u0301\u0029\u0e07§\u0028\u2022\u0300\u1d17\u2022\u0301\u0029\u0648\u0020\u0311\u0311§\u005b\u00ac\u00ba\u002d\u00b0\u005d\u00ac§\u0028\u261e\uff9f\u30ee\uff9f\u0029\u261e§\u00bb\u2310\u0028\u0ca0\u06fe\u0ca0\u0029\u00ac\u0020\u00bb\u2019§\u0028\u3063\u2022\u0301\uff61\u2022\u0301\u0029\u266a\u266c§\u01aa\u0028\u0693\u05f2\u0029\u200e\u01aa\u200b\u200b§\u0295\u2022\u1d25\u2022\u0294§\u0295\u1d54\u1d25\u1d54\u0294§\u0295\u0020\u2022\u0060\u1d25\u2022\u00b4\u0294§\u0295\u0020\u2022\u0301\u0608\u2022\u0300\u0020\u208e§\u0028\u0060\uff65\u03c9\uff65\u00b4\u0029§\u1d52\u1d25\u1d52§\u0056\u2022\u1d25\u2022\u0056§\u0e05\u005e\u2022\ufecc\u2022\u005e\u0e05§\u0028\u0020\u0c20\u0d60\u0c20\u0020\u0029\uff89§\u0295\u0298\u0305\u035c\u0298\u0305\u0294§\u062d\u02da\u0bf0\u02da\u3065§\u0028\u256f\u00b0\u25a1\u00b0\uff09\u256f\ufe35\u0020\u253b\u2501\u253b§\u252c\u2500\u252c\ufeff\u0020\u30ce\u0028\u0020\u309c\u002d\u309c\u30ce\u0029§\u252c\u2500\u252c\u20f0\u0361\u2007\u0028\u1d54\u1d55\u1d54\u035c\u2007\u0029§\u253b\u2501\u253b\u0020\ufe35\u30fd\u0028\u0060\u0414\u00b4\u0029\uff89\ufe35\ufeff\u0020\u253b\u2501\u253b§\u0028\u30ce\u0ca0\u0020\u2229\u0ca0\u0029\u30ce\u5f61\u0028\u0020\u005c\u006f\u00b0\u006f\u0029\u005c§\uff08\u0020\u005e\u005f\u005e\uff09\u006f\u81ea\u81ea\u006f\uff08\u005e\u005f\u005e\u0020\uff09§\u0f3c\u2235\u0f3d§\u0f3c\u2368\u0f3d§\u0f3c\u2362\u0f3d§\u0f3c\u2364\u0f3d§\u30fd\u0f3c\u0020\u0ca0\u76ca\u0ca0\u0020\u0f3d\uff89§\u4e41\u0028\u0020\u25d4\u0020\u0c6a\u25d4\u0029\u300c§\u0028\u2229\uff40\u002d\u00b4\u0029\u2283\u2501\u2606\uff9f\u002e\u002a\uff65\uff61\uff9f`.split('§')[Math.floor(Math.random() * 100)];
19
18
  return o.padEnd(length, ' ') + (msg ? '< ' + msg : '');
20
19
  }
21
20
  exports.randomEmoji = randomEmoji;
@@ -23,64 +22,60 @@ exports.randomEmoji = randomEmoji;
23
22
  * peut facilement être utilisé par uncomp directement (stock les metadonnées sur la comp)
24
23
  */
25
24
  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 = {};
25
+ const oldStrLength = str.length;
26
+ const utf8Chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:;<=>%?@"#$&\'()*+,-./[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f€\u0081‚ƒ„…†‡ˆ‰Š‹ŒŽ\u008f‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŹźŻżſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƓƔƕƖƗƘƙƚƛƜƝƞƟ'.split('');
27
+ const unusedChars = utf8Chars.filter(c => !str.includes(c));
28
+ const charMap = [];
29
+ const mostFreqStr = str2 => {
30
+ const o = {};
32
31
  // 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 = '';
32
+ for (let strLength = 2; strLength < 16; strLength++) {
33
+ for (let i = 0; (0, isset_1.isset)(str2[i + strLength - 1]); i++) {
34
+ let s = '';
36
35
  while (s.length < strLength)
37
36
  s += str2[i + s.length];
38
37
  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
38
  }
40
39
  }
41
40
  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];
41
+ .filter(subStr => o[subStr] > subStr.length + 2) // will not be comp if charEconomised != substr.length
42
+ .sort((a, b) => o[b] - o[a])[0];
44
43
  };
45
44
  // on trouve les [deepness] double char les plus représentés ['aa', 'bb'...]
46
45
  // on les remplace le nb de [recursion], ce qui permet de remplacer des remplacements
47
- var strLengthBefore;
46
+ let strLengthBefore;
48
47
  while (strLengthBefore !== str.length && unusedChars.length > 0) {
49
48
  strLengthBefore = str.length;
50
- var toReplace = mostFreqStr(str);
49
+ const toReplace = mostFreqStr(str);
51
50
  if ((0, isset_1.isset)(toReplace)) {
52
- var char = unusedChars.shift();
53
- charMap.push({ char: char, replacement: toReplace }); // { ù: 'aa' }
51
+ const char = unusedChars.shift();
52
+ charMap.push({ char, replacement: toReplace }); // { ù: 'aa' }
54
53
  str = str.replace(new RegExp((0, regexp_utils_1.escapeRegexp)(toReplace), 'g'), char);
55
54
  }
56
55
  }
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;
56
+ for (const { char, replacement } of charMap) {
59
57
  // 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;
58
+ const reg = replacement.length > 3 && replacement.split('').every((char2, i, a) => char2 == a[0]) ? `${replacement[0]}Ơ${replacement.length}` : replacement;
59
+ str = `${char}${reg}§` + str;
62
60
  }
63
- logger_utils_1.C.info("COMP percentage: ".concat(Math.round((str.length / oldStrLength) * 100), "% of its original size"));
61
+ logger_utils_1.C.info(`COMP percentage: ${Math.round((str.length / oldStrLength) * 100)}% of its original size`);
64
62
  return str;
65
63
  }
66
64
  exports.compAuto = compAuto;
67
65
  function unComp(str) {
68
- var charMap = [];
69
- var map = str.split('§');
66
+ const charMap = [];
67
+ const map = str.split('§');
70
68
  str = map.pop();
71
- map.forEach(function (e) {
72
- var char = e[0];
73
- var replacement = e.substring(1, 999);
69
+ map.forEach(e => {
70
+ let char = e[0];
71
+ let replacement = e.substring(1, 999);
74
72
  if (replacement.includes('Ơ')) {
75
- var _a = replacement.split('Ơ'), char_1 = _a[0], nb = _a[1];
76
- replacement = char_1.repeat(nb);
73
+ const [char, nb] = replacement.split('Ơ');
74
+ replacement = char.repeat(nb);
77
75
  }
78
- charMap.push({ char: char, replacement: replacement });
76
+ charMap.push({ char, replacement });
79
77
  });
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
78
+ charMap.forEach(({ char, replacement }) => str = str.replace(new RegExp((0, regexp_utils_1.escapeRegexp)(char), 'g'), replacement) // regexp excape
84
79
  );
85
80
  return str;
86
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wtf-utils.js","sourceRoot":"","sources":["../../src/wtf-utils.ts"],"names":[],"mappings":"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"}
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.2.1",
3
+ "version": "1.2.2",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "private": false,
@@ -19,9 +19,9 @@
19
19
  "bump:patch": "npm run build & node node_modules/bump-simple/bump-simple.js --patch"
20
20
  },
21
21
  "devDependencies": {
22
- "@types/node": "^16.11.6",
22
+ "@types/node": "^18.11.18",
23
+ "bump-simple": "^1.0.0",
23
24
  "eslint": "^8.0.0",
24
- "typescript": "^4.4.4",
25
- "bump-simple": "^1.0.0"
25
+ "typescript": "^4.4.4"
26
26
  }
27
27
  }
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES5",
3
+ "target": "ES2017",
4
4
  "module": "commonjs",
5
5
  "esModuleInterop": true,
6
6
  "allowSyntheticDefaultImports": true,