topkat-utils 1.2.43 → 1.2.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc CHANGED
@@ -16,9 +16,14 @@
16
16
  "allowImportExportEverywhere": true
17
17
  },
18
18
  "rules": {
19
+ "indent": "off",
20
+ "@typescript-eslint/indent": [
21
+ "warn",
22
+ 4
23
+ ],
19
24
  "no-inner-declarations": "off",
20
25
  "no-console": "warn",
21
- "no-unused-vars": "warn",
26
+ "no-unused-vars": 0,
22
27
  "no-global-assign": "warn",
23
28
  "require-atomic-updates": "off",
24
29
  "no-prototype-builtins": "off",
@@ -45,14 +50,66 @@
45
50
  "allowSingleLine": true
46
51
  }
47
52
  ],
48
- "@typescript-eslint/indent": [
53
+ "no-underscore-dangle": 0,
54
+ "space-in-parens": [
49
55
  "warn",
50
- 4
56
+ "never"
57
+ ],
58
+ "object-curly-spacing": [
59
+ "warn",
60
+ "always"
61
+ ],
62
+ "array-bracket-spacing": [
63
+ "warn",
64
+ "never"
65
+ ],
66
+ "comma-spacing": [
67
+ "error",
68
+ {
69
+ "before": false,
70
+ "after": true
71
+ }
72
+ ],
73
+ "keyword-spacing": 1,
74
+ "key-spacing": [
75
+ "warn",
76
+ {
77
+ "beforeColon": false,
78
+ "afterColon": true
79
+ }
51
80
  ],
81
+ "arrow-body-style": 0,
82
+ "no-multi-spaces": 1,
83
+ "comma-dangle": 0,
84
+ "no-else-return": 0,
85
+ "no-shadow": 0,
86
+ "class-methods-use-this": 0,
87
+ "no-use-before-define": 0,
88
+ "global-require": 0,
89
+ "max-len": 0,
90
+ "object-curly-newline": 0,
91
+ "operator-linebreak": 0,
92
+ "no-nested-ternary": 0,
93
+ // "no-undef": 2,
94
+ "no-param-reassign": 0,
95
+ "no-throw-literal": 0,
96
+ "no-useless-catch": 0,
97
+ "no-implicit-globals": 2,
98
+ "no-loop-func": 0,
99
+ "no-plusplus": 0,
100
+ "arrow-parens": 0,
101
+ "consistent-return": 0,
102
+ "camelcase": 0,
103
+ "import/no-cycle": 0,
104
+ "prefer-const": 1,
105
+ "no-trailing-spaces": 1,
106
+ "import/prefer-default-export": 0,
107
+ "no-case-declarations": 0,
52
108
  "@typescript-eslint/no-explicit-any": 0,
53
109
  "@typescript-eslint/no-unused-vars": 1,
54
110
  "@typescript-eslint/no-empty-function": 1,
55
111
  "@typescript-eslint/triple-slash-reference": 0,
56
- "@typescript-eslint/ban-types": 0
112
+ "@typescript-eslint/ban-types": 0,
113
+ "space-infix-ops": 1
57
114
  }
58
115
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### v1.2.45
2
+ * Add parent and lastElement key to informations returned by findByAddressAll
3
+
4
+ ### v1.2.44
5
+ * FIX recursiveGenericFunction and findByAddressAll
6
+ * ADD new option in escapeRegexp
7
+ * alias parseRegexp => escapeRegexp
8
+
1
9
  ### v1.2.43
2
10
  * FIX recursiveGenericFunctionSync returning bad address (starting with a point)
3
11
 
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ import { kebabCase, snakeCase } from './src/string-utils';
24
24
  import { shuffleArray, noDuplicateFilter } from './src/array-utils';
25
25
  import { issetOr, validator } from './src/validation-utils';
26
26
  import { objFilterUndefinedRecursive } from './src/object-utils';
27
+ import { escapeRegexp } from './src/regexp-utils';
27
28
  export declare const int: (n: string | number) => number;
28
29
  export declare const average: typeof moyenne;
29
30
  export declare const arrayUniqueValue: typeof noDuplicateFilter;
@@ -34,3 +35,4 @@ export declare const dashCase: typeof kebabCase;
34
35
  export declare const underscoreCase: typeof snakeCase;
35
36
  export declare const required: typeof validator;
36
37
  export declare const orIsset: typeof issetOr;
38
+ export declare const parseRegexp: typeof escapeRegexp;
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.orIsset = exports.required = exports.underscoreCase = exports.dashCase = exports.randomizeArray = exports.removeUndefinedKeys = exports.JSONstringyParse = exports.arrayUniqueValue = exports.average = exports.int = exports.registerConfig = void 0;
17
+ exports.parseRegexp = exports.orIsset = exports.required = exports.underscoreCase = exports.dashCase = exports.randomizeArray = exports.removeUndefinedKeys = exports.JSONstringyParse = exports.arrayUniqueValue = exports.average = exports.int = exports.registerConfig = void 0;
18
18
  __exportStar(require("./src/array-utils"), exports);
19
19
  __exportStar(require("./src/date-utils"), exports);
20
20
  __exportStar(require("./src/env-utils"), exports);
@@ -43,7 +43,8 @@ const array_utils_1 = require("./src/array-utils");
43
43
  const validation_utils_1 = require("./src/validation-utils");
