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
@@ -1,50 +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.waitForTransaction = exports.removeItemFromQueue = exports.transaction = void 0;
40
4
  //----------------------------------------
41
5
  // TRANSACTION
42
6
  //----------------------------------------
43
- var isset_1 = require("./isset");
44
- var logger_utils_1 = require("./logger-utils");
45
- var timer_utils_1 = require("./timer-utils");
46
- var transactionRunning = { __default: false };
47
- var queue = { __default: [] };
7
+ const isset_1 = require("./isset");
8
+ const logger_utils_1 = require("./logger-utils");
9
+ const timer_utils_1 = require("./timer-utils");
10
+ const transactionRunning = { __default: false };
11
+ const queue = { __default: [] };
48
12
  /** Allow to perform async functions in a defined order
49
13
  * This adds the callback to a queue and is resolved when ALL previous callbacks with same name are executed
50
14
  * Use it like: await transaction('nameOfTheFlow', async () => { ...myFunction })
@@ -53,105 +17,56 @@ var queue = { __default: [] };
53
17
  * @param {Number} timeout default: 120000 (120s) will throw an error if transaction time is higher that this amount of ms
54
18
  * @returns {Promise}
55
19
  */
56
- function transaction(name, asyncCallback, timeout, doNotThrow) {
57
- if (timeout === void 0) { timeout = 120000; }
58
- if (doNotThrow === void 0) { doNotThrow = false; }
59
- return __awaiter(this, void 0, void 0, function () {
60
- var _this = this;
61
- return __generator(this, function (_a) {
62
- switch (_a.label) {
63
- case 0:
64
- if (typeof name === 'function') {
65
- asyncCallback = name;
66
- name = '__default';
67
- }
68
- if (!(0, isset_1.isset)(queue[name]))
69
- queue[name] = [];
70
- if (!(0, isset_1.isset)(transactionRunning[name]))
71
- transactionRunning[name] = false;
72
- return [4 /*yield*/, new Promise(function (resolve, reject) {
73
- if (doNotThrow)
74
- reject = logger_utils_1.C.error;
75
- queue[name].push(function () { return __awaiter(_this, void 0, void 0, function () {
76
- var res, err_1;
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0:
80
- _a.trys.push([0, 2, , 3]);
81
- setTimeout(function () {
82
- logger_utils_1.C.warning('Transaction Timout'); // in case not catched
83
- reject(new Error('transactionTimeout'));
84
- }, timeout);
85
- return [4 /*yield*/, asyncCallback()];
86
- case 1:
87
- res = _a.sent();
88
- resolve(res);
89
- return [3 /*break*/, 3];
90
- case 2:
91
- err_1 = _a.sent();
92
- reject(err_1);
93
- return [3 /*break*/, 3];
94
- case 3: return [2 /*return*/];
95
- }
96
- });
97
- }); });
98
- removeItemFromQueue(name);
99
- })];
100
- case 1: return [2 /*return*/, _a.sent()];
20
+ async function transaction(name, asyncCallback, timeout = 120000, doNotThrow = false) {
21
+ if (typeof name === 'function') {
22
+ asyncCallback = name;
23
+ name = '__default';
24
+ }
25
+ if (!(0, isset_1.isset)(queue[name]))
26
+ queue[name] = [];
27
+ if (!(0, isset_1.isset)(transactionRunning[name]))
28
+ transactionRunning[name] = false;
29
+ return await new Promise((resolve, reject) => {
30
+ if (doNotThrow)
31
+ reject = logger_utils_1.C.error;
32
+ queue[name].push(async () => {
33
+ try {
34
+ setTimeout(() => {
35
+ logger_utils_1.C.warning('Transaction Timout'); // in case not catched
36
+ reject(new Error('transactionTimeout'));
37
+ }, timeout);
38
+ const res = await asyncCallback();
39
+ resolve(res);
40
+ }
41
+ catch (err) {
42
+ reject(err);
101
43
  }
102
44
  });
45
+ removeItemFromQueue(name);
103
46
  });
104
47
  }
105
48
  exports.transaction = transaction;
106
- function removeItemFromQueue(name) {
107
- return __awaiter(this, void 0, void 0, function () {
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0:
111
- if (transactionRunning[name] === true)
112
- return [2 /*return*/]; // v
113
- transactionRunning[name] = true; // A A /\
114
- _a.label = 1;
115
- case 1:
116
- if (!queue[name].length) return [3 /*break*/, 3];
117
- return [4 /*yield*/, queue[name].shift()()]; // II
118
- case 2:
119
- _a.sent(); // II
120
- return [3 /*break*/, 1];
121
- case 3:
122
- transactionRunning[name] = false; // \==/_______II
123
- return [2 /*return*/];
124
- }
125
- });
126
- });
49
+ async function removeItemFromQueue(name) {
50
+ if (transactionRunning[name] === true)
51
+ return; // v
52
+ transactionRunning[name] = true; // A A /\
53
+ while (queue[name].length)
54
+ await queue[name].shift()(); // II
55
+ transactionRunning[name] = false; // \==/_______II
127
56
  } // l v_v_v _I
128
57
  exports.removeItemFromQueue = removeItemFromQueue;
129
58
  // 11 11
130
59
  /** Wait for a transaction to complete without creating a new transaction
131
60
  *
132
61
  */
133
- function waitForTransaction(transactionName, forceReleaseInSeconds) {
134
- if (forceReleaseInSeconds === void 0) { forceReleaseInSeconds = 30; }
135
- return __awaiter(this, void 0, void 0, function () {
136
- var brk;
137
- return __generator(this, function (_a) {
138
- switch (_a.label) {
139
- case 0:
140
- brk = false;
141
- setTimeout(function () { return brk = true; }, forceReleaseInSeconds * 1000);
142
- _a.label = 1;
143
- case 1:
144
- if (!((0, isset_1.isset)(transactionRunning[transactionName]) && transactionRunning[transactionName] === true)) return [3 /*break*/, 3];
145
- if (brk)
146
- return [3 /*break*/, 3];
147
- return [4 /*yield*/, (0, timer_utils_1.timeout)(15)];
148
- case 2:
149
- _a.sent();
150
- return [3 /*break*/, 1];
151
- case 3: return [2 /*return*/];
152
- }
153
- });
154
- });
62
+ async function waitForTransaction(transactionName, forceReleaseInSeconds = 30) {
63
+ let brk = false;
64
+ setTimeout(() => brk = true, forceReleaseInSeconds * 1000);
65
+ while ((0, isset_1.isset)(transactionRunning[transactionName]) && transactionRunning[transactionName] === true) {
66
+ if (brk)
67
+ break;
68
+ await (0, timer_utils_1.timeout)(15);
69
+ }
155
70
  }
156
71
  exports.waitForTransaction = waitForTransaction;
157
72
  //# sourceMappingURL=transaction-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-utils.js","sourceRoot":"","sources":["../../src/transaction-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,iCAA+B;AAC/B,+CAAkC;AAClC,6CAAuC;AAEvC,IAAM,kBAAkB,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AAC/C,IAAM,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AAE/B;;;;;;;GAOG;AACH,SAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAgB,EAAE,UAAkB;IAApC,wBAAA,EAAA,gBAAgB;IAAE,2BAAA,EAAA,kBAAkB;;;;;;oBACvF,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wBAC5B,aAAa,GAAG,IAAI,CAAA;wBACpB,IAAI,GAAG,WAAW,CAAA;qBACrB;oBACD,IAAI,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACzC,IAAI,CAAC,IAAA,aAAK,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;wBAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;oBAE/D,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;4BACrC,IAAI,UAAU;gCAAE,MAAM,GAAG,gBAAC,CAAC,KAAK,CAAA;4BAChC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;;;;;;4CAET,UAAU,CAAC;gDACP,gBAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,CAAC,sBAAsB;gDACtD,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;4CAC3C,CAAC,EAAE,OAAO,CAAC,CAAA;4CACC,qBAAM,aAAa,EAAE,EAAA;;4CAA3B,GAAG,GAAG,SAAqB;4CACjC,OAAO,CAAC,GAAG,CAAC,CAAA;;;;4CAEZ,MAAM,CAAC,KAAG,CAAC,CAAA;;;;;iCAElB,CAAC,CAAA;4BACF,mBAAmB,CAAC,IAAI,CAAC,CAAA;wBAC7B,CAAC,CAAC,EAAA;wBAfF,sBAAO,SAeL,EAAA;;;;CACL;AAxBD,kCAwBC;AAED,SAAsB,mBAAmB,CAAC,IAAI;;;;;oBAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI;wBAAE,sBAAM,CAAC,WAAW;oBACzD,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA,CAAC,8BAA8B;;;yBACvD,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,qBAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,EAAA,CAAC,OAAO;;oBAAnC,SAA2B,CAAA,CAAC,OAAO;;;oBAC9D,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA,CAAC,6BAA6B;;;;;CACjE,CAAC,iEAAiE;AALnE,kDAKC;AACD,iEAAiE;AAEjE;;GAEG;AACH,SAAsB,kBAAkB,CAAC,eAAe,EAAE,qBAA0B;IAA1B,sCAAA,EAAA,0BAA0B;;;;;;oBAC5E,GAAG,GAAG,KAAK,CAAA;oBACf,UAAU,CAAC,cAAM,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAAA;;;yBACnD,CAAA,IAAA,aAAK,EAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,IAAI,kBAAkB,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;oBAC7F,IAAI,GAAG;wBAAE,wBAAK;oBACd,qBAAM,IAAA,qBAAO,EAAC,EAAE,CAAC,EAAA;;oBAAjB,SAAiB,CAAA;;;;;;CAExB;AAPD,gDAOC"}
1
+ {"version":3,"file":"transaction-utils.js","sourceRoot":"","sources":["../../src/transaction-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,mCAA+B;AAC/B,iDAAkC;AAClC,+CAAuC;AAEvC,MAAM,kBAAkB,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AAC/C,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AAE/B;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,EAAE,UAAU,GAAG,KAAK;IACvF,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;QAC5B,aAAa,GAAG,IAAI,CAAA;QACpB,IAAI,GAAG,WAAW,CAAA;KACrB;IACD,IAAI,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IACzC,IAAI,CAAC,IAAA,aAAK,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAEtE,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,UAAU;YAAE,MAAM,GAAG,gBAAC,CAAC,KAAK,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI;gBACA,UAAU,CAAC,GAAG,EAAE;oBACZ,gBAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,CAAC,sBAAsB;oBACtD,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;gBAC3C,CAAC,EAAE,OAAO,CAAC,CAAA;gBACX,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAA;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAA;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,CAAA;aACd;QACL,CAAC,CAAC,CAAA;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACN,CAAC;AAxBD,kCAwBC;AAEM,KAAK,UAAU,mBAAmB,CAAC,IAAI;IAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAM,CAAC,WAAW;IACzD,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA,CAAC,8BAA8B;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA,CAAC,OAAO;IAC9D,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA,CAAC,6BAA6B;AAClE,CAAC,CAAC,iEAAiE;AALnE,kDAKC;AACD,iEAAiE;AAEjE;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,GAAG,EAAE;IAChF,IAAI,GAAG,GAAG,KAAK,CAAA;IACf,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAAA;IAC1D,OAAO,IAAA,aAAK,EAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,IAAI,kBAAkB,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;QAC/F,IAAI,GAAG;YAAE,MAAK;QACd,MAAM,IAAA,qBAAO,EAAC,EAAE,CAAC,CAAA;KACpB;AACL,CAAC;AAPD,gDAOC"}
@@ -1,56 +1,24 @@
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
- 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
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.validatorReturnErrArray = exports.isType = exports.isValid = exports.validator = exports.checkCtxIntegrity = exports.checkAllObjectValuesAreEmpty = exports.isDateObject = exports.isEmptyOrNotSet = exports.issetOr = void 0;
24
4
  //----------------------------------------
25
5
  // VALIDATION UTILS
26
6
  //----------------------------------------
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
- }
7
+ const isset_1 = require("./isset");
8
+ const date_utils_1 = require("./date-utils");
9
+ const array_utils_1 = require("./array-utils");
10
+ const config_1 = require("./config");
11
+ const is_empty_1 = require("./is-empty");
12
+ const error_utils_1 = require("./error-utils");
13
+ const remove_circular_json_stringify_1 = require("./remove-circular-json-stringify");
14
+ function issetOr(...elms) { return elms.some(elm => typeof elm !== 'undefined' && elm !== null); }
41
15
  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
- }
16
+ function isEmptyOrNotSet(...elms) { return elms.some(elm => !(0, isset_1.isset)(elm) || (0, is_empty_1.isEmpty)(elm)); }
49
17
  exports.isEmptyOrNotSet = isEmptyOrNotSet;
50
18
  function isDateObject(variable) { return variable instanceof Date; }
51
19
  exports.isDateObject = isDateObject;
52
20
  /** Check all values are set */
53
- function checkAllObjectValuesAreEmpty(o) { return Object.values(o).every(function (value) { return !(0, isset_1.isset)(value); }); }
21
+ function checkAllObjectValuesAreEmpty(o) { return Object.values(o).every(value => !(0, isset_1.isset)(value)); }
54
22
  exports.checkAllObjectValuesAreEmpty = checkAllObjectValuesAreEmpty;
55
23
  /** Throw an error in case data passed is not a valid ctx */
56
24
  function checkCtxIntegrity(ctx) {
@@ -58,96 +26,80 @@ function checkCtxIntegrity(ctx) {
58
26
  throw new error_utils_1.DescriptiveError('ctxNotSet', { code: 500 });
59
27
  }
60
28
  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);
29
+ function validator(...paramsToValidate) {
30
+ const errArray = validatorReturnErrArray(...paramsToValidate);
67
31
  if (errArray.length)
68
- throw new (error_utils_1.DescriptiveError.bind.apply(error_utils_1.DescriptiveError, __spreadArray([void 0], errArray, false)))();
32
+ throw new error_utils_1.DescriptiveError(...errArray);
69
33
  }
70
34
  exports.validator = validator;
71
35
  /** Same as validator but return a boolean
72
36
  * See {@link validator}
73
37
  */
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);
38
+ function isValid(...paramsToValidate) {
39
+ const errArray = validatorReturnErrArray(...paramsToValidate);
80
40
  return errArray.length ? false : true;
81
41
  }
