@zwa73/utils 1.0.163 → 1.0.164
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/dist/UtilFunctions.d.ts +11 -0
- package/dist/UtilFunctions.js +23 -0
- package/package.json +1 -1
- package/src/UtilFunctions.ts +31 -0
package/dist/UtilFunctions.d.ts
CHANGED
|
@@ -32,6 +32,12 @@ export type RepeatPromiseOpt = Partial<{
|
|
|
32
32
|
}>;
|
|
33
33
|
type SuccessOut<T> = Outcome<Success, T>;
|
|
34
34
|
type TimeoutOut<T> = Outcome<Timeout, Promise<T>>;
|
|
35
|
+
/**遍历对象的回调函数
|
|
36
|
+
* @param key - 字段名
|
|
37
|
+
* @param value - 字段值
|
|
38
|
+
* @param parent - 父对象
|
|
39
|
+
*/
|
|
40
|
+
type EachFieldCallback = (key: string, value: JToken, parent: JObject) => void;
|
|
35
41
|
/**常用函数 */
|
|
36
42
|
export declare class UtilFunc {
|
|
37
43
|
/**获取当前时间戳
|
|
@@ -133,6 +139,11 @@ export declare class UtilFunc {
|
|
|
133
139
|
* @returns - 一个新的对象,它的属性是原对象的属性经过映射函数处理后的结果
|
|
134
140
|
*/
|
|
135
141
|
static mapEntries<T extends AnyRecord>(obj: T, mapper: (key: keyof T, value: T[keyof T]) => T[keyof T]): T;
|
|
142
|
+
/** 遍历对象的所有字段
|
|
143
|
+
* @param obj - 对象
|
|
144
|
+
* @param callback - 回调函数
|
|
145
|
+
*/
|
|
146
|
+
static eachField(obj: JToken, callback: EachFieldCallback): void;
|
|
136
147
|
/**将JToken转换为字符串
|
|
137
148
|
* @param token - 待转换的Token
|
|
138
149
|
* @param opt - 可选参数
|
package/dist/UtilFunctions.js
CHANGED
|
@@ -378,6 +378,29 @@ class UtilFunc {
|
|
|
378
378
|
return result;
|
|
379
379
|
}, {});
|
|
380
380
|
}
|
|
381
|
+
/** 遍历对象的所有字段
|
|
382
|
+
* @param obj - 对象
|
|
383
|
+
* @param callback - 回调函数
|
|
384
|
+
*/
|
|
385
|
+
static eachField(obj, callback) {
|
|
386
|
+
if (obj == null)
|
|
387
|
+
return;
|
|
388
|
+
if (typeof obj === 'object' && 'toJSON' in obj && typeof obj.toJSON == 'function') {
|
|
389
|
+
UtilLogger_1.SLogger.warn('UtilFunc.eachField 错误 无法遍历IJData 已跳过');
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
if (Array.isArray(obj)) {
|
|
393
|
+
for (const item of obj)
|
|
394
|
+
UtilFunc.eachField(item, callback);
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (typeof obj === 'object') {
|
|
398
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
399
|
+
UtilFunc.eachField(v, callback);
|
|
400
|
+
callback(k, v, obj);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
381
404
|
/**将JToken转换为字符串
|
|
382
405
|
* @param token - 待转换的Token
|
|
383
406
|
* @param opt - 可选参数
|
package/package.json
CHANGED
package/src/UtilFunctions.ts
CHANGED
|
@@ -55,6 +55,14 @@ type PromiseResult<T> = {
|
|
|
55
55
|
/**请求下标/序号 */
|
|
56
56
|
index:number;
|
|
57
57
|
};
|
|
58
|
+
|
|
59
|
+
/**遍历对象的回调函数
|
|
60
|
+
* @param key - 字段名
|
|
61
|
+
* @param value - 字段值
|
|
62
|
+
* @param parent - 父对象
|
|
63
|
+
*/
|
|
64
|
+
type EachFieldCallback = (key: string, value: JToken,parent: JObject) => void;
|
|
65
|
+
|
|
58
66
|
/**常用函数 */
|
|
59
67
|
export class UtilFunc{
|
|
60
68
|
/**获取当前时间戳
|
|
@@ -446,6 +454,29 @@ static mapEntries<T extends AnyRecord>
|
|
|
446
454
|
}, {} as T);
|
|
447
455
|
}
|
|
448
456
|
|
|
457
|
+
/** 遍历对象的所有字段
|
|
458
|
+
* @param obj - 对象
|
|
459
|
+
* @param callback - 回调函数
|
|
460
|
+
*/
|
|
461
|
+
static eachField(obj: JToken, callback: EachFieldCallback): void {
|
|
462
|
+
if(obj==null) return;
|
|
463
|
+
if(typeof obj === 'object' && 'toJSON' in obj && typeof obj.toJSON == 'function'){
|
|
464
|
+
SLogger.warn('UtilFunc.eachField 错误 无法遍历IJData 已跳过');
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
if(Array.isArray(obj)){
|
|
468
|
+
for (const item of obj)
|
|
469
|
+
UtilFunc.eachField(item, callback);
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
if (typeof obj === 'object') {
|
|
473
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
474
|
+
UtilFunc.eachField(v, callback);
|
|
475
|
+
callback(k, v, obj as JObject);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
|
|
449
480
|
/**将JToken转换为字符串
|
|
450
481
|
* @param token - 待转换的Token
|
|
451
482
|
* @param opt - 可选参数
|