44
44
  const object_utils_1 = require("./src/object-utils");
45
45
  const remove_circular_json_stringify_1 = require("./src/remove-circular-json-stringify");
46
- // ALIASES
46
+ const regexp_utils_1 = require("./src/regexp-utils");
47
+ // ALIASES mainly used for readability
47
48
  const int = (n) => typeof n === 'number' ? n : parseInt(n);
48
49
  exports.int = int;
49
50
  exports.average = math_utils_1.moyenne;
@@ -54,6 +55,7 @@ exports.removeUndefinedKeys = object_utils_1.objFilterUndefinedRecursive;
54
55
  exports.randomizeArray = array_utils_1.shuffleArray;
55
56
  exports.dashCase = string_utils_1.kebabCase;
56
57
  exports.underscoreCase = string_utils_1.snakeCase;
57
- exports.required = validation_utils_1.validator; // alias for readability
58
+ exports.required = validation_utils_1.validator;
58
59
  exports.orIsset = validation_utils_1.issetOr;
60
+ exports.parseRegexp = regexp_utils_1.escapeRegexp;
59
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,mDAAgC;AAChC,kDAA+B;AAC/B,oDAAiC;AACjC,8CAA2B;AAC3B,qDAAkC;AAClC,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC;AACjC,qDAAkC;AAClC,qDAAkC;AAClC,kDAA+B;AAC/B,yDAAsC;AACtC,0DAAuC;AACvC,oDAAiC;AACjC,iDAA8B;AAC9B,uEAAoD;AACpD,kDAA+B;AAC/B,qDAAkC;AAClC,0DAAuC;AACvC,uCAA6C;AAApC,wGAAA,cAAc,OAAA;AAEvB,iDAA0C;AAC1C,qDAAyD;AACzD,mDAAmE;AACnE,6DAA2D;AAC3D,qDAAgE;AAChE,yFAAkF;AAElF,UAAU;AACH,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAArE,QAAA,GAAG,OAAkE;AACrE,QAAA,OAAO,GAAG,oBAAO,CAAA;AACjB,QAAA,gBAAgB,GAAG,+BAAiB,CAAA;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,4DAA2B,EAAC,CAAC,CAAC,CAAC,CAAA;AAAlE,QAAA,gBAAgB,oBAAkD;AAClE,QAAA,mBAAmB,GAAG,0CAA2B,CAAA;AACjD,QAAA,cAAc,GAAG,0BAAY,CAAA;AAC7B,QAAA,QAAQ,GAAG,wBAAS,CAAA;AACpB,QAAA,cAAc,GAAG,wBAAS,CAAA;AAC1B,QAAA,QAAQ,GAAG,4BAAS,CAAA,CAAC,wBAAwB;AAC7C,QAAA,OAAO,GAAG,0BAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,mDAAgC;AAChC,kDAA+B;AAC/B,oDAAiC;AACjC,8CAA2B;AAC3B,qDAAkC;AAClC,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC;AACjC,qDAAkC;AAClC,qDAAkC;AAClC,kDAA+B;AAC/B,yDAAsC;AACtC,0DAAuC;AACvC,oDAAiC;AACjC,iDAA8B;AAC9B,uEAAoD;AACpD,kDAA+B;AAC/B,qDAAkC;AAClC,0DAAuC;AACvC,uCAA6C;AAApC,wGAAA,cAAc,OAAA;AAEvB,iDAA0C;AAC1C,qDAAyD;AACzD,mDAAmE;AACnE,6DAA2D;AAC3D,qDAAgE;AAChE,yFAAkF;AAClF,qDAAiD;AAEjD,sCAAsC;AAC/B,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAArE,QAAA,GAAG,OAAkE;AACrE,QAAA,OAAO,GAAG,oBAAO,CAAA;AACjB,QAAA,gBAAgB,GAAG,+BAAiB,CAAA;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,4DAA2B,EAAC,CAAC,CAAC,CAAC,CAAA;AAAlE,QAAA,gBAAgB,oBAAkD;AAClE,QAAA,mBAAmB,GAAG,0CAA2B,CAAA;AACjD,QAAA,cAAc,GAAG,0BAAY,CAAA;AAC7B,QAAA,QAAQ,GAAG,wBAAS,CAAA;AACpB,QAAA,cAAc,GAAG,wBAAS,CAAA;AAC1B,QAAA,QAAQ,GAAG,4BAAS,CAAA;AACpB,QAAA,OAAO,GAAG,0BAAO,CAAA;AACjB,QAAA,WAAW,GAAG,2BAAY,CAAA"}
@@ -48,7 +48,7 @@ async function recursiveGenericFunction(item, callback, config = {}, addr$ = '',
48
48
  else if ((0, is_object_1.isObject)(item)) {
49
49
  if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
50
50
  techFieldToAvoidCircularDependency.push(item);
51
- await Promise.all(Object.entries(item).map(([key, val]) => recursiveGenericFunction(val, callback, config, addr$ ? addr$ + '.' : '' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)));
51
+ await Promise.all(Object.entries(item).map(([key, val]) => recursiveGenericFunction(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)));
52
52
  }
53
53
  }
54
54
  }
@@ -84,7 +84,7 @@ function recursiveGenericFunctionSync(item, callback, config = {}, addr$ = '', l
84
84
  else if ((0, is_object_1.isObject)(item)) {
85
85
  if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
86
86
  techFieldToAvoidCircularDependency.push(item);
87
- Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, addr$ ? addr$ + '.' : '' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency));
87
+ Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency));
88
88
  }