82
42
  exports.isValid = isValid;
83
43
  /** Default types + custom types
84
44
  * 'objectId','dateInt6','dateInt','dateInt8','dateInt12','time','humanReadableTimestamp','date','array','object','buffer','string','function','boolean','number','bigint',
85
45
  */
86
- function isType(value, type) { return isValid({ name: 'Is type check', value: value, type: type }); }
46
+ function isType(value, type) { return isValid({ name: 'Is type check', value, type }); }
87
47
  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 = [];
48
+ function validatorReturnErrArray(...paramsToValidate) {
49
+ let paramsFormatted = [];
94
50
  // support for multiple names with multiple values for one rule. Eg: {name: [{startDate:'20180101'}, {endDate:'20180101'}], type: 'dateInt8'}
95
- paramsToValidate.forEach(function (param) {
51
+ paramsToValidate.forEach(param => {
96
52
  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 });
53
+ throw new error_utils_1.DescriptiveError(`wrongTypeForDataValidatorArgument`, { code: 500, origin: 'Generic validator', expectedType: 'object', actualType: Array.isArray(param) ? 'array' : typeof param });
98
54
  // parse => name: {myVar1: 'blah, myvar2: myvar2}
99
55
  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] })); });
56
+ Object.keys(param.name).forEach(name => paramsFormatted.push(Object.assign({}, param, { name: name, value: param.name[name] })));
101
57
  else
