Merge pull request #151 from AtarisMio/patch-filter-private-field
过滤private field不翻译
diff --git a/packages/interpret-cli/src/transfer/bean/to-field.ts b/packages/interpret-cli/src/transfer/bean/to-field.ts
index 7574101..12231a5 100644
--- a/packages/interpret-cli/src/transfer/bean/to-field.ts
+++ b/packages/interpret-cli/src/transfer/bean/to-field.ts
@@ -33,7 +33,7 @@
fieldProps: IJFieldPropers,
intepretHandle: IntepretHandle,
): Promise<PropertySignatureStructure> {
- log('转换 为属性:%o', fieldProps);
+ log('转换 %s 为属性:%o', fieldName, fieldProps);
let type = await jType2Ts(fieldProps, intepretHandle);
return {
diff --git a/packages/interpret-cli/src/transfer/bean/to-vo.ts b/packages/interpret-cli/src/transfer/bean/to-vo.ts
index 7f17934..a9664f9 100644
--- a/packages/interpret-cli/src/transfer/bean/to-vo.ts
+++ b/packages/interpret-cli/src/transfer/bean/to-vo.ts
@@ -46,7 +46,9 @@
if (typeDef.typeParams) {
typeDef.typeParams.forEach(typeParamsItem => {
- typeParameters.push({name: typeParamsItem.name+" extends { __fields2java?(): any } = any",});
+ typeParameters.push({
+ name: typeParamsItem.name + ' extends { __fields2java?(): any } = any',
+ });
});
}
//获取 方法定义; 或者获取属性定义
@@ -62,21 +64,30 @@
if (typeDef.fields[fieldName].isArray) {
filedType = typeDef.fields[fieldName].elementType.name;
}
+ const regex = new RegExp(
+ `^(get|set)${fieldName[0].toUpperCase()}${fieldName.slice(1)}$`,
+ );
+ if (
+ typeDef.privateFields.indexOf(fieldName) !== -1 && // 在privateField中
+ Object.keys(typeDef.methods || {}).findIndex(n => regex.test(n)) === -1 // 并且没有getter和setter
+ ) {
+ continue; // 跳过不翻译
+ }
- let field = await toField(
- fieldName,
- typeDef.fields[fieldName],
- intepretHandle,
- );
- properties.push(field);
- ctorParams.push({name: field.name, type: field.type});
+ let field = await toField(
+ fieldName,
+ typeDef.fields[fieldName],
+ intepretHandle,
+ );
+ properties.push(field);
+ ctorParams.push({name: field.name, type: field.type});
- let filedItem = typeDef.fields[fieldName];
- fileds.push({
- name: fieldName,
- type: await jType2Ts(filedItem, intepretHandle),
- filedAst: filedItem,
- });
+ let filedItem = typeDef.fields[fieldName];
+ fileds.push({
+ name: fieldName,
+ type: await jType2Ts(filedItem, intepretHandle),
+ filedAst: filedItem,
+ });
}
//添加构造函数入参interface
//1.2 生成方法;;