89
89
  }
90
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loop-utils.js","sourceRoot":"","sources":["../../src/loop-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-utils.js","sourceRoot":"","sources":["../../src/loop-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ObjectGeneric } from "./types";
1
+ import { ObjectGeneric } from './types';
2
2
  /**
3
3
  *
4
4
  * @param {Object} object main object
@@ -19,9 +19,9 @@ export declare function has(obj: ObjectGeneric, addr: string): boolean | undefin
19
19
  * @returns the last item of the chain OR undefined if not found
20
20
  */
21
21
  export declare function findByAddress(obj: ObjectGeneric, addr: string | string[]): any | undefined;
22
+ type FindByAddressReturnFull = Array<[addr: string, value: any, lastElmKey: string, parent: any[] | Record<string, any>]>;
22
23
  /** Will return all objects matching that path. Eg: user.*.myVar */
23
- export declare function findByAddressAll(obj: Record<string, any>, addr: string, returnAddresses?: true): Array<[addr: string, value: any]>;
24
- export declare function findByAddressAll(obj: Record<string, any>, addr: string, returnAddresses?: false): Array<any>;
24
+ export declare function findByAddressAll<ReturnAddresses extends boolean = false>(obj: Record<string, any>, addr: string, returnAddresses?: ReturnAddresses): ReturnAddresses extends true ? FindByAddressReturnFull : Array<any>;
25
25
  /** Enforce writing subItems. Eg: user.name.blah will ensure all are set until the writing of the last item
26
26
  * NOTE: doesn't work when parent is array
27
27
  */
@@ -100,3 +100,4 @@ export declare function flattenObject(data: any, config?: {
100
100
  }): Record<string, any>;
101
101
  /** {'a.b':2} => { a: {b:2}} */
102
102
  export declare function unflattenObject(data: Record<string, any>): Record<string, any>;
103
+ export {};
@@ -6,6 +6,7 @@ const loop_utils_1 = require("./loop-utils");
6
6
  const isset_1 = require("./isset");
7
7
  const is_object_1 = require("./is-object");
8
8
  const error_utils_2 = require("./error-utils");