102
58
  paramsFormatted.push(param);
103
59
  });
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;
60
+ for (const paramObj of paramsFormatted) {
61
+ let name = paramObj.name;
62
+ let value = paramObj.value;
63
+ let optional = paramObj.optional || false;
64
+ let emptyAllowed = optional || paramObj.emptyAllowed || false;
109
65
  if (paramObj.isset === false)
110
66
  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
- };
67
+ const errMess = (msg, extraInfos = {}, errCode = 422) => [msg, Object.assign({ code: errCode, origin: 'Generic validator', varName: name, gotValue: (0, isset_1.isset)(value) && (0, isset_1.isset)(value.data) && (0, isset_1.isset)(value.data.data) ? Object.assign(Object.assign({}, value), { data: 'Buffer' }) : value }, extraInfos)];
116
68
  // 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];
69
+ if (!(0, isset_1.isset)(name)) {
70
+ name = Object.keys(paramObj).find(param => !['in', 'eq', 'lte', 'gte', 'name', 'value', 'type', 'regexp', 'minLength', 'maxLength', 'optional', 'emptyAllowed', 'mustNotBeSet', 'includes', 'length'].includes(param));
71
+ if ((0, isset_1.isset)(name))
72
+ value = paramObj[name];
121
73
  }
122
74
  // 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);
