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.
@@ -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
@@ -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 ((0, is_object_1.isObject)(item)) {
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":"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"}
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
- const to = setTimeout(() => {
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,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;oBACvB,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,MAAM,CAAC,GAAG,CAAC,CAAA;aACd;QACL,CAAC,CAAC,CAAA;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACN,CAAC;AAzBD,kCAyBC;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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.102",
3
+ "version": "1.2.104",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "main": "dist",
@@ -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.toString())
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 = { disableCircularDependencyRemoval?: boolean }
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 (isObject(item)) {
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
 
@@ -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
- const to = setTimeout(() => {
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
  })