9
+ const regexp_utils_1 = require("./regexp-utils");
9
10
  /**
10
11
  *
11
12
  * @param {Object} object main object
@@ -42,7 +43,7 @@ exports.simpleObjectMaskOrSelect = simpleObjectMaskOrSelect;
42
43
  function has(obj, addr) {
43
44
  if (!(0, isset_1.isset)(obj) || typeof obj !== 'object')
44
45
  return;
45
- let propsArr = addr.replace(/\.?\[(\d+)\]/g, '.$1').split('.'); // replace a[3] => a.3;
46
+ const propsArr = addr.replace(/\.?\[(\d+)\]/g, '.$1').split('.'); // replace a[3] => a.3;
46
47
  let objChain = obj;
47
48
  return propsArr.every(prop => {
48
49
  objChain = objChain[prop];
@@ -70,19 +71,17 @@ function findByAddress(obj, addr) {
70
71
  return objRef;
71
72
  }
72
73
  exports.findByAddress = findByAddress;
74
+ /** Will return all objects matching that path. Eg: user.*.myVar */
73
75
  function findByAddressAll(obj, addr, returnAddresses = false) {
74
76
  (0, error_utils_1.err500IfNotSet)({ obj, addr });
75
77
  if (addr === '')
76
- return obj;
77
- const addrRegexp = new RegExp('^' + addr
78
- .replace(/\.?\[(\d+)\]/g, '.$1') // replace .[4] AND [4] TO .4
79
- .replace(/\./g, '\\.') //
80
- .replace(/\.\*/g, '.[^.]+') // replace * by [^. (all but a point)]
81
- + '$');
78
+ return returnAddresses ? [addr, obj, undefined, undefined] : obj;
79
+ const addrRegexp = new RegExp('^' + (0, regexp_utils_1.escapeRegexp)(addr.replace(/\.?\[(\d+)\]/g, '.$1'), // replace .[4] AND [4] TO .4
80
+ { parseStarChar: true, wildcardNotMatchingChars: '.[' }) + '$');
82
81
  const matchingItems = [];
83
- (0, loop_utils_1.recursiveGenericFunctionSync)(obj, (item, address) => {
82
+ (0, loop_utils_1.recursiveGenericFunctionSync)(obj, (item, address, lastElmKey, parent) => {
84
83
  if (addrRegexp.test(address))
85
- matchingItems.push(returnAddresses ? [address, item] : item);
84
+ matchingItems.push(returnAddresses ? [address, item, lastElmKey, parent] : item);
86
85
  });
87
86
  return matchingItems;
88
87
  }
@@ -160,7 +159,7 @@ function deepClone(obj, cache = []) {
160
159
  return [];
161
160
  newCache.push(obj);
162
161
  copy = [];
163
- for (var i = 0, len = obj.length; i < len; i++) {
162
+ for (let i = 0, len = obj.length; i < len; i++) {
164
163
  copy[i] = deepClone(obj[i], newCache);
165
164
  }
166
165
  return copy;
@@ -170,7 +169,7 @@ function deepClone(obj, cache = []) {
170
169
  return {};
171
170
  newCache.push(obj);
172
171
  copy = {};
173
- for (var key in obj) {
172
+ for (const key in obj) {
174
173
  if (Object.prototype.hasOwnProperty.call(obj, key)) {
175
174
  copy[key] = deepClone(obj[key], newCache);
176
175
  }
@@ -344,7 +343,7 @@ function flattenObject(data, config = {}) {
344
343
  const seenObjects = []; // avoidCircular reference to infinite loop
345
344
  const recurse = (cur, prop) => {
346
345
  if (Array.isArray(cur)) {
347
- let l = cur.length;
346
+ const l = cur.length;
348
347
  let i = 0;
349
348
  if (withoutArraySyntax)
350
349
  recurse(cur[0], prop);
@@ -1 +1 @@
1
- {"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":";;;AAIA,+CAA8C;AAC9C,6CAA2D;AAC3D,mCAA+B;AAC/B,2CAAsC;AACtC,+CAAgD;AAChD,iDAA6C;AAE7C;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,MAAqB,EAAE,sBAAgC,EAAE,MAAM,GAAG,IAAI,EAAE,sCAAsC,GAAG,KAAK;IAC3J,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACxC,IAAI,MAAM;YAAE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;;YACtD,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IACF,IAAI,sCAAsC,EAAE;QACxC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;QACrE,OAAO,MAAM,CAAA;KAChB;SAAM;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3D,OAAO,SAAS,CAAA;QACpB,CAAC,EAAE,EAAE,CAAC,CAAA;KACT;AACL,CAAC;AAfD,4DAeC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,GAAkB,EAAE,IAAY;IAChD,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAM;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,uBAAuB;IACxF,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACzB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QACzB,OAAO,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACN,CAAC;AARD,kBAQC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,GAAkB,EAAE,IAAuB;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACjC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC7I,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,6BAA6B;IAC3H,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,OAAM;;YACjF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,EAAE,GAAG,CAAC,CAAA;IACP,OAAO,MAAM,CAAA;AACjB,CAAC;AATD,sCASC;AAGD,mEAAmE;AACnE,SAAgB,gBAAgB,CAC5B,GAAwB,EACxB,IAAY,EACZ,kBAAmC,KAAwB;IAE3D,IAAA,4BAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAQ,CAAC,CAAC,CAAC,GAAG,CAAA;IACxF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAA,2BAAY,EAC5C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,6BAA6B;IACnE,EAAE,aAAa,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CACjE,CAAA;IAED,MAAM,aAAa,GAAU,EAAE,CAAA;IAE/B,IAAA,yCAA4B,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QACpE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClH,CAAC,CAAC,CAAA;IACF,OAAO,aAAa,CAAA;AACxB,CAAC;AAlBD,4CAkBC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAsC,GAAY,EAAE,IAAY,EAAE,IAAI,EAAE,UAA8C,EAAE;IACjJ,MAAM,EAAE,oBAAoB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,eAAe,GAAG,CAAC,oBAAoB,CAAA;IAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/D,IAAI,QAAQ,GAAQ,GAAG,CAAA;IACvB,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,eAAe;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;SAC9C;aAAM,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/B,IAAI,IAAA,aAAK,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;;gBAClE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SAC5B;aAAM,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;YAC5C,MAAM,IAAI,8BAAgB,CAAC,qDAAqD,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;SACtP;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC;AApBD,sCAoBC;AAED,SAAgB,iBAAiB,CAAsC,GAAY,EAAE,IAAY;IAC7F,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9E,CAAC;AAFD,8CAEC;AAEY,QAAA,iBAAiB,GAAG,iBAAiB,CAAA;AAElD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAsC,GAAY,EAAE,IAAY,EAAE,IAAI;IACvG,IAAI,CAAC,IAAA,aAAK,EAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;;QACtE,OAAO,GAAG,CAAA;AACnB,CAAC;AAHD,sDAGC;AAED,kGAAkG;AAClG,SAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,MAAM;IACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;SAC/B;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAND,kCAMC;AAED,SAAgB,WAAW,CAAsC,CAAU;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAFD,kCAEC;AAED,kDAAkD;AAClD,SAAgB,SAAS,CAAsC,GAAY,EAAE,KAAK,GAAG,EAAE;IAEnF,IAAI,IAAiB,CAAA;IACrB,wDAAwD;IACxD,+EAA+E;IAC/E,MAAM,QAAQ,GAAU,CAAC,GAAG,KAAK,CAAC,CAAA;IAClC,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAQ,CAAA;IAEpD,eAAe;IACf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAS,CAAA;QAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAe,CAAC,CAAA;SAC/C;QACD,OAAO,IAAI,CAAA;KACd;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE;QAC5F,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAS,CAAA;QAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAe,CAAC,CAAA;aACnD;SACJ;QACD,OAAO,IAAI,CAAA;KACd;IAED,OAAO,GAAG,CAAA,CAAC,oBAAoB;AACnC,CAAC;AAhCD,8BAgCC;AAGD;;;GAGG;AACH,SAAgB,UAAU,CAAsC,GAAY,EAAE,MAAM;IAChF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAA,yCAA4B,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;QAC7D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AAChB,CAAC;AAND,gCAMC;AACD;;;GAGG;AACH,SAAgB,eAAe,CAAC,GAAW,EAAE,IAAuB;IAChE,IAAI,OAAO,GAAG,GAAG,CAAA;IACjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,WAAW,CAAC,CAAA;;YACpD,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;KACtC;AACL,CAAC;AARD,0CAQC;AAID,wDAAwD;AACxD,SAAgB,kBAAkB,CAAsC,CAAU;IAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,CAAA;AACZ,CAAC;AAHD,gDAGC;AAED,yDAAyD;AACzD,SAAgB,QAAQ,CAAsC,CAAU;IACpE,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,8BAAgB,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IAC9G,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE;QAChB,GAAG,EAAE,QAAQ;QACb,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;KAC3B,CAAC,CAAA;AACN,CAAC;AAPD,4BAOC;AAED,+DAA+D;AAC/D,SAAgB,iBAAiB,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE;QAChB,cAAc,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE,KAAK;YACtC,IAAI,GAAG,IAAI,IAAI;gBAAE,MAAM,IAAI,8BAAgB,CAAC,gCAAgC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;iBACtH;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACjB,OAAO,IAAI,CAAA;aACd;QACL,CAAC;QACD,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG;YAC5B,MAAM,IAAI,8BAAgB,CAAC,8BAA8B,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5G,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AAbD,8CAaC;AAED,kEAAkE;AAClE,SAAgB,cAAc,CAAC,MAAM;IACjC,IAAA,yCAA4B,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;QACrE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACjB,CAAC;AALD,wCAKC;AAED,SAAgB,2BAA2B,CAAC,GAAG;IAC3C,IAAI,GAAG,EAAE;QACL,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,IAAA,aAAK,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;aAC3B;QACL,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAC,YAAY,CAAC,CAAA;KACvC;;QAAM,OAAO,GAAG,CAAA;AACrB,CAAC;AAVD,kEAUC;AAED,SAAgB,0BAA0B,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI;IACrE,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACpB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAC5D,OAAO,UAAU,CAAA;AACrB,CAAC;AAPD,gEAOC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAA2D,GAAY,EAAE,IAAU,EAAE,YAAY,EAAE,QAAyB;IACxJ,IAAA,4BAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrD,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAC/C,IAAI,QAAQ;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACjC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AALD,4CAKC;AAGD;;;iDAGiD;AACjD,SAAgB,SAAS,CAOvB,GAAG,OAAsC;IACvC,OAAO,qBAAqB,CACxB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC5G,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAC/D,SAAS,EACT,GAAG,OAAO,CACb,CAAA;AACL,CAAC;AAdD,8BAcC;AAED;;;kDAGkD;AAClD,SAAgB,uBAAuB,CAOrC,GAAG,OAAsC;IACvC,OAAO,qBAAqB,CACxB,SAAS,EACT,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC7E,SAAS,EACT,GAAG,OAAO,CACb,CAAA;AACL,CAAC;AAdD,0DAcC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAQjC,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAC5D,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EACtC,GAAG,OAAsC;IAEzC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;QAC1C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACvC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;gBAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACzD,cAAc,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;iBACnE;qBAAM,IAAI,IAAA,oBAAQ,EAAC,WAAW,CAAC,IAAI,IAAA,oBAAQ,EAAC,UAAU,CAAC,EAAE;oBACtD,cAAc,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;iBACpE;qBAAM;oBACH,cAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;iBACjE;YACL,CAAC,CAAC,CAAA;QAEF,OAAO,cAAc,CAAA;IACzB,CAAC,EAAE,EAAE,CAAQ,CAAA;AACjB,CAAC;AA5BD,sDA4BC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAI,EAAE,SAA8E,EAAE;IAChH,MAAM,EAAE,kBAAkB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9E,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,WAAW,GAAU,EAAE,CAAA,CAAC,2CAA2C;IACzE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;YACpB,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,kBAAkB;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;iBACxC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzF,IAAI,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;aAChC;SACJ;aAAM,IAAI,IAAA,oBAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,YAAY;YACpC,IAAI;gBACA,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA,CAAC,iDAAiD;;oBAChG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;gBAE7C,KAAK,MAAM,CAAC,IAAI,GAAG;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,oDAAoD;gBAE3I,IAAI,OAAO,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;aACzC;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;aAC3E;SACJ;;YAAM,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAC7B,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACjB,OAAO,MAAM,CAAA;AACjB,CAAC;AA9BD,sCA8BC;AAED,+BAA+B;AAC/B,SAAgB,eAAe,CAAC,IAAyB;IACrD,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAClF,OAAO,IAAI,CAAA;AACf,CAAC;AAJD,0CAIC"}
@@ -1,8 +1,10 @@
1
1
  /** ESCAPE REGEXP
2
- * * parseStarChar config will replace '*' by '.*?' which is the best for 'match all until'
2
+ * * parseStarChar => config will replace '*' by '.*?' which is the best for 'match all until'
3
+ * * wildcardNotMatchingChars => list of characters not to match, eg: '.[' will match all except '.' and '[' /!\ will be outputted as a regexp [^.[] so don't forget to ESCAPE characters like ']' => '\]'
3
4
  */
4
5
  export declare function escapeRegexp(str: string, config?: {
5
6
  parseStarChar?: boolean;
7
+ wildcardNotMatchingChars?: string;
6
8
  }): string;
7
9
  /** Get first match of the first capturing group of regexp
8
10
  * Eg: const basePath = firstMatch(apiFile, /basePath = '(.*?)'/); will get what is inside quotes
@@ -6,12 +6,13 @@ exports.allMatches = exports.firstMatch = exports.escapeRegexp = void 0;
6
6
  //----------------------------------------
7
7
  const logger_utils_1 = require("./logger-utils");
8
8
  /** ESCAPE REGEXP
9
- * * parseStarChar config will replace '*' by '.*?' which is the best for 'match all until'
9
+ * * parseStarChar => config will replace '*' by '.*?' which is the best for 'match all until'
10
+ * * wildcardNotMatchingChars => list of characters not to match, eg: '.[' will match all except '.' and '[' /!\ will be outputted as a regexp [^.[] so don't forget to ESCAPE characters like ']' => '\]'
10
11
  */
11
12
  function escapeRegexp(str, config = {}) {
12
- const { parseStarChar = false } = config;
13
+ const { parseStarChar = false, wildcardNotMatchingChars } = config;
13
14
  if (parseStarChar)
14
- return str.replace(/[-[\]{}()+?.,\\^$|#\s]/g, '\\$&').replace(/\*/g, '.*?');
15
+ return str.replace(/[-[\]{}()+?.,\\^$|#\s]/g, '\\$&').replace(/\*/g, wildcardNotMatchingChars ? `[^${wildcardNotMatchingChars}]` : '.*?');
15
16
  else
16
17
  return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"regexp-utils.js","sourceRoot":"","sources":["../../src/regexp-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,eAAe;AACf,0CAA0C;AAC1C,iDAAkC;AAElC;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,SAAsC,EAAE;IAC9E,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACxC,IAAI,aAAa;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;;QACzF,OAAO,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAC/D,CAAC;AAJD,oCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,MAAc,IAAwB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;AAAnH,gCAAmH;AAEnH;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,GAAW;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,OAAO,CAAA;IACX,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,gBAAC,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;SAC3F;QACD,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1B,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACV,gBAAC,CAAC,KAAK,CAAC,OAAO,EAAE,oDAAoD,CAAC,CAAA;gBACtE,MAAK;aACR;SACJ;KACJ;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAhBD,gCAgBC"}
1
+ {"version":3,"file":"regexp-utils.js","sourceRoot":"","sources":["../../src/regexp-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,eAAe;AACf,0CAA0C;AAC1C,iDAAkC;AAElC;;;GAGG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,SAAyE,EAAE;IACjH,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAA;IAClE,IAAI,aAAa;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,wBAAwB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;;QACvJ,OAAO,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAC/D,CAAC;AAJD,oCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,MAAc,IAAwB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;AAAnH,gCAAmH;AAEnH;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,GAAW;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,OAAO,CAAA;IACX,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,gBAAC,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;SAC3F;QACD,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1B,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACV,gBAAC,CAAC,KAAK,CAAC,OAAO,EAAE,oDAAoD,CAAC,CAAA;gBACtE,MAAK;aACR;SACJ;KACJ;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAhBD,gCAgBC"}
package/index.ts CHANGED
@@ -26,8 +26,9 @@ import { shuffleArray, noDuplicateFilter } from './src/array-utils'
26
26
  import { issetOr, validator } from './src/validation-utils'
27
27
  import { objFilterUndefinedRecursive } from './src/object-utils'
28
28
  import { removeCircularJSONstringify } from './src/remove-circular-json-stringify'
29
+ import { escapeRegexp } from './src/regexp-utils'
29
30
 
30
- // ALIASES
31
+ // ALIASES mainly used for readability
31
32
  export const int = (n: string | number) => typeof n === 'number' ? n : parseInt(n)
32
33
  export const average = moyenne
33
34
  export const arrayUniqueValue = noDuplicateFilter
@@ -36,5 +37,6 @@ export const removeUndefinedKeys = objFilterUndefinedRecursive
36
37
  export const randomizeArray = shuffleArray
37
38
  export const dashCase = kebabCase
38
39
  export const underscoreCase = snakeCase
39
- export const required = validator // alias for readability
40
- export const orIsset = issetOr
40
+ export const required = validator
41
+ export const orIsset = issetOr
42
+ export const parseRegexp = escapeRegexp
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.43",
3
+ "version": "1.2.45",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "main": "dist",
package/src/loop-utils.ts CHANGED
@@ -56,7 +56,7 @@ export async function recursiveGenericFunction(item: ObjectGeneric | any[], call
56
56
  } else if (isObject(item)) {
57
57
  if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
58
58
  await Promise.all(Object.entries(item).map(
59
- ([key, val]) => recursiveGenericFunction(val, callback, config, addr$ ? addr$ + '.' : '' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)
59
+ ([key, val]) => recursiveGenericFunction(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)
60
60
  ))
61
61
  }
62
62
  }
@@ -92,7 +92,7 @@ export function recursiveGenericFunctionSync(item: ObjectGeneric | any[], callba
92
92
  item.forEach((e, i) => recursiveGenericFunctionSync(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency))
93
93
  } else if (isObject(item)) {
94
94
  if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
95
- Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, addr$ ? addr$ + '.' : '' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency))
95
+ Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency))
96
96
  }
97
97
  }
98
98
  }
@@ -1,15 +1,16 @@
1
1
  //----------------------------------------
2
2
  // OBJECT UTILS
3
3
  //----------------------------------------
4
- import { ObjectGeneric } from "./types"
5
- import { err500IfNotSet } from "./error-utils"
6
- import { recursiveGenericFunctionSync } from "./loop-utils"
7
- import { isset } from "./isset"
8
- import { isObject } from "./is-object"
9
- import { DescriptiveError } from "./error-utils"
4
+ import { ObjectGeneric } from './types'
5
+ import { err500IfNotSet } from './error-utils'
6
+ import { recursiveGenericFunctionSync } from './loop-utils'
7
+ import { isset } from './isset'
8
+ import { isObject } from './is-object'
9
+ import { DescriptiveError } from './error-utils'
10
+ import { escapeRegexp } from './regexp-utils'
10
11
 
11
12
  /**
12
- *
13
+ *
13
14
  * @param {Object} object main object
14
15
  * @param {String[]} maskedOrSelectedFields array of fields
15
16
  * @param {Boolean} isMask default: true; determine the behavior of the function. If is mask, selected fields will not appear in the resulting object. If it's a select, only selected fields will appear.
@@ -39,7 +40,7 @@ export function simpleObjectMaskOrSelect(object: ObjectGeneric, maskedOrSelected
39
40
  */
40
41
  export function has(obj: ObjectGeneric, addr: string) {
41
42
  if (!isset(obj) || typeof obj !== 'object') return
42
- let propsArr = addr.replace(/\.?\[(\d+)\]/g, '.$1').split('.') // replace a[3] => a.3;
43
+ const propsArr = addr.replace(/\.?\[(\d+)\]/g, '.$1').split('.') // replace a[3] => a.3;
43
44
  let objChain = obj
44
45
  return propsArr.every(prop => {
45
46
  objChain = objChain[prop]
@@ -63,23 +64,24 @@ export function findByAddress(obj: ObjectGeneric, addr: string | string[]): any
63
64
  return objRef
64
65
  }
65
66
 
66
-
67
+ type FindByAddressReturnFull = Array<[addr: string, value: any, lastElmKey: string, parent: any[] | Record<string, any>]>
67
68
  /** Will return all objects matching that path. Eg: user.*.myVar */
68
- export function findByAddressAll(obj: Record<string, any>, addr: string, returnAddresses?: true): Array<[addr: string, value: any]>
69
- export function findByAddressAll(obj: Record<string, any>, addr: string, returnAddresses?: false): Array<any>
70
- export function findByAddressAll(obj, addr, returnAddresses = false) {
69
+ export function findByAddressAll<ReturnAddresses extends boolean = false>(
70
+ obj: Record<string, any>,
71
+ addr: string,
72
+ returnAddresses: ReturnAddresses = false as ReturnAddresses
73
+ ): ReturnAddresses extends true ? FindByAddressReturnFull : Array<any> {
71
74
  err500IfNotSet({ obj, addr })
72
- if (addr === '') return obj
73
- const addrRegexp = new RegExp('^' + addr
74
- .replace(/\.?\[(\d+)\]/g, '.$1') // replace .[4] AND [4] TO .4
75
- .replace(/\./g, '\\.') //
76
- .replace(/\.\*/g, '.[^.]+') // replace * by [^. (all but a point)]
77
- + '$')
75
+ if (addr === '') return returnAddresses ? [addr, obj, undefined, undefined] as any : obj
76
+ const addrRegexp = new RegExp('^' + escapeRegexp(
77
+ addr.replace(/\.?\[(\d+)\]/g, '.$1'), // replace .[4] AND [4] TO .4
78
+ { parseStarChar: true, wildcardNotMatchingChars: '.[' }) + '$'
79
+ )
78
80
 
79
81
  const matchingItems: any[] = []
80
82
 
81
- recursiveGenericFunctionSync(obj, (item, address) => {
82
- if (addrRegexp.test(address)) matchingItems.push(returnAddresses ? [address, item] : item)
83
+ recursiveGenericFunctionSync(obj, (item, address, lastElmKey, parent) => {
84
+ if (addrRegexp.test(address)) matchingItems.push(returnAddresses ? [address, item, lastElmKey, parent] : item)
83
85
  })
84
86
  return matchingItems
85
87
  }
@@ -152,7 +154,7 @@ export function deepClone<MainObj extends Record<string, any>>(obj: MainObj, cac
152
154
  if (newCache.includes(obj)) return [] as any
153
155
  newCache.push(obj)
154
156
  copy = []
155
- for (var i = 0, len = obj.length; i < len; i++) {
157
+ for (let i = 0, len = obj.length; i < len; i++) {
156
158
  copy[i] = deepClone(obj[i], newCache as any)
157
159
  }
158
160
  return copy
@@ -162,7 +164,7 @@ export function deepClone<MainObj extends Record<string, any>>(obj: MainObj, cac
162
164
  if (newCache.includes(obj)) return {} as any
163
165
  newCache.push(obj)
164
166
  copy = {}
165
- for (var key in obj) {
167
+ for (const key in obj) {
166
168
  if (Object.prototype.hasOwnProperty.call(obj, key)) {
167
169
  copy[key] = deepClone(obj[key], newCache as any)
168
170
  }
@@ -283,12 +285,12 @@ export function ensureObjectProp<MainObj extends Record<string, any>, Addr exten
283
285
  * @return {Object} new object result from merge
284
286
  * NOTE: objects in params will NOT be modified*/
285
287
  export function mergeDeep<
286
- O1 extends Record<string, any>,
287
- O2 extends Record<string, any> = Record<string, any>,
288
- O3 extends Record<string, any> = Record<string, any>,
289
- O4 extends Record<string, any> = Record<string, any>,
290
- O5 extends Record<string, any> = Record<string, any>,
291
- O6 extends Record<string, any> = Record<string, any>,
288
+ O1 extends Record<string, any>,
289
+ O2 extends Record<string, any> = Record<string, any>,
290
+ O3 extends Record<string, any> = Record<string, any>,
291
+ O4 extends Record<string, any> = Record<string, any>,
292
+ O5 extends Record<string, any> = Record<string, any>,
293
+ O6 extends Record<string, any> = Record<string, any>,
292
294
  >(...objects: [O1, O2?, O3?, O4?, O5?, O6?]) : O1 & O2 & O3 & O4 & O5 & O6 {
293
295
  return mergeDeepConfigurable(
294
296
  (previousVal, currentVal) => [...previousVal, ...currentVal].filter((elm, i, arr) => arr.indexOf(elm) === i),
@@ -303,12 +305,12 @@ O6 extends Record<string, any> = Record<string, any>,
303
305
  * @return {Object} new object result from merge
304
306
  * NOTE: objects in params will NOT be modified */
305
307
  export function mergeDeepOverrideArrays<
306
- O1 extends Record<string, any>,
307
- O2 extends Record<string, any> = Record<string, any>,
308
- O3 extends Record<string, any> = Record<string, any>,
309
- O4 extends Record<string, any> = Record<string, any>,
310
- O5 extends Record<string, any> = Record<string, any>,
311
- O6 extends Record<string, any> = Record<string, any>,
308
+ O1 extends Record<string, any>,
309
+ O2 extends Record<string, any> = Record<string, any>,
310
+ O3 extends Record<string, any> = Record<string, any>,
311
+ O4 extends Record<string, any> = Record<string, any>,
312
+ O5 extends Record<string, any> = Record<string, any>,
313
+ O6 extends Record<string, any> = Record<string, any>,
312
314
  >(...objects: [O1, O2?, O3?, O4?, O5?, O6?]) : O1 & O2 & O3 & O4 & O5 & O6 {
313
315
  return mergeDeepConfigurable(
314
316
  undefined,
@@ -334,12 +336,12 @@ export function mergeDeepConfigurable<
334
336
  O5 extends Record<string, any> = Record<string, any>,
335
337
  O6 extends Record<string, any> = Record<string, any>,
336
338
  >(
337
- replacerForArrays = (prev, curr) => curr, replacerForObjects,
338
- replacerDefault = (prev, curr) => curr,
339
+ replacerForArrays = (prev, curr) => curr, replacerForObjects,
340
+ replacerDefault = (prev, curr) => curr,
339
341
  ...objects: [O1, O2?, O3?, O4?, O5?, O6?]
340
342
  ): O1 & O2 & O3 & O4 & O5 & O6 {
341
343
  return objects.reduce((actuallyMerged, obj) => {
342
- if(obj && typeof obj === 'object') Object.keys(obj).forEach(key => {
344
+ if (obj && typeof obj === 'object') Object.keys(obj).forEach(key => {
343
345
  const previousVal = actuallyMerged[key]
344
346
  const currentVal = obj[key]
345
347
 
@@ -365,7 +367,7 @@ export function flattenObject(data, config: { withoutArraySyntax?: boolean, with
365
367
  const seenObjects: any[] = [] // avoidCircular reference to infinite loop
366
368
  const recurse = (cur, prop) => {
367
369
  if (Array.isArray(cur)) {
368
- let l = cur.length
370
+ const l = cur.length
369
371
  let i = 0
370
372
  if (withoutArraySyntax) recurse(cur[0], prop)
371
373
  else {
@@ -1,14 +1,15 @@
1
1
  //----------------------------------------
2
2
  // REGEXP UTILS
3
3
  //----------------------------------------
4
- import { C } from "./logger-utils"
4
+ import { C } from './logger-utils'
5
5
 
6
6
  /** ESCAPE REGEXP
7
- * * parseStarChar config will replace '*' by '.*?' which is the best for 'match all until'
7
+ * * parseStarChar => config will replace '*' by '.*?' which is the best for 'match all until'
8
+ * * wildcardNotMatchingChars => list of characters not to match, eg: '.[' will match all except '.' and '[' /!\ will be outputted as a regexp [^.[] so don't forget to ESCAPE characters like ']' => '\]'
8
9
  */
9
- export function escapeRegexp(str: string, config: { parseStarChar?: boolean } = {}): string {
10
- const { parseStarChar = false } = config
11
- if (parseStarChar) return str.replace(/[-[\]{}()+?.,\\^$|#\s]/g, '\\$&').replace(/\*/g, '.*?')
10
+ export function escapeRegexp(str: string, config: { parseStarChar?: boolean, wildcardNotMatchingChars?: string } = {}): string {
11
+ const { parseStarChar = false, wildcardNotMatchingChars } = config
12
+ if (parseStarChar) return str.replace(/[-[\]{}()+?.,\\^$|#\s]/g, '\\$&').replace(/\*/g, wildcardNotMatchingChars ? `[^${wildcardNotMatchingChars}]` : '.*?')
12
13
  else return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
13
14
  }
14
15