75
+ if ((0, isset_1.isset)(name) && /.*\$$/.test(name)) {
76
+ name = name.substr(0, name.length - 1);
125
77
  optional = true;
126
78
  }
127
79
  // DEFINED AND NOT EMPTY
128
80
  if (!(0, isset_1.isset)(value) && optional)
129
- return "continue";
81
+ continue;
130
82
  if ((0, isset_1.isset)(value) && paramObj.mustNotBeSet)
131
- return { value: errMess('variableMustNotBeSet') };
83
+ return errMess('variableMustNotBeSet');
132
84
  if (paramObj.mustNotBeSet)
133
- return "continue"; // exit
85
+ continue; // exit
134
86
  if (!(0, isset_1.isset)(value))
135
- return { value: errMess('requiredVariableEmptyOrNotSet') };
87
+ return errMess('requiredVariableEmptyOrNotSet');
136
88
  if (!emptyAllowed && value === '')
137
- return { value: errMess('requiredVariableEmpty') };
138
- var isArray = paramObj.isArray;
89
+ return errMess('requiredVariableEmpty');
90
+ const isArray = paramObj.isArray;
139
91
  if (isArray && !Array.isArray(value))
140
- return { value: errMess('wrongTypeForVar', { expectedType: 'array', gotType: typeof value }) };
92
+ return errMess('wrongTypeForVar', { expectedType: 'array', gotType: typeof value });
141
93
  // TYPE
