From 4f51f8b10370a86078fec65e5545b3754282477a Mon Sep 17 00:00:00 2001 From: godotg Date: Fri, 14 Apr 2023 22:13:20 +0800 Subject: [PATCH] perf[ts]: remove null type of ts variable --- .../com/zfoo/protocol/registration/ProtocolAnalysis.java | 7 +++++++ .../protocol/serializer/typescript/GenerateTsUtils.java | 2 +- .../protocol/serializer/typescript/TsArraySerializer.java | 4 ++-- .../protocol/serializer/typescript/TsListSerializer.java | 4 ++-- .../protocol/serializer/typescript/TsMapSerializer.java | 4 ++-- .../protocol/serializer/typescript/TsSetSerializer.java | 4 ++-- .../src/main/resources/typescript/ProtocolTemplate.ts | 8 ++------ 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java index 8a2154fa..86146fc1 100644 --- a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java +++ b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java @@ -481,6 +481,13 @@ public class ProtocolAnalysis { } + /** + * 此方法仅在生成协议的时候调用,一旦运行,不能调用 + */ + public static Set getFirstSubProtocolIds(short protocolId) { + return subProtocolIdMap.get(protocolId); + } + /** * 此方法仅在生成协议的时候调用,一旦运行,不能调用 */ diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java index 7a5c2472..72e42aa4 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java @@ -137,7 +137,7 @@ public abstract class GenerateTsUtils { private static String importSubProtocol(ProtocolRegistration registration) { var protocolId = registration.getId(); - var subProtocols = ProtocolAnalysis.getAllSubProtocolIds(protocolId); + var subProtocols = ProtocolAnalysis.getFirstSubProtocolIds(protocolId); if (CollectionUtils.isEmpty(subProtocols)) { return StringUtils.EMPTY; diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsArraySerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsArraySerializer.java index 087304df..2191df2f 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsArraySerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsArraySerializer.java @@ -33,8 +33,8 @@ public class TsArraySerializer implements ITsSerializer { @Override public Triple field(Field field, IFieldRegistration fieldRegistration) { - var type = StringUtils.format(": Array<{}> | null", GenerateTsUtils.toTsClassName(field.getType().getComponentType().getSimpleName())); - return new Triple<>(type, field.getName(), "null"); + var type = StringUtils.format(": Array<{}>", GenerateTsUtils.toTsClassName(field.getType().getComponentType().getSimpleName())); + return new Triple<>(type, field.getName(), "[]"); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsListSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsListSerializer.java index 56e2e2c3..f485809e 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsListSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsListSerializer.java @@ -33,8 +33,8 @@ public class TsListSerializer implements ITsSerializer { @Override public Triple field(Field field, IFieldRegistration fieldRegistration) { - var type = StringUtils.format(": {} | null", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); - return new Triple<>(type, field.getName(), "null"); + var type = StringUtils.format(": {}", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); + return new Triple<>(type, field.getName(), "[]"); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsMapSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsMapSerializer.java index a2703eda..237e4520 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsMapSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsMapSerializer.java @@ -33,8 +33,8 @@ public class TsMapSerializer implements ITsSerializer { @Override public Triple field(Field field, IFieldRegistration fieldRegistration) { - var type = StringUtils.format(": {} | null", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); - return new Triple<>(type, field.getName(), "null"); + var type = StringUtils.format(": {}", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); + return new Triple<>(type, field.getName(), "new Map()"); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsSetSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsSetSerializer.java index 5b6ca5fc..0632b9e1 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsSetSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/TsSetSerializer.java @@ -33,8 +33,8 @@ public class TsSetSerializer implements ITsSerializer { @Override public Triple field(Field field, IFieldRegistration fieldRegistration) { - var type = StringUtils.format(": {} | null", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); - return new Triple<>(type, field.getName(), "null"); + var type = StringUtils.format(": {}", GenerateTsUtils.toTsClassName(field.getGenericType().toString())); + return new Triple<>(type, field.getName(), "new Set()"); } @Override diff --git a/protocol/src/main/resources/typescript/ProtocolTemplate.ts b/protocol/src/main/resources/typescript/ProtocolTemplate.ts index eaa22d0e..8b5b15bf 100644 --- a/protocol/src/main/resources/typescript/ProtocolTemplate.ts +++ b/protocol/src/main/resources/typescript/ProtocolTemplate.ts @@ -4,20 +4,16 @@ class {} { {} - static PROTOCOL_ID: number = {} + static PROTOCOL_ID: number = {}; protocolId(): number { return {}.PROTOCOL_ID; } static write(buffer: any, packet: {} | null) { - if (buffer.writePacketFlag(packet)) { + if (buffer.writePacketFlag(packet) || packet == null) { return; } - if (packet === null) { - return; - } - {} }