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 +61 -4
- package/CHANGELOG.md +8 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/src/loop-utils.js +2 -2
- package/dist/src/loop-utils.js.map +1 -1
- package/dist/src/object-utils.d.ts +4 -3
- package/dist/src/object-utils.js +11 -12
- package/dist/src/object-utils.js.map +1 -1
- package/dist/src/regexp-utils.d.ts +3 -1
- package/dist/src/regexp-utils.js +4 -3
- package/dist/src/regexp-utils.js.map +1 -1
- package/index.ts +5 -3
- package/package.json +1 -1
- package/src/loop-utils.ts +2 -2
- package/src/object-utils.ts +40 -38
- package/src/regexp-utils.ts +6 -5
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":
|
|
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
|
-
"
|
|
53
|
+
"no-underscore-dangle": 0,
|
|
54
|
+
"space-in-parens": [
|
|
49
55
|
"warn",
|
|
50
|
-
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/src/loop-utils.js
CHANGED
|
@@ -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":";;;AAIA,+CAA8C;AAC9C,2CAAsC;AAEtC,SAAgB,IAAI,CAAwB,YAAoB,EAAE,QAA4E;IAC1I,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD;IACD,OAAO,OAAO,CAAA;AAClB,CAAC;AAPD,oBAOC;AAEM,KAAK,UAAU,SAAS,CAAwB,YAAoB,EAAE,QAAuB;IAChG,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;KAClC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC;AAND,8BAMC;AAMD;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,wBAAwB,CAAC,IAA2B,EAAE,QAA2B,EAAE,SAA0B,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,iBAAkC,EAAE,EAAE,MAAO,EAAE,qCAA4C,EAAE;IAC5O,IAAA,4BAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE5B,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QAExF,IAAI,MAAM,KAAK,KAAK,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAC9H,CAAC,CAAA;aACL;iBAAM,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,kCAAkC,CAAC,
|
|
1
|
+
{"version":3,"file":"loop-utils.js","sourceRoot":"","sources":["../../src/loop-utils.ts"],"names":[],"mappings":";;;AAIA,+CAA8C;AAC9C,2CAAsC;AAEtC,SAAgB,IAAI,CAAwB,YAAoB,EAAE,QAA4E;IAC1I,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD;IACD,OAAO,OAAO,CAAA;AAClB,CAAC;AAPD,oBAOC;AAEM,KAAK,UAAU,SAAS,CAAwB,YAAoB,EAAE,QAAuB;IAChG,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;KAClC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC;AAND,8BAMC;AAMD;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,wBAAwB,CAAC,IAA2B,EAAE,QAA2B,EAAE,SAA0B,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,iBAAkC,EAAE,EAAE,MAAO,EAAE,qCAA4C,EAAE;IAC5O,IAAA,4BAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE5B,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QAExF,IAAI,MAAM,KAAK,KAAK,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAC9H,CAAC,CAAA;aACL;iBAAM,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,kCAAkC,CAAC,CACvK,CAAC,CAAA;aACL;SACJ;KACJ;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AArBD,4DAqBC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,4BAA4B,CAAC,IAA2B,EAAE,QAA2B,EAAE,SAA0B,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,iBAAkC,EAAE,EAAE,MAAO,EAAE,qCAA4C,EAAE;IAC1O,IAAA,4BAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE5B,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QAElF,IAAI,MAAM,KAAK,KAAK,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,sBAAsB;gBAC3H,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC,CAAA;aAChJ;iBAAM,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,MAAK,IAAI;oBAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC,CAAA;aACzM;SACJ;KACJ;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAjBD,oEAiBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ObjectGeneric } from
|
|
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?:
|
|
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 {};
|
package/dist/src/object-utils.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -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
|
package/dist/src/regexp-utils.js
CHANGED
|
@@ -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
|
|
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
|
|
40
|
-
export const orIsset = issetOr
|
|
40
|
+
export const required = validator
|
|
41
|
+
export const orIsset = issetOr
|
|
42
|
+
export const parseRegexp = escapeRegexp
|
package/package.json
CHANGED
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
|
}
|
package/src/object-utils.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
//----------------------------------------
|
|
2
2
|
// OBJECT UTILS
|
|
3
3
|
//----------------------------------------
|
|
4
|
-
import { ObjectGeneric } from
|
|
5
|
-
import { err500IfNotSet } from
|
|
6
|
-
import { recursiveGenericFunctionSync } from
|
|
7
|
-
import { isset } from
|
|
8
|
-
import { isObject } from
|
|
9
|
-
import { DescriptiveError } from
|
|
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
|
-
|
|
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
|
|
69
|
-
|
|
70
|
-
|
|
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('^' +
|
|
74
|
-
.replace(/\.?\[(\d+)\]/g, '.$1') // replace .[4] AND [4] TO .4
|
|
75
|
-
|
|
76
|
-
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
370
|
+
const l = cur.length
|
|
369
371
|
let i = 0
|
|
370
372
|
if (withoutArraySyntax) recurse(cur[0], prop)
|
|
371
373
|
else {
|
package/src/regexp-utils.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
//----------------------------------------
|
|
2
2
|
// REGEXP UTILS
|
|
3
3
|
//----------------------------------------
|
|
4
|
-
import { C } from
|
|
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
|
|