@ibiz-template/model-helper 0.7.41-alpha.141 → 0.7.41-alpha.142
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-transformer.d.ts","sourceRoot":"","sources":["../../../src/utils/model-transformer/model-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAmB;IAElD;;;;;OAKG;WACW,WAAW,IAAI,gBAAgB;IAO7C;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAA0C;IAE5D;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"model-transformer.d.ts","sourceRoot":"","sources":["../../../src/utils/model-transformer/model-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAmB;IAElD;;;;;OAKG;WACW,WAAW,IAAI,gBAAgB;IAO7C;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAA0C;IAE5D;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAiBxE;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;;OAMG;IACI,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CA2DnE"}
|
|
@@ -42,6 +42,11 @@ export class ModelTransformer {
|
|
|
42
42
|
* @memberof ModelTransformer
|
|
43
43
|
*/
|
|
44
44
|
registerHandler(pathPattern, handler) {
|
|
45
|
+
// 兼容未传入PSSYSAPPS段的情况,自动补充「PSSYSAPPS/临时应用标识」前缀;
|
|
46
|
+
// 其中ibiz.__TEMPAPPID__为加载扩展插件期间记录的临时应用标识(始终为小写)
|
|
47
|
+
if (!pathPattern.startsWith('PSSYSAPPS')) {
|
|
48
|
+
pathPattern = `PSSYSAPPS/${ibiz.__TEMPAPPID__}/${pathPattern}`;
|
|
49
|
+
}
|
|
45
50
|
if (!this.validatePattern(pathPattern)) {
|
|
46
51
|
return;
|
|
47
52
|
}
|
|
@@ -84,10 +89,19 @@ export class ModelTransformer {
|
|
|
84
89
|
ibiz.log.debug(ibiz.i18n.t('modelHelper.utils.tryGetModel', {
|
|
85
90
|
dynaModelFilePath,
|
|
86
91
|
}));
|
|
87
|
-
//
|
|
92
|
+
// 归一化匹配路径:dynaModelFilePath始终以PSSYSAPPS开头,其后(下标1)即为应用标识段;
|
|
93
|
+
// 注册时自动补充的ibiz.__TEMPAPPID__始终为小写,而此处应用标识可能大小写混合,统一转为小写用于匹配
|
|
94
|
+
const pathSegments = dynaModelFilePath.split('/');
|
|
95
|
+
pathSegments[1] = pathSegments[1].toLowerCase();
|
|
96
|
+
const normalizedPath = pathSegments.join('/');
|
|
97
|
+
// 收集所有匹配当前路径的处理器(支持通配符路径):
|
|
98
|
+
// 同时使用原始路径与小写化路径匹配,兼容「未传PSSYSAPPS段自动补充(应用标识为小写)」
|
|
99
|
+
// 与「显式传入PSSYSAPPS完整路径(应用标识保持原样)」两种注册方式
|
|
88
100
|
const matchedHandlers = [];
|
|
89
101
|
this.handlerMap.forEach((handlers, pattern) => {
|
|
90
|
-
|
|
102
|
+
const isMatch = this.pathMatcher.match(pattern, dynaModelFilePath) ||
|
|
103
|
+
this.pathMatcher.match(pattern, normalizedPath);
|
|
104
|
+
if (isMatch) {
|
|
91
105
|
matchedHandlers.push(...handlers);
|
|
92
106
|
}
|
|
93
107
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/model-helper",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.142",
|
|
4
4
|
"description": "模型辅助库",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"types": "out/index.d.ts",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"ramda": "^0.29.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@ibiz-template/runtime": "^0.7.41-alpha.
|
|
42
|
+
"@ibiz-template/runtime": "^0.7.41-alpha.142",
|
|
43
43
|
"@types/pluralize": "^0.0.33",
|
|
44
44
|
"@types/ramda": "^0.29.10"
|
|
45
45
|
},
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"@ibiz-template/runtime": "^0.6.0",
|
|
48
48
|
"ramda": "^0.29.0"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "16456661afe5fa7de7d3cda608997ea1f78b1646"
|
|
51
51
|
}
|
|
@@ -54,6 +54,11 @@ export class ModelTransformer {
|
|
|
54
54
|
* @memberof ModelTransformer
|
|
55
55
|
*/
|
|
56
56
|
public registerHandler(pathPattern: string, handler: ModelHandler): void {
|
|
57
|
+
// 兼容未传入PSSYSAPPS段的情况,自动补充「PSSYSAPPS/临时应用标识」前缀;
|
|
58
|
+
// 其中ibiz.__TEMPAPPID__为加载扩展插件期间记录的临时应用标识(始终为小写)
|
|
59
|
+
if (!pathPattern.startsWith('PSSYSAPPS')) {
|
|
60
|
+
pathPattern = `PSSYSAPPS/${ibiz.__TEMPAPPID__}/${pathPattern}`;
|
|
61
|
+
}
|
|
57
62
|
if (!this.validatePattern(pathPattern)) {
|
|
58
63
|
return;
|
|
59
64
|
}
|
|
@@ -101,10 +106,20 @@ export class ModelTransformer {
|
|
|
101
106
|
dynaModelFilePath,
|
|
102
107
|
}),
|
|
103
108
|
);
|
|
104
|
-
//
|
|
109
|
+
// 归一化匹配路径:dynaModelFilePath始终以PSSYSAPPS开头,其后(下标1)即为应用标识段;
|
|
110
|
+
// 注册时自动补充的ibiz.__TEMPAPPID__始终为小写,而此处应用标识可能大小写混合,统一转为小写用于匹配
|
|
111
|
+
const pathSegments = dynaModelFilePath.split('/');
|
|
112
|
+
pathSegments[1] = pathSegments[1].toLowerCase();
|
|
113
|
+
const normalizedPath = pathSegments.join('/');
|
|
114
|
+
// 收集所有匹配当前路径的处理器(支持通配符路径):
|
|
115
|
+
// 同时使用原始路径与小写化路径匹配,兼容「未传PSSYSAPPS段自动补充(应用标识为小写)」
|
|
116
|
+
// 与「显式传入PSSYSAPPS完整路径(应用标识保持原样)」两种注册方式
|
|
105
117
|
const matchedHandlers: ModelHandler[] = [];
|
|
106
118
|
this.handlerMap.forEach((handlers: ModelHandler[], pattern: string) => {
|
|
107
|
-
|
|
119
|
+
const isMatch =
|
|
120
|
+
this.pathMatcher.match(pattern, dynaModelFilePath) ||
|
|
121
|
+
this.pathMatcher.match(pattern, normalizedPath);
|
|
122
|
+
if (isMatch) {
|
|
108
123
|
matchedHandlers.push(...handlers);
|
|
109
124
|
}
|
|
110
125
|
});
|