topkat-utils 1.2.42 → 1.2.43
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/CHANGELOG.md +3 -0
- package/dist/src/loop-utils.d.ts +1 -1
- package/dist/src/loop-utils.js +4 -6
- package/dist/src/loop-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/loop-utils.ts +7 -9
package/CHANGELOG.md
CHANGED
package/dist/src/loop-utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ObjectGeneric } from
|
|
1
|
+
import { ObjectGeneric } from './types';
|
|
2
2
|
export declare function forI<T extends any[] | any>(nbIterations: number, callback: (number: number, previousValue: any, arrayOfPreviousValues: any[]) => T): T[];
|
|
3
3
|
export declare function forIasync<T extends any[] | any>(nbIterations: number, callback: (number: any) => T): Promise<T[]>;
|
|
4
4
|
export type RecursiveCallback = (item: any, addr: string, lastElementKey: string | number, parent: ObjectGeneric | any[]) => false | any;
|
package/dist/src/loop-utils.js
CHANGED
|
@@ -40,16 +40,15 @@ async function recursiveGenericFunction(item, callback, config = {}, addr$ = '',
|
|
|
40
40
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
41
41
|
const result = addr$ === '' ? true : await callback(item, addr$, lastElementKey, parent);
|
|
42
42
|
if (result !== false) {
|
|
43
|
-
const addr = addr$ ? addr$ : '';
|
|
44
43
|
if (Array.isArray(item)) {
|
|
45
44
|
if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
|
|
46
45
|
techFieldToAvoidCircularDependency.push(item);
|
|
47
|
-
await Promise.all(item.map((e, i) => recursiveGenericFunction(e, callback, config, addr + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)));
|
|
46
|
+
await Promise.all(item.map((e, i) => recursiveGenericFunction(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)));
|
|
48
47
|
}
|
|
49
48
|
else if ((0, is_object_1.isObject)(item)) {
|
|
50
49
|
if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
|
|
51
50
|
techFieldToAvoidCircularDependency.push(item);
|
|
52
|
-
await Promise.all(Object.entries(item).map(([key, val]) => recursiveGenericFunction(val, callback, config, 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)));
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
}
|
|
@@ -77,16 +76,15 @@ function recursiveGenericFunctionSync(item, callback, config = {}, addr$ = '', l
|
|
|
77
76
|
if (!techFieldToAvoidCircularDependency.includes(item)) {
|
|
78
77
|
const result = addr$ === '' ? true : callback(item, addr$, lastElementKey, parent);
|
|
79
78
|
if (result !== false) {
|
|
80
|
-
const addr = addr$ ? addr$ : '';
|
|
81
79
|
if (Array.isArray(item)) {
|
|
82
80
|
if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
|
|
83
81
|
techFieldToAvoidCircularDependency.push(item); // do not up one level
|
|
84
|
-
item.forEach((e, i) => recursiveGenericFunctionSync(e, callback, config, addr + '[' + i + ']', i, item, techFieldToAvoidCircularDependency));
|
|
82
|
+
item.forEach((e, i) => recursiveGenericFunctionSync(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency));
|
|
85
83
|
}
|
|
86
84
|
else if ((0, is_object_1.isObject)(item)) {
|
|
87
85
|
if ((config === null || config === void 0 ? void 0 : config.disableCircularDependencyRemoval) !== true)
|
|
88
86
|
techFieldToAvoidCircularDependency.push(item);
|
|
89
|
-
Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, 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));
|
|
90
88
|
}
|
|
91
89
|
}
|
|
92
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,
|
|
1
|
+
{"version":3,"file":"loop-utils.js","sourceRoot":"","sources":["../../src/loop-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/loop-utils.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
//----------------------------------------
|
|
2
2
|
// LOOP UTILS
|
|
3
3
|
//----------------------------------------
|
|
4
|
-
import { ObjectGeneric } from
|
|
5
|
-
import { err500IfNotSet } from
|
|
6
|
-
import { isObject } from
|
|
4
|
+
import { ObjectGeneric } from './types'
|
|
5
|
+
import { err500IfNotSet } from './error-utils'
|
|
6
|
+
import { isObject } from './is-object'
|
|
7
7
|
|
|
8
8
|
export function forI<T extends any[] | any>(nbIterations: number, callback: (number: number, previousValue, arrayOfPreviousValues: any[]) => T): T[] {
|
|
9
9
|
const results: any[] = []
|
|
@@ -48,16 +48,15 @@ export async function recursiveGenericFunction(item: ObjectGeneric | any[], call
|
|
|
48
48
|
const result = addr$ === '' ? true : await callback(item, addr$, lastElementKey, parent)
|
|
49
49
|
|
|
50
50
|
if (result !== false) {
|
|
51
|
-
const addr = addr$ ? addr$ : ''
|
|
52
51
|
if (Array.isArray(item)) {
|
|
53
52
|
if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
|
|
54
53
|
await Promise.all(item.map(
|
|
55
|
-
(e, i) => recursiveGenericFunction(e, callback, config, addr + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)
|
|
54
|
+
(e, i) => recursiveGenericFunction(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency)
|
|
56
55
|
))
|
|
57
56
|
} else if (isObject(item)) {
|
|
58
57
|
if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
|
|
59
58
|
await Promise.all(Object.entries(item).map(
|
|
60
|
-
([key, val]) => recursiveGenericFunction(val, callback, config, addr + '.' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)
|
|
59
|
+
([key, val]) => recursiveGenericFunction(val, callback, config, addr$ ? addr$ + '.' : '' + key.replace(/\./g, '%'), key, item, techFieldToAvoidCircularDependency)
|
|
61
60
|
))
|
|
62
61
|
}
|
|
63
62
|
}
|
|
@@ -88,13 +87,12 @@ export function recursiveGenericFunctionSync(item: ObjectGeneric | any[], callba
|
|
|
88
87
|
const result = addr$ === '' ? true : callback(item, addr$, lastElementKey, parent)
|
|
89
88
|
|
|
90
89
|
if (result !== false) {
|
|
91
|
-
const addr = addr$ ? addr$ : ''
|
|
92
90
|
if (Array.isArray(item)) {
|
|
93
91
|
if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item) // do not up one level
|
|
94
|
-
item.forEach((e, i) => recursiveGenericFunctionSync(e, callback, config, addr + '[' + i + ']', i, item, techFieldToAvoidCircularDependency))
|
|
92
|
+
item.forEach((e, i) => recursiveGenericFunctionSync(e, callback, config, addr$ + '[' + i + ']', i, item, techFieldToAvoidCircularDependency))
|
|
95
93
|
} else if (isObject(item)) {
|
|
96
94
|
if (config?.disableCircularDependencyRemoval !== true) techFieldToAvoidCircularDependency.push(item)
|
|
97
|
-
Object.entries(item).forEach(([key, val]) => recursiveGenericFunctionSync(val, callback, config, 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))
|
|
98
96
|
}
|
|
99
97
|
}
|
|
100
98
|
}
|