142
94
  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) {
95
+ const types = (0, array_utils_1.asArray)(paramObj.type); // support for multiple type
96
+ const areSomeTypeValid = types.some(type => {
145
97
  if (type.endsWith('[]')) {
146
98
  if (!Array.isArray(value))
147
99
  errMess('wrongTypeForVar', { expectedType: 'array', gotType: typeof value });
148
100
  type = type.replace('[]', '');
149
101
  }
150
- var allTypes = [
102
+ const allTypes = [
151
103
  'objectId',
152
104
  'dateInt6',
153
105
  'dateInt',
@@ -171,77 +123,71 @@ function validatorReturnErrArray() {
171
123
  //...Object.keys(configFn().customTypes)
172
124
  ];
173
125
  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; },
126
+ throw new error_utils_1.DescriptiveError('typeDoNotExist', { code: 500, type });
127
+ const basicTypeCheck = {
128
+ objectId: val => /^[0-9a-fA-F-]{24,}$/.test(val),
129
+ dateInt6: val => (0, date_utils_1.isDateIntOrStringValid)(parseInt(val + '01'), true, 8),
130
+ dateInt: val => (0, date_utils_1.isDateIntOrStringValid)(val, true, 8),
131
+ dateInt8: val => (0, date_utils_1.isDateIntOrStringValid)(val, true, 8),
132
+ dateInt12: val => (0, date_utils_1.isDateIntOrStringValid)(val, true, 12),
133
+ time: val => /^\d\d:\d\d$/.test(val) && (0, date_utils_1.isTimeStringValid)(val),
134
+ humanReadableTimestamp: val => (val + '').length === 17,
135
+ date: val => (0, date_utils_1.isDateIsoOrObjectValid)(val, true),
136
+ dateObject: val => (0, date_utils_1.isDateIsoOrObjectValid)(val, true),
137
+ array: val => Array.isArray(val),
138
+ object: val => !Array.isArray(val) && val !== null && typeof val === type,
139
+ buffer: val => Buffer.isBuffer(val),
140
+ year: val => /^\d\d\d\d$/.test(val),
141
+ email: val => /^[^\s@]+@([^\s@.,]+\.)+[^\s@.,]+$/.test(val),
142
+ any: () => true,
191
143
  };
192
144
  return (0, isset_1.isset)(basicTypeCheck[type]) && basicTypeCheck[type](value) ||
193
145
  typeof value === type && type !== 'object' || // for string, number, boolean...
194
146
  (0, isset_1.isset)((0, config_1.configFn)().customTypes[type]) && (0, config_1.configFn)().customTypes[type].test(value);
195
147
  });
196
148
  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) }) };
