zentao-api 0.4.1 → 0.5.1
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/browser/zentao-api.global.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/modules/object-props.d.ts +1 -0
- package/dist/modules/object-props.js +951 -0
- package/dist/modules/query.d.ts +7 -0
- package/dist/modules/query.js +10 -0
- package/dist/modules/registry.d.ts +1 -1
- package/dist/modules/registry.js +1 -1
- package/dist/request/index.js +4 -2
- package/dist/types/data.d.ts +6 -2
- package/dist/utils/data.d.ts +2 -2
- package/dist/utils/data.js +0 -0
- package/dist/version.js +2 -2
- package/package.json +1 -1
package/dist/modules/query.d.ts
CHANGED
|
@@ -52,3 +52,10 @@ export declare function getModuleNames(): string[];
|
|
|
52
52
|
* @returns 已注册返回 `true`,否则 `false`。
|
|
53
53
|
*/
|
|
54
54
|
export declare function isModuleName(moduleName: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 获取对象属性。
|
|
57
|
+
*
|
|
58
|
+
* @param objectType - 对象类型。
|
|
59
|
+
* @returns 对象属性。
|
|
60
|
+
*/
|
|
61
|
+
export declare function getObjectProps(objectType: string): Record<string, string>;
|
package/dist/modules/query.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { objectProps } from './object-props.js';
|
|
1
2
|
import { getModuleMapState, getModulesState } from './registry-store.js';
|
|
2
3
|
/**
|
|
3
4
|
* 获取模块定义。
|
|
@@ -120,3 +121,12 @@ export function getModuleNames() {
|
|
|
120
121
|
export function isModuleName(moduleName) {
|
|
121
122
|
return getModuleMapState().has(moduleName.toLowerCase());
|
|
122
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* 获取对象属性。
|
|
126
|
+
*
|
|
127
|
+
* @param objectType - 对象类型。
|
|
128
|
+
* @returns 对象属性。
|
|
129
|
+
*/
|
|
130
|
+
export function getObjectProps(objectType) {
|
|
131
|
+
return objectProps[objectType];
|
|
132
|
+
}
|
|
@@ -4238,4 +4238,4 @@ export declare const MODULES: readonly [{
|
|
|
4238
4238
|
}];
|
|
4239
4239
|
export { type DefineModulesOptions, defineModules, defineModuleActions, extendModuleAction, resetModuleDefinitions, } from './define.js';
|
|
4240
4240
|
export { applyBuiltinOverrides };
|
|
4241
|
-
export { getModule, getModuleAction, getModuleActionParams, getModuleNames, isModuleName, } from './query.js';
|
|
4241
|
+
export { getModule, getModuleAction, getModuleActionParams, getModuleNames, isModuleName, getObjectProps, } from './query.js';
|
package/dist/modules/registry.js
CHANGED
|
@@ -16,4 +16,4 @@ export { applyBuiltinOverrides };
|
|
|
16
16
|
// - 注册为 store 的「重置后钩子」,使 resetModuleDefinitions 还原内置基线后自动重新应用。
|
|
17
17
|
setPostResetHook(applyBuiltinOverrides);
|
|
18
18
|
applyBuiltinOverrides();
|
|
19
|
-
export { getModule, getModuleAction, getModuleActionParams, getModuleNames, isModuleName, } from './query.js';
|
|
19
|
+
export { getModule, getModuleAction, getModuleActionParams, getModuleNames, isModuleName, getObjectProps, } from './query.js';
|
package/dist/request/index.js
CHANGED
|
@@ -101,14 +101,15 @@ function extractApiCode(record) {
|
|
|
101
101
|
}
|
|
102
102
|
/** 判断本次调用是否携带了需要本地处理列表的选项。 */
|
|
103
103
|
function hasListProcessing(options) {
|
|
104
|
-
return Boolean(
|
|
104
|
+
return Boolean(options.convert ||
|
|
105
|
+
(options.filter && options.filter.length > 0) ||
|
|
105
106
|
(options.search && options.search.length > 0) ||
|
|
106
107
|
options.sort ||
|
|
107
108
|
options.limit ||
|
|
108
109
|
(options.pick && options.pick.length > 0));
|
|
109
110
|
}
|
|
110
111
|
/**
|
|
111
|
-
*
|
|
112
|
+
* 对归一化后的业务数据应用本地处理(转换 → 过滤 → 搜索 → 排序 → 限制数量 → 摘取)。
|
|
112
113
|
*
|
|
113
114
|
* - 对象列表:交由 {@link processData} 完整处理。
|
|
114
115
|
* - 基本类型数组:仅 `limit` 生效(按数量截断),避免破坏原始元素。
|
|
@@ -121,6 +122,7 @@ function applyProcessing(data, options) {
|
|
|
121
122
|
return data;
|
|
122
123
|
if (data.every(isRecord)) {
|
|
123
124
|
return processData(data, {
|
|
125
|
+
convert: options.convert,
|
|
124
126
|
filter: options.filter,
|
|
125
127
|
search: options.search,
|
|
126
128
|
searchFields: options.searchFields,
|
package/dist/types/data.d.ts
CHANGED
|
@@ -20,8 +20,10 @@ export interface DataRecordFilterGroup {
|
|
|
20
20
|
export type SortExpr = `${string}:${'asc' | 'desc'}`;
|
|
21
21
|
/** 自定义排序比较函数。 */
|
|
22
22
|
export type SortFn = (a: DataRecord, b: DataRecord) => number;
|
|
23
|
-
/** {@link processData} 处理列表时的选项;执行顺序为 过滤 → 搜索 → 排序 → 限制数量 → 摘取。 */
|
|
23
|
+
/** {@link processData} 处理列表时的选项;执行顺序为 转换 → 过滤 → 搜索 → 排序 → 限制数量 → 摘取。 */
|
|
24
24
|
export interface ProcessListOptions {
|
|
25
|
+
/** 转换函数,用于对列表中的每条记录进行转换。 */
|
|
26
|
+
convert?: (records: DataRecord[]) => DataRecord[];
|
|
25
27
|
/** 过滤表达式列表,例如 `["status=active", "pri>=2"]`,多条之间按 AND 组合。 */
|
|
26
28
|
filter?: string[];
|
|
27
29
|
/** 模糊搜索关键词组,组内空格分隔为 OR,多组之间按 AND 组合。 */
|
|
@@ -35,8 +37,10 @@ export interface ProcessListOptions {
|
|
|
35
37
|
/** 摘取字段路径列表。 */
|
|
36
38
|
pick?: string[];
|
|
37
39
|
}
|
|
38
|
-
/** {@link processData}
|
|
40
|
+
/** {@link processData} 处理单条对象时的选项;执行顺序为 转换 → 摘取。 */
|
|
39
41
|
export interface ProcessSingleOptions {
|
|
42
|
+
/** 转换函数,用于对对象进行转换。 */
|
|
43
|
+
convert?: (record: DataRecord) => DataRecord;
|
|
40
44
|
/** 摘取字段路径列表。 */
|
|
41
45
|
pick?: string[];
|
|
42
46
|
}
|
package/dist/utils/data.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare function searchData(data: DataRecord[], keywordGroups: string[],
|
|
|
18
18
|
* 数值字段按数字比较,否则按字符串 `localeCompare`。
|
|
19
19
|
*/
|
|
20
20
|
export declare function sortData(data: DataRecord[], sortFields: (SortExpr | SortFn)[]): DataRecord[];
|
|
21
|
-
/**
|
|
21
|
+
/** 处理单条对象:按 转换 → 摘取 的顺序执行。 */
|
|
22
22
|
export declare function processData(data: DataRecord, options: ProcessSingleOptions): DataRecord;
|
|
23
|
-
/** 处理列表:按 过滤 → 搜索 → 排序 → 限制数量 → 摘取 的顺序执行。 */
|
|
23
|
+
/** 处理列表:按 转换 → 过滤 → 搜索 → 排序 → 限制数量 → 摘取 的顺序执行。 */
|
|
24
24
|
export declare function processData(data: DataRecord[], options: ProcessListOptions): DataRecord[];
|
package/dist/utils/data.js
CHANGED
|
Binary file
|
package/dist/version.js
CHANGED