ref[js]: refactor field method

This commit is contained in:
godotg committed 2024-07-15 11:28:27 +08:00
1 parent 5062143d75
commit 21dc74b172
15 files changed
+43 -41

No files matched your search

@@ -253,8 +253,8 @@ public class CodeGenerateJavaScript implements ICodeGenerate {
for (var fieldNote : fieldNotes) {
fieldDefinitionBuilder.append(fieldNote).append(LS);
}
var triple = jsSerializer(fieldRegistration.serializer()).field(field, fieldRegistration);
fieldDefinitionBuilder.append(StringUtils.format("this.{} = {}; // {}", fieldName, triple.getRight(), triple.getLeft()))
var pair = jsSerializer(fieldRegistration.serializer()).field(field, fieldRegistration);
fieldDefinitionBuilder.append(StringUtils.format("this.{} = {}; // {}", fieldName, pair.getValue(), pair.getKey()))
.append(LS);
}
@@ -13,7 +13,7 @@
package com.zfoo.protocol.serializer.javascript;
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 IJsSerializer {
/**
* 获取属性的类型,名称,默认值
*/
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,6 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
@@ -31,9 +32,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsArraySerializer implements IJsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("Array<{}>", CodeGenerateTypeScript.toTsClassName(field.getType().getComponentType().getSimpleName()));
return new Triple<>(type, field.getName(), "[]");
return new Pair<>(type, "[]");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsBoolSerializer implements IJsSerializer {
@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.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsByteSerializer implements IJsSerializer {
@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.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsDoubleSerializer implements IJsSerializer {
@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.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsFloatSerializer implements IJsSerializer {
@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.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsIntSerializer implements IJsSerializer {
@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.javascript;
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,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsListSerializer implements IJsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "[]");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "[]");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsLongSerializer implements IJsSerializer {
@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.javascript;
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,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsMapSerializer implements IJsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "new Map()");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "new Map()");
}
@Override
@@ -14,6 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
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.registration.field.ObjectProtocolField;
@@ -29,11 +30,11 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsObjectProtocolSerializer implements IJsSerializer {
@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");
return new Pair<>(type, "null");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
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,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsSetSerializer implements IJsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "new Set()");
public Pair<String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "new Set()");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsShortSerializer implements IJsSerializer {
@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.javascript;
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;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class JsStringSerializer implements IJsSerializer {
@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