149
+ return errMess(`wrongTypeForVar`, { expectedTypes: types.join(', '), gotType: Object.prototype.toString.call(value), gotValue: (0, remove_circular_json_stringify_1.removeCircularJSONstringify)(value).substring(0, 999) });
198
150
  }
199
151
  // GREATER / LESS
200
152
  if ((0, isset_1.isset)(paramObj.gte) && value < paramObj.gte)
201
- return { value: errMess("valueShouldBeSuperiorOrEqualForVar", { shouldBeSupOrEqTo: paramObj.gte }) };
153
+ return errMess(`valueShouldBeSuperiorOrEqualForVar`, { shouldBeSupOrEqTo: paramObj.gte });
202
154
  if ((0, isset_1.isset)(paramObj.lte) && value > paramObj.lte)
203
- return { value: errMess("valueShouldBeInferiorOrEqualForVar", { shouldBeInfOrEqTo: paramObj.lte }) };
155
+ return errMess(`valueShouldBeInferiorOrEqualForVar`, { shouldBeInfOrEqTo: paramObj.lte });
204
156
  if ((0, isset_1.isset)(paramObj.gt) && value <= paramObj.gt)
205
- return { value: errMess("valueShouldBeSuperiorForVar", { shouldBeSupOrEqTo: paramObj.gt }) };
157
+ return errMess(`valueShouldBeSuperiorForVar`, { shouldBeSupOrEqTo: paramObj.gt });
206
158
  if ((0, isset_1.isset)(paramObj.lt) && value >= paramObj.lt)
207
- return { value: errMess("valueShouldBeInferiorForVar", { shouldBeInfOrEqTo: paramObj.lt }) };
159
+ return errMess(`valueShouldBeInferiorForVar`, { shouldBeInfOrEqTo: paramObj.lt });
208
160
  // IN VALUES
209
161
  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) }) };
