【特性】为了支持可空bean,调整生成的typescript json代码

main
walon 2021-06-29 19:11:22 +08:00
parent a471f13488
commit 0bf3824ebb
1 changed files with 14 additions and 14 deletions

View File

@ -41,18 +41,17 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
public {{name}}({{- for field in hierarchy_export_fields }}{{cs_define_type field.ctype}} {{field.name}}{{if !for.last}},{{end}} {{end}}) {{if parent_def_type}} : base({{- for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}},{{end}}{{end}}) {{end}}
{
{{- for field in export_fields }}
{{~ for field in export_fields ~}}
this.{{field.cs_style_name}} = {{field.name}};
{{-if field.index_field}}
{{~if field.index_field~}}
foreach(var _v in {{field.cs_style_name}}) { {{field.cs_style_name}}_Index.Add(_v.{{field.index_field.cs_style_name}}, _v); }
{{-end}}
{{-end}}
{{~end~}}
{{~end~}}
}
public static {{name}} Deserialize{{name}}(JsonElement _buf)
{
{{if x.is_abstract_type}}
if (_buf.ValueKind == JsonValueKind.Null) { return null; }
{{~if x.is_abstract_type~}}
switch (_buf.GetProperty(""__type__"").GetString())
{
{{- for child in x.hierarchy_not_abstract_children}}
@ -60,9 +59,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
{{-end}}
default: throw new SerializationException();
}
{{else}}
{{~else~}}
return new {{x.full_name}}(_buf);
{{end}}
{{~end~}}
}
{{~ for field in export_fields ~}}
@ -75,14 +74,16 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
{{~end~}}
{{~end~}}
{{if !x.is_abstract_type}}
{{~if !x.is_abstract_type~}}
public const int ID = {{x.id}};
public override int GetTypeId() => ID;
{{end}}
{{~end~}}
public {{x.cs_method_modifier}} void Resolve(Dictionary<string, object> _tables)
{
{{~if parent_def_type}}base.Resolve(_tables);{{end}}
{{~if parent_def_type~}}
base.Resolve(_tables);
{{~end~}}
{{~ for field in export_fields ~}}
{{~if field.gen_ref~}}
{{cs_ref_validator_resolve field}}
@ -98,9 +99,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
public override string ToString()
{
return ""{{full_name}}{ ""
{{- for field in hierarchy_export_fields }}
{{~ for field in hierarchy_export_fields ~}}
+ ""{{field.cs_style_name}}:"" + {{cs_to_string field.cs_style_name field.ctype}} + "",""
{{-end}}
{{~end~}}
+ ""}"";
}
}
@ -181,7 +182,6 @@ public sealed partial class {{name}}
_data = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_buf[0]);
}
{{~ for field in value_type.bean.hierarchy_export_fields ~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
{{~if field.ref~}}