topkat-utils 1.2.102 → 1.2.104
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/coverage/clover.xml +43 -34
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/clean-stack-trace.ts.html +1 -1
- package/coverage/lcov-report/config.ts.html +1 -1
- package/coverage/lcov-report/error-utils.ts.html +3 -3
- package/coverage/lcov-report/index.html +17 -17
- package/coverage/lcov-report/is-empty.ts.html +1 -1
- package/coverage/lcov-report/is-nodejs.ts.html +1 -1
- package/coverage/lcov-report/is-object.ts.html +1 -1
- package/coverage/lcov-report/isset.ts.html +1 -1
- package/coverage/lcov-report/logger-utils.ts.html +1 -1
- package/coverage/lcov-report/loop-utils.ts.html +29 -8
- package/coverage/lcov-report/object-utils.ts.html +1 -1
- package/coverage/lcov-report/regexp-utils.ts.html +1 -1
- package/coverage/lcov-report/remove-circular-json-stringify.ts.html +1 -1
- package/coverage/lcov-report/string-utils.ts.html +1 -1
- package/coverage/lcov-report/timer-utils.ts.html +1 -1
- package/coverage/lcov-report/transaction-utils.ts.html +14 -8
- package/coverage/lcov.info +49 -40
- package/dist/src/error-utils.js +2 -2
- package/dist/src/error-utils.js.map +1 -1
- package/dist/src/loop-utils.d.ts +1 -0
- package/dist/src/loop-utils.js +5 -1
- package/dist/src/loop-utils.js.map +1 -1
- package/dist/src/transaction-utils.js +3 -1
- package/dist/src/transaction-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/error-utils.ts +2 -2
- package/src/loop-utils.ts +9 -2
- package/src/transaction-utils.ts +3 -1
package/dist/src/loop-utils.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare function forIasync<T extends any[] | any>(nbIterations: number, c
|
|
|
4
4
|
export type RecursiveCallback = (item: any, addr: string, lastElementKey: string | number, parent: ObjectGeneric | any[]) => false | any;
|
|
5
5
|
export type RecursiveConfig = {
|
|
6
6
|
disableCircularDependencyRemoval?: boolean;
|
|
7
|
+
isObjectTestFunction?: (item: any) => boolean;
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* @param {any} item the first array or object or whatever you want to recursively browse
|
package/dist/src/loop-utils.js
CHANGED
|
@@ -37,6 +37,8 @@ exports.forIasync = forIasync;
|
|
|
37
37
|
*/
|
|
38
38
|
async function recursiveGenericFunction(item, callback, config = {}, addr$ = '', lastElementKey = '', parent, techFieldToAvoidCircularDependency = []) {
|
|
39
39
|
(0, error_utils_1.err500IfNotSet)({ callback });
|
|
40
|
+
if (!config.isObjectTestFunction)
|
|
41
|
+
config.isObjectTestFunction = is_object_1.isObject;
|
|
40
42
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
41
43
|
const result = addr$ === '' ? true : await callback(item, addr$, lastElementKey, parent);
|
|
42
44
|
if (result !== false) {
|
|
@@ -45,7 +47,7 @@ async function recursiveGenericFunction(item, callback, config = {}, addr$ = '',
|
|
|
45
47
|
techFieldToAvoidCircularDependency.push(item);
|
|
46
48
|
await Promise.all(item.map((e, i) => recursiveGenericFunction(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)));
|
|
47
49
|
}
|
|
48
|
-
else if (
|
|
50
|
+
else if (config.isObjectTestFunction(item)) {
|
|
49
51
|
if (config?.disableCircularDependencyRemoval !== true)
|
|
50
52
|
techFieldToAvoidCircularDependency.push(item);
|
|
51
53
|
await Promise.all(Object.entries(item).map(([key, val]) => recursiveGenericFunction(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)));
|
|
@@ -73,6 +75,8 @@ exports.recursiveGenericFunction = recursiveGenericFunction;
|
|
|
73
75
|
*/
|
|
74
76
|
function recursiveGenericFunctionSync(item, callback, config = {}, addr$ = '', lastElementKey = '', parent, techFieldToAvoidCircularDependency = []) {
|
|
75
77
|
(0, error_utils_1.err500IfNotSet)({ callback });
|
|
78
|
+
if (!config.isObjectTestFunction)
|
|
79
|
+
config.isObjectTestFunction = is_object_1.isObject;
|
|
76
80
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
77
81
|
const result = addr$ === '' ? true : callback(item, addr$, lastElementKey, parent);
|
|
78
82
|
if (result !== false) {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"loop-utils.js","sourceRoot":"","sources":["../../src/loop-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,9 @@ async function transaction(name, asyncCallback, timeout = 120000, doNotThrow = f
|
|
|
30
30
|
if (doNotThrow)
|
|
31
31
|
reject = logger_utils_1.C.error;
|
|
32
32
|
queue[name].push(async () => {
|
|
33
|
+
let to;
|
|
33
34
|
try {
|
|
34
|
-
|
|
35
|
+
to = setTimeout(() => {
|
|
35
36
|
logger_utils_1.C.warning('Transaction Timeout'); // in case not catched
|
|
36
37
|
reject(new Error('transactionTimeout'));
|
|
37
38
|
}, timeout);
|
|
@@ -40,6 +41,7 @@ async function transaction(name, asyncCallback, timeout = 120000, doNotThrow = f
|
|
|
40
41
|
resolve(res);
|
|
41
42
|
}
|
|
42
43
|
catch (err) {
|
|
44
|
+
clearTimeout(to);
|
|
43
45
|
reject(err);
|
|
44
46
|
}
|
|
45
47
|
});
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAE,CAAA;YACN,IAAI;gBACA,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;oBACjB,gBAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA,CAAC,sBAAsB;oBACvD,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;gBAC3C,CAAC,EAAE,OAAO,CAAC,CAAA;gBACX,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAA;gBACjC,YAAY,CAAC,EAAE,CAAC,CAAA;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAA;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,EAAE,CAAC,CAAA;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAA;aACd;QACL,CAAC,CAAC,CAAA;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACN,CAAC;AA3BD,kCA2BC;AAEM,KAAK,UAAU,mBAAmB,CAAC,IAAI;IAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAM,CAAC,UAAU;IACxD,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA,CAAC,+BAA+B;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA,CAAC,QAAQ;IAC/D,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA,CAAC,8BAA8B;AACnE,CAAC,CAAC,iEAAiE;AALnE,kDAKC;AACD,kEAAkE;AAElE,4EAA4E;AACrE,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"}
|
package/package.json
CHANGED
package/src/error-utils.ts
CHANGED
|
@@ -164,9 +164,9 @@ export class DescriptiveError<ExpectedOriginalError = any> extends Error {
|
|
|
164
164
|
const logFromOtherErr = err.parseError(forCli)
|
|
165
165
|
errorLogs.push(...logFromOtherErr)
|
|
166
166
|
} else {
|
|
167
|
-
errorLogs.push(err
|
|
167
|
+
errorLogs.push(removeCircularJSONstringify(err))
|
|
168
168
|
if (!noStackTrace && err.stack) errorLogs.push(cleanStackTrace(err.stack))
|
|
169
|
-
if (err.extraInfos) errorLogs.push(err.extraInfos)
|
|
169
|
+
if (err.extraInfos) errorLogs.push(removeCircularJSONstringify(err.extraInfos))
|
|
170
170
|
}
|
|
171
171
|
} else {
|
|
172
172
|
if (!noStackTrace) {
|
package/src/loop-utils.ts
CHANGED
|
@@ -24,7 +24,10 @@ export async function forIasync<T extends any[] | any>(nbIterations: number, cal
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
export type RecursiveCallback = (item: any, addr: string, lastElementKey: string | number, parent: ObjectGeneric | any[]) => false | any
|
|
27
|
-
export type RecursiveConfig = {
|
|
27
|
+
export type RecursiveConfig = {
|
|
28
|
+
disableCircularDependencyRemoval?: boolean
|
|
29
|
+
isObjectTestFunction?: (item: any) => boolean
|
|
30
|
+
}
|
|
28
31
|
/**
|
|
29
32
|
* @param {any} item the first array or object or whatever you want to recursively browse
|
|
30
33
|
* @param {function} callback the callback you want to apply on items including the main one
|
|
@@ -43,6 +46,8 @@ export type RecursiveConfig = { disableCircularDependencyRemoval?: boolean }
|
|
|
43
46
|
export async function recursiveGenericFunction(item: ObjectGeneric | any[], callback: RecursiveCallback, config: RecursiveConfig = {}, addr$ = '', lastElementKey: string | number = '', parent?, techFieldToAvoidCircularDependency: any[] = []) {
|
|
44
47
|
err500IfNotSet({ callback })
|
|
45
48
|
|
|
49
|
+
if (!config.isObjectTestFunction) config.isObjectTestFunction = isObject
|
|
50
|
+
|
|
46
51
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
47
52
|
const result = addr$ === '' ? true : await callback(item, addr$, lastElementKey, parent)
|
|
48
53
|
|
|
@@ -52,7 +57,7 @@ export async function recursiveGenericFunction(item: ObjectGeneric | any[], call
|
|
|
52
57
|
await Promise.all(item.map(
|
|
53
58
|
(e, i) => recursiveGenericFunction(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)
|
|
54
59
|
))
|
|
55
|
-
} else if (
|
|
60
|
+
} else if (config.isObjectTestFunction(item)) {
|
|
56
61
|
if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
|
|
57
62
|
await Promise.all(Object.entries(item).map(
|
|
58
63
|
([key, val]) => recursiveGenericFunction(val, callback, config, (addr$ ? addr$ + '.' : '') + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)
|
|
@@ -82,6 +87,8 @@ export async function recursiveGenericFunction(item: ObjectGeneric | any[], call
|
|
|
82
87
|
export function recursiveGenericFunctionSync(item: ObjectGeneric | any[], callback: RecursiveCallback, config: RecursiveConfig = {}, addr$ = '', lastElementKey: string | number = '', parent?, techFieldToAvoidCircularDependency: any[] = []) {
|
|
83
88
|
err500IfNotSet({ callback })
|
|
84
89
|
|
|
90
|
+
if (!config.isObjectTestFunction) config.isObjectTestFunction = isObject
|
|
91
|
+
|
|
85
92
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
86
93
|
const result = addr$ === '' ? true : callback(item, addr$, lastElementKey, parent)
|
|
87
94
|
|
package/src/transaction-utils.ts
CHANGED
|
@@ -27,8 +27,9 @@ export async function transaction(name, asyncCallback, timeout = 120000, doNotTh
|
|
|
27
27
|
return await new Promise((resolve, reject) => {
|
|
28
28
|
if (doNotThrow) reject = C.error
|
|
29
29
|
queue[name].push(async () => {
|
|
30
|
+
let to
|
|
30
31
|
try {
|
|
31
|
-
|
|
32
|
+
to = setTimeout(() => {
|
|
32
33
|
C.warning('Transaction Timeout') // in case not catched
|
|
33
34
|
reject(new Error('transactionTimeout'))
|
|
34
35
|
}, timeout)
|
|
@@ -36,6 +37,7 @@ export async function transaction(name, asyncCallback, timeout = 120000, doNotTh
|
|
|
36
37
|
clearTimeout(to)
|
|
37
38
|
resolve(res)
|
|
38
39
|
} catch (err) {
|
|
40
|
+
clearTimeout(to)
|
|
39
41
|
reject(err)
|
|
40
42
|
}
|
|
41
43
|
})
|