162
+ const equals = Array.isArray(paramObj.in) ? paramObj.in : [paramObj.in];
163
+ if (!equals.some(equalVal => equalVal === value))
164
+ return errMess(`wrongValueForVar`, { supportedValues: JSON.stringify(equals) });
213
165
  }
214
166
  // EQUAL (exact copy of .in)
215
167
  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(', '), }) };
168
+ const equals = Array.isArray(paramObj.eq) ? paramObj.eq : [paramObj.eq];
169
+ if (!equals.some(equalVal => equalVal === value))
170
+ return errMess(`wrongValueForVar`, { supportedValues: equals.join(', '), });
219
171
  }
220
172
  // NOT EQUAL
221
173
  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(', ') }) };
174
+ const notEquals = Array.isArray(paramObj.neq) ? paramObj.neq : [paramObj.neq];
175
+ if (notEquals.some(equalVal => equalVal === value))
176
+ return errMess(`wrongValueForVar`, { NOTsupportedValues: notEquals.join(', ') });
225
177
  }
226
178
  // INCLUDES
227
179
  if ((0, isset_1.isset)(paramObj.includes) && !value.includes(paramObj.includes))
228
- return { value: errMess("wrongValueForVar", { shouldIncludes: paramObj.includes }) };
180
+ return errMess(`wrongValueForVar`, { shouldIncludes: paramObj.includes });
229
181
  // REGEXP
230
182
  if ((0, isset_1.isset)(paramObj.regexp) && !paramObj.regexp.test(value))
231
- return { value: errMess("wrongValueForVar", { shouldMatchRegexp: paramObj.regexp.toString() }) };
183
+ return errMess(`wrongValueForVar`, { shouldMatchRegexp: paramObj.regexp.toString() });
232
184
  // MIN / MAX LENGTH works for number length. Eg: 20180101.length == 8
233
185
  if ((0, isset_1.isset)(paramObj.minLength) && paramObj.minLength > (typeof value == 'number' ? value + '' : value).length)
234
- return { value: errMess("wrongLengthForVar", { minLength: paramObj.minLength }) };
186
+ return errMess(`wrongLengthForVar`, { minLength: paramObj.minLength });
235
187
  if ((0, isset_1.isset)(paramObj.maxLength) && paramObj.maxLength < (typeof value == 'number' ? value + '' : value).length)
236
- return { value: errMess("wrongLengthForVar", { maxLength: paramObj.maxLength }) };
188
+ return errMess(`wrongLengthForVar`, { maxLength: paramObj.maxLength });
237
189
  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;
190
+ return errMess(`wrongLengthForVar`, { length: paramObj.length });
245
191
  }
246
192
  return [];
