ref[TypeScript]: refactor field method

This commit is contained in:
godotg
2024-07-15 11:44:25 +08:00
parent 21dc74b172
commit 1ba471091c
15 changed files with 49 additions and 48 deletions
@@ -293,8 +293,8 @@ public class CodeGenerateTypeScript implements ICodeGenerate {
for (var fieldNote : fieldNotes) {
tsBuilder.append(fieldNote).append(LS);
}
var triple = tsSerializer(fieldRegistration.serializer()).field(field, fieldRegistration);
tsBuilder.append(StringUtils.format("{}{} = {};", triple.getMiddle(), triple.getLeft(), triple.getRight())).append(LS);
var pair = tsSerializer(fieldRegistration.serializer()).field(field, fieldRegistration);
tsBuilder.append(StringUtils.format("{}: {} = {};", fieldName, pair.getKey(), pair.getValue())).append(LS);
}
return tsBuilder.toString();
}
@@ -13,7 +13,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import java.lang.reflect.Field;
@@ -26,7 +26,7 @@ public interface ITsSerializer {
/**
* 获取属性的类型,名称,默认值
*/
Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration);
Pair<String, String> field(Field field, IFieldRegistration fieldRegistration);
void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration);
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,9 +31,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsArraySerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format(": Array<{}>", CodeGenerateTypeScript.toTsClassName(field.getType().getComponentType().getSimpleName()));
return new Triple<>(type, field.getName(), "[]");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("Array<{}>", CodeGenerateTypeScript.toTsClassName(field.getType().getComponentType().getSimpleName()));
return new Pair<>(type, "[]");
}
@Override
@@ -75,7 +75,7 @@ public class TsArraySerializer implements ITsSerializer {
ArrayField arrayField = (ArrayField) fieldRegistration;
String result = "result" + GenerateProtocolFile.localVariableId++;
var typeName = StringUtils.format("Array<{}>", CodeGenerateTypeScript.toTsClassName(arrayField.getType().getSimpleName()));
var typeName = StringUtils.format("Array<{}>", CodeGenerateTypeScript.toTsClassName(arrayField.getType().getSimpleName()));
builder.append(StringUtils.format("const {} = new {};", result, typeName)).append(LS);
String i = "index" + GenerateProtocolFile.localVariableId++;
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsBoolSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": boolean", field.getName(), "false");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("boolean", "false");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsByteSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsDoubleSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsFloatSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,6 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +29,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsIntSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,9 +31,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsListSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format(": {}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Triple<>(type, field.getName(), "[]");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("{}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Pair<>(type, "[]");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsLongSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,9 +31,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsMapSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format(": {}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Triple<>(type, field.getName(), "new Map()");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("{}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Pair<>(type, "new Map()");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.enhance.EnhanceObjectProtocolSerializer;
@@ -30,11 +30,11 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsObjectProtocolSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
var protocolSimpleName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(objectProtocolField.getProtocolId());
var type = StringUtils.format(": {} | null", protocolSimpleName);
return new Triple<>(type, field.getName(), "null");
var type = StringUtils.format("{} | null", protocolSimpleName);
return new Pair<>(type, "null");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,9 +31,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsSetSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format(": {}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Triple<>(type, field.getName(), "new Set()");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("{}", CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()));
return new Pair<>(type, "new Set()");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsShortSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": number", field.getName(), "0");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.typescript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -28,8 +28,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
public class TsStringSerializer implements ITsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(": string", field.getName(), "''");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("string", "''");
}
@Override