From 5e0c35c2fcdb17627123228e561c66e2ed4c7692 Mon Sep 17 00:00:00 2001 From: walon Date: Mon, 9 Aug 2021 20:23:25 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8Dproto=E5=92=8Ccfg=E7=94=9F=E6=88=90=E7=9A=84typescript?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=9C=A8eslint=E4=B8=8B=E6=9C=89=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Luban.Job.Cfg/Source/Defs/DefField.cs | 2 +- src/Luban.Job.Cfg/Source/Defs/TTypeTemplateExtends.cs | 4 ++-- src/Luban.Job.Cfg/Source/Generate/TypescriptCodeBinRender.cs | 2 +- .../Source/Generate/TypescriptCodeJsonRender.cs | 4 ++-- .../Source/TypeVisitors/TypescriptBinConstructorVisitor.cs | 2 +- .../Source/TypeVisitors/TypescriptJsonConstructorVisitor.cs | 2 +- src/Luban.Job.Proto/Source/Generate/TypescriptRender.cs | 5 ----- 7 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/Luban.Job.Cfg/Source/Defs/DefField.cs b/src/Luban.Job.Cfg/Source/Defs/DefField.cs index 2cce437..a78cfae 100644 --- a/src/Luban.Job.Cfg/Source/Defs/DefField.cs +++ b/src/Luban.Job.Cfg/Source/Defs/DefField.cs @@ -94,7 +94,7 @@ namespace Luban.Job.Cfg.Defs get { var table = Assembly.GetCfgTable(Ref.FirstTable); - return $"{TsRefVarName} : {table.ValueTType.Apply(TypescriptDefineTypeNameVisitor.Ins)}"; + return $"{TsRefVarName} : {table.ValueTType.Apply(TypescriptDefineTypeNameVisitor.Ins)}{(IsNullable ? " | undefined" : " = undefined!")}"; } } diff --git a/src/Luban.Job.Cfg/Source/Defs/TTypeTemplateExtends.cs b/src/Luban.Job.Cfg/Source/Defs/TTypeTemplateExtends.cs index b2293ad..74975f4 100644 --- a/src/Luban.Job.Cfg/Source/Defs/TTypeTemplateExtends.cs +++ b/src/Luban.Job.Cfg/Source/Defs/TTypeTemplateExtends.cs @@ -128,11 +128,11 @@ namespace Luban.Job.Cfg.Defs var table = field.Assembly.GetCfgTable(field.Ref.FirstTable); if (field.IsNullable) { - return $"this.{refVarName} = {name} != null ? (_tables.get('{tableName}') as {table.FullName}).get({name}) : null"; + return $"this.{refVarName} = {name} != undefined ? (_tables.get('{tableName}') as {table.FullName}).get({name}) : undefined"; } else { - return $"this.{refVarName} = (_tables.get('{tableName}') as {table.FullName}).get({name})"; + return $"this.{refVarName} = (_tables.get('{tableName}') as {table.FullName}).get({name})!"; } } diff --git a/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeBinRender.cs b/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeBinRender.cs index 1476803..41905e7 100644 --- a/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeBinRender.cs +++ b/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeBinRender.cs @@ -114,7 +114,7 @@ export class {{name}} { getDataMap(): Map<{{ts_define_type key_type}}, {{ts_define_type value_type}}> { return this._dataMap } getDataList(): {{ts_define_type value_type}}[] { return this._dataList } - get(key: {{ts_define_type key_type}}): {{ts_define_type value_type}} { return this._dataMap.get(key) } + get(key: {{ts_define_type key_type}}): {{ts_define_type value_type}} | undefined { return this._dataMap.get(key) } resolve(_tables: Map) { for(var v of this._dataList) { diff --git a/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeJsonRender.cs b/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeJsonRender.cs index 3049615..a26e6d8 100644 --- a/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeJsonRender.cs +++ b/src/Luban.Job.Cfg/Source/Generate/TypescriptCodeJsonRender.cs @@ -44,7 +44,7 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} {{if parent_def {{~end~}} {{~ for field in export_fields ~}} {{~if !field.ctype.is_nullable~}} - if (_json_.{{field.name}} == null) { throw new Error() } + if (_json_.{{field.name}} == undefined) { throw new Error() } {{~end~}} {{ts_json_constructor ('this.' + field.ts_style_name) ( '_json_.' + field.name) field.ctype}} {{~end~}} @@ -115,7 +115,7 @@ export class {{name}}{ getDataMap(): Map<{{ts_define_type key_type}}, {{ts_define_type value_type}}> { return this._dataMap; } getDataList(): {{ts_define_type value_type}}[] { return this._dataList; } - get(key: {{ts_define_type key_type}}): {{ts_define_type value_type}} { return this._dataMap.get(key); } + get(key: {{ts_define_type key_type}}): {{ts_define_type value_type}} | undefined { return this._dataMap.get(key); } resolve(_tables: Map) { for(var v of this._dataList) { diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptBinConstructorVisitor.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptBinConstructorVisitor.cs index e12ae01..d020000 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptBinConstructorVisitor.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptBinConstructorVisitor.cs @@ -11,7 +11,7 @@ namespace Luban.Job.Common.TypeVisitors { if (type.IsNullable) { - return $"if({byteBufName}.ReadBool()) {{ {type.Apply(TypescriptBinUnderingConstructorVisitor.Ins, byteBufName, fieldName)} }} else {{ {fieldName} = null }}"; + return $"if({byteBufName}.ReadBool()) {{ {type.Apply(TypescriptBinUnderingConstructorVisitor.Ins, byteBufName, fieldName)} }} else {{ {fieldName} = undefined }}"; } else { diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptJsonConstructorVisitor.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptJsonConstructorVisitor.cs index 5c94ba3..dae5a3c 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptJsonConstructorVisitor.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/TypescriptJsonConstructorVisitor.cs @@ -11,7 +11,7 @@ namespace Luban.Job.Cfg.TypeVisitors { if (type.IsNullable) { - return $"if({jsonFieldName} != null) {{ {type.Apply(TypescriptJsonUnderingConstructorVisitor.Ins, jsonFieldName, fieldName)} }} else {{ {fieldName} = null }}"; + return $"if({jsonFieldName} != undefined) {{ {type.Apply(TypescriptJsonUnderingConstructorVisitor.Ins, jsonFieldName, fieldName)} }} else {{ {fieldName} = undefined }}"; } else { diff --git a/src/Luban.Job.Proto/Source/Generate/TypescriptRender.cs b/src/Luban.Job.Proto/Source/Generate/TypescriptRender.cs index bc6c56a..9e63315 100644 --- a/src/Luban.Job.Proto/Source/Generate/TypescriptRender.cs +++ b/src/Luban.Job.Proto/Source/Generate/TypescriptRender.cs @@ -61,10 +61,6 @@ namespace Luban.Job.Proto.Generate export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if parent_def_type}}{{x.parent}}{{else}}BeanBase{{end}} { {{~if x.is_abstract_type~}} static serializeTo(_buf_ : ByteBuf, _bean_ : {{name}}) { - if (_bean_ == null) { - _buf_.WriteInt(0) - return - } _buf_.WriteInt(_bean_.getTypeId()) _bean_.serialize(_buf_) } @@ -72,7 +68,6 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa static deserializeFrom(_buf_ : ByteBuf) : {{name}} { let _bean_ :{{name}} switch (_buf_.ReadInt()) { - case 0 : return null {{~ for child in x.hierarchy_not_abstract_children~}} case {{child.id}}: _bean_ = new {{child.full_name}}(); break {{~end~}}