247
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../src/validation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../src/validation-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,mBAAmB;AACnB,0CAA0C;AAC1C,mCAA+B;AAC/B,6CAAgG;AAChG,+CAAuC;AACvC,qCAAmC;AACnC,yCAAoC;AACpC,+CAAgD;AAChD,qFAA8E;AAI9E,SAAgB,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,CAAA,CAAC,CAAC;AAAxG,0BAAwG;AAExG,SAAgB,eAAe,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;AAAjG,0CAAiG;AAEjG,SAAgB,YAAY,CAAC,QAAQ,IAAI,OAAO,QAAQ,YAAY,IAAI,CAAA,CAAC,CAAC;AAA1E,oCAA0E;AAE1E,+BAA+B;AAC/B,SAAgB,4BAA4B,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;AAAzG,oEAAyG;AAEzG,4DAA4D;AAC5D,SAAgB,iBAAiB,CAAC,GAAG;IACjC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,8BAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC/F,CAAC;AAFD,8CAEC;AAiED,SAAgB,SAAS,CAAC,GAAG,gBAAmC;IAC5D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,gBAAgB,CAAC,CAAA;IAC7D,IAAI,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,8BAAgB,CAAC,GAAG,QAAQ,CAAC,CAAA;AAChE,CAAC;AAHD,8BAGC;AAGD;;GAEG;AACH,SAAgB,OAAO,CAAC,GAAG,gBAAgB;IACvC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,gBAAgB,CAAC,CAAA;IAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACzC,CAAC;AAHD,0BAGC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,KAAK,EAAE,IAAe,IAAI,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC;AAAzG,wBAAyG;AAEzG,SAAgB,uBAAuB,CAAC,GAAG,gBAAmC;IAC1E,IAAI,eAAe,GAAsB,EAAE,CAAA;IAE3C,6IAA6I;IAC7I,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACjD,MAAM,IAAI,8BAAgB,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAA;QAElM,iDAAiD;QACjD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;;YAC/H,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE;QACpC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACxB,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC1B,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAA;QACzC,IAAI,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAA;QAC7D,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK;YAAE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAA,CAAC,SAAS;QACpE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,EAAoB,EAAE,CAAC,CAAC,GAAG,kBAAI,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAM,KAAK,KAAE,IAAI,EAAE,QAAQ,IAAG,CAAC,CAAC,KAAK,IAAK,UAAU,EAAG,CAAA;QAE5Q,kDAAkD;QAClD,IAAI,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,EAAE;YACd,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YACtN,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC;gBAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;SAC1C;QACD,8CAA8C;QAC9C,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACtC,QAAQ,GAAG,IAAI,CAAA;SAClB;QAED,wBAAwB;QACxB,IAAI,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,QAAQ;YAAE,SAAQ;QACvC,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACjF,IAAI,QAAQ,CAAC,YAAY;YAAE,SAAQ,CAAC,OAAO;QAC3C,IAAI,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAA;QAClE,IAAI,CAAC,YAAY,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAChC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QAEzH,OAAO;QACP,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,IAAA,qBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,4BAA4B;YACjE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;oBACvG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;iBAChC;gBAED,MAAM,QAAQ,GAAqB;oBAC/B,UAAU;oBACV,UAAU;oBACV,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,MAAM;oBACN,wBAAwB;oBACxB,MAAM;oBACN,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,QAAQ;oBACR,QAAQ;oBACR,UAAU;oBACV,SAAS;oBACT,QAAQ;oBACR,QAAQ;oBACR,MAAM;oBACN,KAAK;oBACL,OAAO;oBACP,wCAAwC;iBAC3C,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,8BAAgB,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;gBAE/F,MAAM,cAAc,GAAG;oBACnB,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBACrD,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;oBACvD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAA,8BAAiB,EAAC,GAAG,CAAC;oBAC9D,sBAAsB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE;oBACvD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,GAAG,EAAE,IAAI,CAAC;oBAC9C,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mCAAsB,EAAC,GAAG,EAAE,IAAI,CAAC;oBACpD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,IAAI;oBACzE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACnC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;oBACnC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC3D,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;iBAClB,CAAA;gBAED,OAAO,IAAA,aAAK,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;oBAC7D,OAAO,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,iCAAiC;oBAC/E,IAAA,aAAK,EAAC,IAAA,iBAAQ,GAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,IAAA,iBAAQ,GAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvF,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,gBAAgB;gBAAE,OAAO,OAAO,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAA,4DAA2B,EAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;SAChN;QAED,iBAAiB;QACjB,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,oCAAoC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1I,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,oCAAoC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1I,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,6BAA6B,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;QACjI,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,6BAA6B,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjI,YAAY;QACZ,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;SACpI;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAChI;QAED,YAAY;QACZ,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC7E,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACvI;QAED,WAAW;QACX,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9D,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE7E,SAAS;QACT,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAEzF,qEAAqE;QACrE,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;YACxG,OAAO,OAAO,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAC1E,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;YACxG,OAAO,OAAO,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAC1E,IAAI,IAAA,aAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;YACpG,OAAO,OAAO,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;KACvE;IAED,OAAO,EAAE,CAAA;AACb,CAAC;AAjJD,0DAiJC"}