【特性】新增 --naming_convention_xxx 相关选项,允许指定生成代码的命名风格

main
walon 2021-10-25 16:16:31 +08:00
parent dff8ac0cdd
commit 8f872289b8
56 changed files with 446 additions and 193 deletions

View File

@ -129,11 +129,11 @@
|/demo/key1|苹果|苹果|apple|
|/demo/key2|香蕉|香蕉|banana|
假设配置表的表名为 l10n.TbTextMapper示例c#版本地化映射函数如下:
假设想切换到en配置表的表名为 l10n.TbTextMapper示例c#版本地化映射函数如下:
```c#
string TextMapper(string key, string originText)
{
return tables.TbTextMapper.GetOrDefault(key) ?? originText;
return tables.TbTextMapper.GetOrDefault(key)?.TextEn ?? originText;
}
```

View File

@ -208,6 +208,28 @@ namespace Luban.Common.Utils
return char.ToUpper(s[0]) + s.Substring(1);
}
public static string ToCamelCase(string name)
{
var words = name.Split('_').Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();
var s = new StringBuilder();
s.Append(words[0]);
for (int i = 1; i < words.Length; i++)
{
s.Append(UpperCaseFirstChar(words[i]));
}
return s.ToString();
}
public static string ToPascalCase(string name)
{
return string.Join("", name.Split('_').Where(s => !string.IsNullOrWhiteSpace(s)).Select(c => UpperCaseFirstChar(c)));
}
public static string ToUnderScores(string name)
{
return name;
}
public static string ToCsStyleName(string orginName)
{
return string.Join("", orginName.Split('_').Where(s => !string.IsNullOrWhiteSpace(s)).Select(c => UpperCaseFirstChar(c)));
@ -236,6 +258,17 @@ namespace Luban.Common.Utils
return s.ToString();
}
public static string ToConventionGetterName(string orginName)
{
var words = orginName.Split('_').Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();
var s = new StringBuilder("get");
foreach (var word in words)
{
s.Append(UpperCaseFirstChar(word));
}
return s.ToString();
}
public static string GetNamespace(string fullName)
{
var index = fullName.LastIndexOf('.');

View File

@ -57,7 +57,7 @@ namespace Luban.Job.Cfg.Defs
get
{
var table = Assembly.GetCfgTable(Ref.FirstTable);
return $"{table.ValueTType.Apply(CsDefineTypeName.Ins)} {CsRefVarName} {{ get; private set; }}";
return $"{table.ValueTType.Apply(CsDefineTypeName.Ins)} {RefVarName} {{ get; private set; }}";
}
}
@ -75,7 +75,7 @@ namespace Luban.Job.Cfg.Defs
get
{
var table = Assembly.GetCfgTable(Ref.FirstTable);
return $"{table.ValueTType.Apply(JavaDefineTypeName.Ins)} {JavaRefVarName};";
return $"{table.ValueTType.Apply(JavaDefineTypeName.Ins)} {RefVarName};";
}
}
@ -84,7 +84,7 @@ namespace Luban.Job.Cfg.Defs
get
{
var table = Assembly.GetCfgTable(Ref.FirstTable);
return $"{table.ValueTType.Apply(CppDefineTypeName.Ins)} {CppRefVarName};";
return $"{table.ValueTType.Apply(CppDefineTypeName.Ins)} {RefVarName};";
}
}
@ -93,22 +93,19 @@ namespace Luban.Job.Cfg.Defs
get
{
var table = Assembly.GetCfgTable(Ref.FirstTable);
return $"{TsRefVarName} : {table.ValueTType.Apply(TypescriptDefineTypeNameVisitor.Ins)}{(IsNullable ? "" : " = undefined!")}";
return $"{RefVarName} : {table.ValueTType.Apply(TypescriptDefineTypeNameVisitor.Ins)}{(IsNullable ? "" : " = undefined!")}";
}
}
#endif
public string CsRefVarName => $"{CsStyleName}_Ref";
public string RefVarName => $"{ConventionName}_Ref";
public string JavaRefVarName => $"{JavaStyleName}_Ref";
public string CppRefVarName => $"{CsStyleName}_Ref";
public string ConventionGetterName => TypeUtil.ToJavaGetterName(Name);
public string TsRefVarName => $"{TsStyleName}_Ref";
//public string JavaGetterName => TypeUtil.ToJavaGetterName(Name);
public string JavaGetterName => TypeUtil.ToJavaGetterName(Name);
public string CppGetterName => JavaGetterName;
//public string CppGetterName => JavaGetterName;
public bool NeedExport => Assembly.NeedExport(this.Groups);

View File

@ -34,6 +34,7 @@ namespace Luban.Job.Cfg.Generate
string genType = ctx.GenType;
ctx.Render = this;
ctx.Lan = RenderFileUtil.GetLanguage(genType);
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
foreach (var c in ctx.ExportTypes)
{
ctx.Tasks.Add(Task.Run(() =>

View File

@ -17,7 +17,7 @@ namespace Luban.Job.Cfg.Generate
{
// 将所有 头文件定义 生成到一个文件
// 按照 const,enum,bean,table, service 的顺序生成
DefAssembly.LocalAssebmly.CurrentLanguage = ELanguage.CPP;
ctx.Tasks.Add(Task.Run(() =>
{
var headerFileContent = new List<string>

View File

@ -11,6 +11,7 @@ namespace Luban.Job.Cfg.Generate
{
public override void Render(GenContext ctx)
{
DefAssembly.LocalAssebmly.CurrentLanguage = Common.ELanguage.LUA;
var file = RenderFileUtil.GetFileOrDefault(ctx.GenArgs.OutputCodeMonolithicFile, "Types.lua");
var content = this.RenderAll(ctx.ExportTypes);
var md5 = CacheFileUtil.GenMd5AndAddCache(file, string.Join('\n', content));

View File

@ -11,6 +11,7 @@ namespace Luban.Job.Cfg.Generate
{
ctx.Render = this;
ctx.Lan = Common.ELanguage.PYTHON;
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
var lines = new List<string>(10000);
static void PreContent(List<string> fileContent)

View File

@ -18,6 +18,7 @@ namespace Luban.Job.Cfg.Generate
var args = ctx.GenArgs;
ctx.Render = this;
ctx.Lan = RenderFileUtil.GetLanguage(genType);
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
var lines = new List<string>();
GenerateCodeMonolithic(ctx, RenderFileUtil.GetFileOrDefault(ctx.GenArgs.OutputCodeMonolithicFile, "mod.rs"), lines, ls =>

View File

@ -1,3 +1,4 @@
using Luban.Job.Cfg.Defs;
using Luban.Job.Common.Defs;
using Luban.Job.Common.Utils;
using System;
@ -13,6 +14,7 @@ namespace Luban.Job.Cfg.Generate
var args = ctx.GenArgs;
ctx.Render = this;
ctx.Lan = RenderFileUtil.GetLanguage(genType);
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
var lines = new List<string>(10000);
Action<List<string>> preContent = (fileContent) =>

View File

@ -98,6 +98,10 @@ namespace Luban.Job.Cfg
{
return false;
}
if (!options.ValidateConvention(ref errMsg))
{
return false;
}
return true;
}
@ -145,6 +149,10 @@ namespace Luban.Job.Cfg
{
UseUnityVectors = args.UseUnityVectors,
OutputCompactJson = args.OutputCompactJson,
NamingConventionModule = args.NamingConventionModule,
NamingConventionType = args.NamingConventionType,
NamingConventionBeanMember = args.NamingConventionBeanMember,
NamingConventionEnumMember = args.NamingConventionEnumMember,
};
ass.Load(args.Service, rawDefines);

View File

@ -11,17 +11,17 @@ namespace Luban.Job.Cfg.Utils
{
public static string CsDefineTextKeyField(DefField field)
{
return $"string {field.GetTextKeyName(field.CsStyleName)}";
return $"string {field.GetTextKeyName(field.ConventionName)}";
}
public static string CsTranslateText(DefField field, string translatorName)
{
return $"{field.CsStyleName} = {translatorName}({field.GetTextKeyName(field.CsStyleName)}, {field.CsStyleName});";
return $"{field.ConventionName} = {translatorName}({field.GetTextKeyName(field.ConventionName)}, {field.ConventionName});";
}
public static string CsRecursiveTranslateText(DefField field, string translatorName)
{
return field.CType.Apply(CsRecursiveTranslateVisitor.Ins, field.CsStyleName, translatorName);
return field.CType.Apply(CsRecursiveTranslateVisitor.Ins, field.ConventionName, translatorName);
}
public static string CsJsonDeserialize(string bufName, string fieldName, string jsonFieldName, TType type)
@ -50,13 +50,13 @@ namespace Luban.Job.Cfg.Utils
public static string CsRecursiveResolve(DefField field, string tables)
{
return field.CType.Apply(CsRecursiveResolveVisitor.Ins, field.CsStyleName, tables);
return field.CType.Apply(CsRecursiveResolveVisitor.Ins, field.ConventionName, tables);
}
public static string CsRefValidatorResolve(DefField field)
{
var refVarName = field.CsRefVarName;
var name = field.CsStyleName;
var refVarName = field.RefVarName;
var name = field.ConventionName;
var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable)
@ -88,13 +88,13 @@ namespace Luban.Job.Cfg.Utils
public static string JavaRecursiveResolve(DefField field, string tables)
{
return field.CType.Apply(JavaRecursiveResolveVisitor.Ins, field.JavaStyleName, tables);
return field.CType.Apply(JavaRecursiveResolveVisitor.Ins, field.ConventionName, tables);
}
public static string JavaRefValidatorResolve(DefField field)
{
var refVarName = field.JavaRefVarName;
var name = field.JavaStyleName;
var refVarName = field.RefVarName;
var name = field.ConventionName;
var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable)
@ -114,13 +114,13 @@ namespace Luban.Job.Cfg.Utils
public static string CppRecursiveResolve(DefField field, string tables)
{
return field.CType.Apply(CppRecursiveResolveVisitor.Ins, field.CsStyleName, tables);
return field.CType.Apply(CppRecursiveResolveVisitor.Ins, field.ConventionName, tables);
}
public static string CppRefValidatorResolve(DefField field)
{
var refVarName = field.CppRefVarName;
var name = field.CsStyleName;
var refVarName = field.RefVarName;
var name = field.ConventionName;
var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable)
@ -165,13 +165,13 @@ namespace Luban.Job.Cfg.Utils
public static string TsRecursiveResolve(DefField field, string tables)
{
return field.CType.Apply(TypescriptRecursiveResolveVisitor.Ins, "this." + field.CsStyleName, tables);
return field.CType.Apply(TypescriptRecursiveResolveVisitor.Ins, "this." + field.ConventionName, tables);
}
public static string TsRefValidatorResolve(DefField field)
{
var refVarName = field.CsRefVarName;
var name = "this." + field.TsStyleName;
var refVarName = field.RefVarName;
var name = "this." + field.ConventionName;
var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable)
@ -212,7 +212,7 @@ namespace Luban.Job.Cfg.Utils
{
switch (lan)
{
case "cs": return $"string {field.CsStyleName}{TText.L10N_FIELD_SUFFIX};";
case "cs": return $"string {field.ConventionName}{TText.L10N_FIELD_SUFFIX};";
default: throw new NotSupportedException($"not support lan:{lan}");
}
}

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Luban.Job.Common
{
public enum AccessConvention
{
Invalid,
LanguangeRecommend,
Variable,
GetterSetter,
Property,
}
}

View File

@ -42,6 +42,18 @@ namespace Luban.Job.Common.Defs
public bool UseUnityVectors { get; set; }
public NamingConvention NamingConventionModule { get; set; } = NamingConvention.LanguangeRecommend;
public NamingConvention NamingConventionType { get; set; } = NamingConvention.LanguangeRecommend;
public NamingConvention NamingConventionBeanMember { get; set; } = NamingConvention.LanguangeRecommend;
public NamingConvention NamingConventionEnumMember { get; set; } = NamingConvention.LanguangeRecommend;
public AccessConvention AccessConventionBeanMember { get; set; } = AccessConvention.LanguangeRecommend;
public ELanguage CurrentLanguage { get; set; } = ELanguage.INVALID;
public void AddType(DefTypeBase type)
{
string fullName = type.FullName;

View File

@ -17,50 +17,94 @@ namespace Luban.Job.Common.Defs
public string Name { get; set; }
private string _lanStyleName;
public string CsStyleName
public string ConventionName
{
get
{
if (_lanStyleName == null)
string cn;
ELanguage curLan = AssemblyBase.CurrentLanguage;
switch (AssemblyBase.NamingConventionBeanMember)
{
_lanStyleName = TypeUtil.ToCsStyleName(Name);
case NamingConvention.Origin: cn = Name; break;
case NamingConvention.CameraCase: cn = TypeUtil.ToCamelCase(Name); break;
case NamingConvention.PascalCase: cn = TypeUtil.ToPascalCase(Name); break;
case NamingConvention.UnderScores: cn = TypeUtil.ToUnderScores(Name); break;
case NamingConvention.Invalid: throw new Exception($"invalid NamingConvention");
case NamingConvention.LanguangeRecommend:
{
switch (curLan)
{
case ELanguage.INVALID: throw new Exception($"not set current language. can't get recommend naming convention name");
case ELanguage.CS: cn = TypeUtil.ToPascalCase(Name); break;
case ELanguage.JAVA: cn = TypeUtil.ToCamelCase(Name); break;
case ELanguage.GO: cn = TypeUtil.ToPascalCase(Name); break;
case ELanguage.CPP: cn = TypeUtil.ToCamelCase(Name); break;
case ELanguage.LUA: cn = TypeUtil.ToUnderScores(Name); break;
case ELanguage.JS: cn = TypeUtil.ToCamelCase(Name); break;
case ELanguage.TYPESCRIPT: cn = TypeUtil.ToCamelCase(Name); break;
case ELanguage.PYTHON: cn = TypeUtil.ToUnderScores(Name); break;
case ELanguage.RUST: cn = TypeUtil.ToUnderScores(Name); break;
default: throw new Exception($"unknown language:{curLan}");
}
return _lanStyleName;
break;
}
default: throw new Exception($"unknown NamingConvention:{AssemblyBase.NamingConventionBeanMember}");
}
if (curLan == ELanguage.RUST)
{
if (cn == "type")
{
cn = "r#type";
}
}
return cn;
}
}
public string JavaStyleName
{
get
{
if (_lanStyleName == null)
{
_lanStyleName = TypeUtil.ToJavaStyleName(Name);
}
return _lanStyleName;
}
}
//private string _lanStyleName;
//public string CsStyleName
//{
// get
// {
// if (_lanStyleName == null)
// {
// _lanStyleName = TypeUtil.ToCsStyleName(Name);
// }
// return _lanStyleName;
// }
//}
public string CppStyleName => JavaStyleName;
//public string JavaStyleName
//{
// get
// {
// if (_lanStyleName == null)
// {
// _lanStyleName = TypeUtil.ToJavaStyleName(Name);
// }
// return _lanStyleName;
// }
//}
public string TsStyleName
{
get
{
if (_lanStyleName == null)
{
_lanStyleName = TypeUtil.ToJavaStyleName(Name);
}
return _lanStyleName;
}
}
//public string CppStyleName => JavaStyleName;
public string PyStyleName => Name;
//public string TsStyleName
//{
// get
// {
// if (_lanStyleName == null)
// {
// _lanStyleName = TypeUtil.ToJavaStyleName(Name);
// }
// return _lanStyleName;
// }
//}
public string GoStyleName => CsStyleName;
//public string PyStyleName => Name;
public string RustStyleName => Name != "type" ? Name : "r#" + Name;
//public string GoStyleName => CsStyleName;
//public string RustStyleName => Name != "type" ? Name : "r#" + Name;
//public string GoStyleAssignName => CType.IsNullable ? "*" + CsStyleName : CsStyleName;

View File

@ -2,6 +2,7 @@ namespace Luban.Job.Common
{
public enum ELanguage
{
INVALID,
CS,
JAVA,
GO,

View File

@ -28,6 +28,31 @@ namespace Luban.Job.Common
[Option("use_unity_vector", Required = false, HelpText = "use UnityEngine.Vector{2,3,4}")]
public bool UseUnityVectors { get; set; }
[Option("naming_convention_module", Required = false, HelpText = "naming convention of module. can be language_recommend,origin,camelCase,PascalCase,under_scores")]
public string NamingConventionModuleStr { get; set; }
public NamingConvention NamingConventionModule { get; set; }
[Option("naming_convention_type", Required = false, HelpText = "naming convention of enum and bean. can be language_recommend,origin,camelCase,PascalCase,under_scores")]
public string NamingConventionTypeStr { get; set; }
public NamingConvention NamingConventionType { get; set; }
[Option("naming_convention_bean_member", Required = false, HelpText = "naming convention of bean member. can be language_recommend,origin,camelCase,PascalCase,under_scores")]
public string NamingConventionBeanMemberStr { get; set; }
public NamingConvention NamingConventionBeanMember { get; set; }
[Option("naming_convention_enum_member", Required = false, HelpText = "naming convention of enum member. can be language_recommend,origin,camelCase,PascalCase,under_scores")]
public string NamingConventionEnumMemberStr { get; set; }
public NamingConvention NamingConventionEnumMember { get; set; }
[Option("access_bean_member", Required = false, HelpText = "mode of bean field. can be language_recommend,variable,getter_setter,property")]
public string AccessConventionBeanMemberStr { get; set; }
public AccessConvention AccessConventionBeanMember { get; set; }
public bool ValidateOutouptCodeDir(ref string errMsg)
{
if (string.IsNullOrWhiteSpace(this.OutputCodeDir))
@ -38,6 +63,36 @@ namespace Luban.Job.Common
return true;
}
public static bool TryParseNamingConvention(string nc, out NamingConvention result)
{
switch (nc)
{
case null:
case "":
case "language_recommend": result = NamingConvention.LanguangeRecommend; return true;
case "origin": result = NamingConvention.Origin; return true;
case "camelCase": result = NamingConvention.CameraCase; return true;
case "PascalCase": result = NamingConvention.PascalCase; return true;
case "under_scores": result = NamingConvention.UnderScores; return true;
default: result = NamingConvention.Invalid; return false;
}
}
public static bool TryParseAccessConvention(string fm, out AccessConvention ac)
{
//return string.IsNullOrEmpty(fm) || fm == "language_recommend" || fm == "variable" || fm == "getter_setter" || fm == "property";
switch (fm)
{
case null:
case "":
case "language_recommnd": ac = AccessConvention.LanguangeRecommend; return true;
case "variable": ac = AccessConvention.Variable; return true;
case "getter_setter": ac = AccessConvention.GetterSetter; return true;
case "property": ac = AccessConvention.Property; return true;
default: ac = AccessConvention.Invalid; return false;
}
}
public bool ValidateTypescriptRequire(string genType, ref string errMsg)
{
if (!string.IsNullOrWhiteSpace(this.TypescriptBrightRequirePath) && !string.IsNullOrWhiteSpace(this.TypescriptBrightPackageName))
@ -58,5 +113,40 @@ namespace Luban.Job.Common
}
return true;
}
public bool ValidateConvention(ref string errMsg)
{
if (!TryParseNamingConvention(NamingConventionModuleStr, out var m))
{
errMsg = "--naming_convention_module invalid! valid values: language_recommend,origin,camelCase,PascalCase,under_scores";
return false;
}
NamingConventionModule = m;
if (!TryParseNamingConvention(NamingConventionTypeStr, out var t))
{
errMsg = "--naming_convention_type invalid! valid values: language_recommend,origin,camelCase,PascalCase,under_scores";
return false;
}
NamingConventionType = t;
if (!TryParseNamingConvention(NamingConventionBeanMemberStr, out var bm))
{
errMsg = "--naming_convention_bean_member invalid! valid values: language_recommend,origin,camelCase,PascalCase,under_scores";
return false;
}
NamingConventionBeanMember = bm;
if (!TryParseNamingConvention(NamingConventionEnumMemberStr, out var em))
{
errMsg = "--naming_convention_enum_member invalid! valid values: language_recommend,origin,camelCase,PascalCase,under_scores";
return false;
}
NamingConventionEnumMember = em;
if (!TryParseAccessConvention(AccessConventionBeanMemberStr, out var acbm))
{
errMsg = "--access_bean_member invalid! valid values: language_recommend,variable,getter_setter,property";
return false;
}
AccessConventionBeanMember = acbm;
return true;
}
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Luban.Job.Common
{
public enum NamingConvention
{
Invalid,
LanguangeRecommend,
Origin,
CameraCase,
PascalCase,
UnderScores,
}
}

View File

@ -70,7 +70,7 @@ namespace Luban.Job.Db.Defs
public static string CsInitFieldCtorValue(DefField field)
{
return $"{field.CsStyleName} = default;";
return $"{field.ConventionName} = default;";
}
public static string CsWriteBlob(string bufName, string fieldName, TType type)

View File

@ -51,6 +51,10 @@ namespace Luban.Job.Db
{
return false;
}
if (!options.ValidateConvention(ref errMsg))
{
return false;
}
return true;
}
@ -85,7 +89,13 @@ namespace Luban.Job.Db
var rawDefines = loader.BuildDefines();
var ass = new DefAssembly();
var ass = new DefAssembly()
{
NamingConventionModule = args.NamingConventionModule,
NamingConventionType = args.NamingConventionType,
NamingConventionBeanMember = args.NamingConventionBeanMember,
NamingConventionEnumMember = args.NamingConventionEnumMember,
};
ass.Load(rawDefines, agent);
@ -101,6 +111,7 @@ namespace Luban.Job.Db
{
case "cs":
{
ass.CurrentLanguage = ELanguage.CS;
var render = new AsyncCsRender();
foreach (var c in ass.Types.Values)
{
@ -128,6 +139,7 @@ namespace Luban.Job.Db
}
case "typescript":
{
ass.CurrentLanguage = ELanguage.TYPESCRIPT;
var render = new TypescriptRender();
var brightRequirePath = args.TypescriptBrightRequirePath;
var brightPackageName = args.TypescriptBrightPackageName;

View File

@ -58,6 +58,10 @@ namespace Luban.Job.Proto
{
return false;
}
if (!options.ValidateConvention(ref errMsg))
{
return false;
}
return true;
}
@ -92,7 +96,15 @@ namespace Luban.Job.Proto
var rawDefines = loader.BuildDefines();
var ass = new DefAssembly() { UseUnityVectors = args.UseUnityVectors };
var ass = new DefAssembly()
{
UseUnityVectors = args.UseUnityVectors,
NamingConventionModule = args.NamingConventionModule,
NamingConventionType = args.NamingConventionType,
NamingConventionBeanMember = args.NamingConventionBeanMember,
NamingConventionEnumMember = args.NamingConventionEnumMember,
};
ass.Load(rawDefines, agent);
@ -112,6 +124,7 @@ namespace Luban.Job.Proto
{
case "cs":
{
ass.CurrentLanguage = ELanguage.CS;
var render = new CsRender();
foreach (var c in ass.Types.Values)
{
@ -140,6 +153,7 @@ namespace Luban.Job.Proto
}
case "lua":
{
ass.CurrentLanguage = ELanguage.LUA;
tasks.Add(Task.Run(() =>
{
var render = new LuaRender();
@ -152,6 +166,7 @@ namespace Luban.Job.Proto
}
case "typescript":
{
ass.CurrentLanguage = ELanguage.TYPESCRIPT;
var render = new TypescriptRender();
var brightRequirePath = args.TypescriptBrightRequirePath;
var brightPackageName = args.TypescriptBrightPackageName;

View File

@ -31,7 +31,7 @@ class {{name}} : public {{if parent_def_type}} {{parent_def_type.cpp_full_name}}
{
{{~ for field in export_fields ~}}
this->{{field.cpp_style_name}} = {{field.name}};
this->{{field.convention_name}} = {{field.name}};
{{~end~}}
}
{{~end~}}
@ -45,9 +45,9 @@ class {{name}} : public {{if parent_def_type}} {{parent_def_type.cpp_full_name}}
* {{field.comment}}
*/
{{~end~}}
{{cpp_define_type field.ctype}} {{field.cpp_style_name}};
{{cpp_define_type field.ctype}} {{field.convention_name}};
{{~if field.index_field~}}
::bright::HashMap<{{cpp_define_type field.index_field.ctype}}, {{cpp_define_type field.ctype.element_type}}> {{field.cpp_style_name}}_Index;
::bright::HashMap<{{cpp_define_type field.index_field.ctype}}, {{cpp_define_type field.ctype.element_type}}> {{field.convention_name}}_Index;
{{~end~}}
{{~if field.gen_ref~}}
{{field.cpp_ref_validator_define}}

View File

@ -17,11 +17,11 @@ namespace {{x.top_module}}
{{~end~}}
{{~ for field in type.export_fields ~}}
{{cpp_deserialize '_buf' field.cpp_style_name field.ctype}}
{{cpp_deserialize '_buf' field.convention_name field.ctype}}
{{~if field.index_field ~}}
for(auto& _v : this->{{field.cpp_style_name}})
for(auto& _v : this->{{field.convention_name}})
{
{{field.cpp_style_name}}_Index.insert({_v->{{field.index_field.cpp_style_name}}, _v});
{{field.convention_name}}_Index.insert({_v->{{field.index_field.convention_name}}, _v});
}
{{~end~}}
{{~end~}}

View File

@ -30,7 +30,7 @@ class {{name}}
{{cpp_define_type value_type}} _v;
{{cpp_deserialize '_buf' '_v' value_type}}
_dataList.push_back(_v);
_dataMap[_v->{{x.index_field.cpp_style_name}}] = _v;
_dataMap[_v->{{x.index_field.convention_name}}] = _v;
}
return true;
}
@ -85,7 +85,7 @@ class {{name}}
* {{field.comment}}
*/
{{~end~}}
{{cpp_define_type field.ctype}}& {{field.cpp_getter_name}}() const { return _data->{{field.cpp_style_name}}; }
{{cpp_define_type field.ctype}}& {{field.convention_getter_name}}() const { return _data->{{field.convention_name}}; }
{{~end~}}
{{~end~}}
};

View File

@ -21,11 +21,11 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
public {{name}}(ByteBuf _buf) {{if parent_def_type}} : base(_buf) {{end}}
{
{{~ for field in export_fields ~}}
{{cs_deserialize '_buf' field.cs_style_name field.ctype}}
{{cs_deserialize '_buf' field.convention_name field.ctype}}
{{~if field.index_field~}}
foreach(var _v in {{field.cs_style_name}})
foreach(var _v in {{field.convention_name}})
{
{{field.cs_style_name}}_Index.Add(_v.{{field.index_field.cs_style_name}}, _v);
{{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v);
}
{{~end~}}
{{~end~}}
@ -52,9 +52,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} { get; private set; }
public {{cs_define_type field.ctype}} {{field.convention_name}} { get; private set; }
{{~if field.index_field~}}
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.cs_style_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.convention_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
{{~end~}}
{{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}}
@ -101,7 +101,7 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
{
return "{{full_name}}{ "
{{~for field in hierarchy_export_fields ~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -31,7 +31,7 @@ public sealed class {{name}}
{{cs_define_type value_type}} _v;
{{cs_deserialize '_buf' '_v' value_type}}
_dataList.Add(_v);
_dataMap.Add(_v.{{x.index_field.cs_style_name}}, _v);
_dataMap.Add(_v.{{x.index_field.convention_name}}, _v);
}
}
@ -80,9 +80,9 @@ public sealed class {{name}}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
public {{cs_define_type field.ctype}} {{field.convention_name}} => _data.{{field.convention_name}};
{{~if field.ref~}}
public {{field.cs_ref_type_name}} {{field.cs_ref_var_name}} => _data.{{field.cs_ref_var_name}};
public {{field.cs_ref_type_name}} {{field.ref_var_name}} => _data.{{field.ref_var_name}};
{{~end~}}
{{~end~}}

View File

@ -43,7 +43,7 @@ public {{cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}}
}
{{~end~}}
{{~for field in fields ~}}
public {{field.ctype.cs_define_type}} {{field.cs_style_name}};
public {{field.ctype.cs_define_type}} {{field.convention_name}};
{{~end~}}
{{~if !parent_def_type && is_abstract_type~}}
@ -81,7 +81,7 @@ public {{cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}}
{
return "{{full_name}}{ "
{{~for field in hierarchy_fields ~}}
+ "{{field.cs_style_name}}:" + {{field.proto_cs_to_string}} + ","
+ "{{field.convention_name}}:" + {{field.proto_cs_to_string}} + ","
{{~end~}}
+ "}";
}

View File

@ -6,7 +6,7 @@ namespace {{namespace}}
public sealed class {{name}} : Bright.Net.Protocol
{
{{~for field in fields ~}}
public {{field.ctype.cs_define_type}} {{field.cs_style_name}};
public {{field.ctype.cs_define_type}} {{field.convention_name}};
{{~end~}}
public {{name}}()
{
@ -54,7 +54,7 @@ public sealed class {{name}} : Bright.Net.Protocol
{
return "{{full_name}}{ "
{{~for field in fields ~}}
+ "{{field.cs_style_name}}:" + {{field.proto_cs_to_string}} + ","
+ "{{field.convention_name}}:" + {{field.proto_cs_to_string}} + ","
{{~end~}}
+ "}";
}

View File

@ -23,9 +23,9 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}
public {{name}}(JsonElement _json) {{if parent_def_type}} : base(_json) {{end}}
{
{{~ for field in export_fields ~}}
{{cs_json_deserialize '_json' field.cs_style_name field.name field.ctype}}
{{cs_json_deserialize '_json' field.convention_name field.name field.ctype}}
{{~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); }
foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}}
{{~end~}}
}
@ -33,9 +33,9 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}
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 ~}}
this.{{field.cs_style_name}} = {{field.name}};
this.{{field.convention_name}} = {{field.name}};
{{~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); }
foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}}
{{~end~}}
}
@ -61,9 +61,9 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} { get; private set; }
public {{cs_define_type field.ctype}} {{field.convention_name}} { get; private set; }
{{~if field.index_field~}}
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.cs_style_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.convention_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
{{~end~}}
{{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}}
@ -110,7 +110,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}
{
return "{{full_name}}{ "
{{~ for field in hierarchy_export_fields ~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -33,7 +33,7 @@ public sealed class {{name}}
{
var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row);
_dataList.Add(_v);
_dataMap.Add(_v.{{x.index_field.cs_style_name}}, _v);
_dataMap.Add(_v.{{x.index_field.convention_name}}, _v);
}
}
@ -81,9 +81,9 @@ public sealed class {{name}}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
public {{cs_define_type field.ctype}} {{field.convention_name}} => _data.{{field.convention_name}};
{{~if field.ref~}}
public {{field.cs_ref_type_name}} {{field.cs_ref_var_name}} => _data.{{field.cs_ref_var_name}};
public {{field.cs_ref_type_name}} {{field.ref_var_name}} => _data.{{field.ref_var_name}};
{{~end~}}
{{~end~}}

View File

@ -23,9 +23,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
public {{name}}(JSONNode _json) {{if parent_def_type}} : base(_json) {{end}}
{
{{~ for field in export_fields ~}}
{{cs_unity_json_deserialize '_json' field.cs_style_name field.name field.ctype}}
{{cs_unity_json_deserialize '_json' field.convention_name field.name field.ctype}}
{{~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); }
foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}}
{{~end~}}
}
@ -33,9 +33,9 @@ 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 ~}}
this.{{field.cs_style_name}} = {{field.name}};
this.{{field.convention_name}} = {{field.name}};
{{~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); }
foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}}
{{~end~}}
}
@ -62,9 +62,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} { get; private set; }
public {{cs_define_type field.ctype}} {{field.convention_name}} { get; private set; }
{{~if field.index_field~}}
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.cs_style_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
public readonly Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}> {{field.convention_name}}_Index = new Dictionary<{{cs_define_type field.index_field.ctype}}, {{cs_define_type field.ctype.element_type}}>();
{{~end~}}
{{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}}
@ -111,7 +111,7 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
{
return "{{full_name}}{ "
{{~ for field in hierarchy_export_fields ~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -33,7 +33,7 @@ public sealed class {{name}}
{
var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row);
_dataList.Add(_v);
_dataMap.Add(_v.{{x.index_field.cs_style_name}}, _v);
_dataMap.Add(_v.{{x.index_field.convention_name}}, _v);
}
}
@ -84,9 +84,9 @@ public sealed class {{name}}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
public {{cs_define_type field.ctype}} {{field.convention_name}} => _data.{{field.convention_name}};
{{~if field.ref~}}
public {{field.cs_ref_type_name}} {{field.cs_ref_var_name}} => _data.{{field.cs_ref_var_name}};
public {{field.cs_ref_type_name}} {{field.ref_var_name}} => _data.{{field.ref_var_name}};
{{~end~}}
{{~end~}}

View File

@ -19,7 +19,7 @@ type {{go_full_name}} struct {
{{parent_def_type.go_full_name}}
{{~end~}}
{{~for field in export_fields ~}}
{{field.cs_style_name}} {{go_define_type field.ctype}}
{{field.convention_name}} {{go_define_type field.ctype}}
{{~end~}}
}
@ -52,7 +52,7 @@ func New{{go_full_name}}_Body(_buf *serialization.ByteBuf) (_v *{{go_full_name}}
_v.{{parent_def_type.go_full_name}} = *_p
{{~end~}}
{{~for field in export_fields ~}}
{{go_deserialize_field field.ctype ("_v." + field.go_style_name) '_buf'}}
{{go_deserialize_field field.ctype ("_v." + field.convention_name) '_buf'}}
{{~end~}}
return
}
@ -66,7 +66,7 @@ func New{{go_full_name}}(_buf *serialization.ByteBuf) (_v *{{go_full_name}}, err
_v.{{parent_def_type.go_full_name}} = *_p
{{~end~}}
{{~for field in export_fields ~}}
{{go_deserialize_field field.ctype ("_v." + field.go_style_name) '_buf'}}
{{go_deserialize_field field.ctype ("_v." + field.convention_name) '_buf'}}
{{~end~}}
return
}

View File

@ -34,12 +34,12 @@ func New{{go_full_name}}(_buf *serialization.ByteBuf) (*{{go_full_name}}, error)
{{~if value_type.is_dynamic ~}}
{{~for child in value_type.bean.hierarchy_not_abstract_children~}}
if __v, __is := _v.(*{{child.go_full_name}}) ; __is {
dataMap[__v.{{index_field.cs_style_name}}] = _v
dataMap[__v.{{index_field.convention_name}}] = _v
continue
}
{{~end~}}
{{~else~}}
dataMap[_v.{{index_field.cs_style_name}}] = _v
dataMap[_v.{{index_field.convention_name}}] = _v
{{~end~}}
}
}

View File

@ -15,7 +15,7 @@ type {{go_full_name}} struct {
{{parent_def_type.go_full_name}}
{{~end~}}
{{~for field in export_fields ~}}
{{field.cs_style_name}} {{go_define_type field.ctype}}
{{field.convention_name}} {{go_define_type field.ctype}}
{{~end~}}
}
@ -49,7 +49,7 @@ func New{{go_full_name}}_Body(_buf map[string]interface{}) (_v *{{go_full_name}}
_v.{{parent_def_type.go_full_name}} = *_p
{{~end~}}
{{~for field in export_fields ~}}
{{go_deserialize_json_field field.ctype ("_v." + field.go_style_name) field.name '_buf'}}
{{go_deserialize_json_field field.ctype ("_v." + field.convention_name) field.name '_buf'}}
{{~end~}}
return
}
@ -62,7 +62,7 @@ func New{{go_full_name}}(_buf map[string]interface{}) (_v *{{go_full_name}}, err
_v.{{parent_def_type.go_full_name}} = *_p
{{~end~}}
{{~for field in export_fields ~}}
{{go_deserialize_json_field field.ctype ("_v." + field.go_style_name) field.name '_buf'}}
{{go_deserialize_json_field field.ctype ("_v." + field.convention_name) field.name '_buf'}}
{{~end~}}
return
}

View File

@ -28,12 +28,12 @@ func New{{go_full_name}}(_buf []map[string]interface{}) (*{{go_full_name}}, erro
{{~if value_type.is_dynamic ~}}
{{~for child in value_type.bean.hierarchy_not_abstract_children~}}
if __v, __is := _v.(*{{child.go_full_name}}) ; __is {
dataMap[__v.{{index_field.cs_style_name}}] = _v
dataMap[__v.{{index_field.convention_name}}] = _v
continue
}
{{~end~}}
{{~else~}}
dataMap[_v.{{index_field.cs_style_name}}] = _v
dataMap[_v.{{index_field.convention_name}}] = _v
{{~end~}}
}
}

View File

@ -20,10 +20,10 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
super(_buf);
{{~end~}}
{{~ for field in export_fields ~}}
{{java_deserialize '_buf' field.java_style_name field.ctype}}
{{java_deserialize '_buf' field.convention_name field.ctype}}
{{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v);
for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
}
{{~end~}}
{{~end~}}
@ -34,10 +34,10 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
super({{ for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}}, {{end}}{{end}});
{{~end~}}
{{~ for field in export_fields ~}}
this.{{field.java_style_name}} = {{field.name}};
this.{{field.convention_name}} = {{field.name}};
{{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v);
for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
}
{{~end~}}
{{~end~}}
@ -60,9 +60,9 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
* {{field.comment}}
*/
{{~end~}}
public final {{java_define_type field.ctype}} {{field.java_style_name}};
public final {{java_define_type field.ctype}} {{field.convention_name}};
{{~if field.index_field~}}
public final java.util.HashMap<{{java_box_define_type field.index_field.ctype}}, {{java_box_define_type field.ctype.element_type}}> {{field.java_style_name}}_Index = new java.util.HashMap<>();
public final java.util.HashMap<{{java_box_define_type field.index_field.ctype}}, {{java_box_define_type field.ctype.element_type}}> {{field.convention_name}}_Index = new java.util.HashMap<>();
{{~end~}}
{{~if field.gen_ref~}}
public {{field.java_ref_validator_define}}
@ -98,7 +98,7 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
public String toString() {
return "{{full_name}}{ "
{{~for field in hierarchy_export_fields ~}}
+ "{{field.java_style_name}}:" + {{java_to_string field.java_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{java_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -28,7 +28,7 @@ public final class {{name}} {
{{java_box_define_type value_type}} _v;
{{java_deserialize '_buf' '_v' value_type}}
_dataList.add(_v);
_dataMap.put(_v.{{x.index_field.java_style_name}}, _v);
_dataMap.put(_v.{{x.index_field.convention_name}}, _v);
}
}
@ -65,7 +65,7 @@ public final class {{name}} {
* {{field.comment}}
*/
{{~end~}}
public {{java_define_type field.ctype}} {{field.java_getter_name}}() { return _data.{{field.java_style_name}}; }
public {{java_define_type field.ctype}} {{field.convention_getter_name}}() { return _data.{{field.convention_name}}; }
{{~end~}}
public void resolve(java.util.HashMap<String, Object> _tables) {

View File

@ -21,10 +21,10 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
super(__json__);
{{~end~}}
{{~ for field in export_fields ~}}
{{java_json_deserialize '__json__' field.java_style_name field.name field.ctype}}
{{java_json_deserialize '__json__' field.convention_name field.name field.ctype}}
{{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v);
for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
}
{{~end~}}
{{~end~}}
@ -35,10 +35,10 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
super({{ for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}}, {{end}}{{end}});
{{~end~}}
{{~ for field in export_fields ~}}
this.{{field.java_style_name}} = {{field.name}};
this.{{field.convention_name}} = {{field.name}};
{{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v);
for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
}
{{~end~}}
{{~end~}}
@ -63,9 +63,9 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
* {{field.comment}}
*/
{{~end~}}
public final {{java_define_type field.ctype}} {{field.java_style_name}};
public final {{java_define_type field.ctype}} {{field.convention_name}};
{{~if field.index_field~}}
public final java.util.HashMap<{{java_box_define_type field.index_field.ctype}}, {{java_box_define_type field.ctype.element_type}}> {{field.java_style_name}}_Index = new java.util.HashMap<>();
public final java.util.HashMap<{{java_box_define_type field.index_field.ctype}}, {{java_box_define_type field.ctype.element_type}}> {{field.convention_name}}_Index = new java.util.HashMap<>();
{{~end~}}
{{~if field.gen_ref~}}
public {{field.java_ref_validator_define}}
@ -101,7 +101,7 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
public String toString() {
return "{{full_name}}{ "
{{~for field in hierarchy_export_fields ~}}
+ "{{field.java_style_name}}:" + {{java_to_string field.java_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{java_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -28,7 +28,7 @@ public final class {{name}} {
{{java_box_define_type value_type}} _v;
{{java_deserialize '_e_.getAsJsonObject()' '_v' value_type}}
_dataList.add(_v);
_dataMap.put(_v.{{x.index_field.java_style_name}}, _v);
_dataMap.put(_v.{{x.index_field.convention_name}}, _v);
}
}
@ -65,7 +65,7 @@ public final class {{name}} {
* {{field.comment}}
*/
{{~end~}}
public {{java_define_type field.ctype}} {{field.java_getter_name}}() { return _data.{{field.java_style_name}}; }
public {{java_define_type field.ctype}} {{field.convention_getter_name}}() { return _data.{{field.convention_name}}; }
{{~end~}}
public void resolve(java.util.HashMap<String, Object> _tables) {

View File

@ -95,9 +95,9 @@ local function InitTypes(methods)
local o = {
{{~ for field in bean.hierarchy_export_fields ~}}
{{~if !(need_marshal_bool_prefix field.ctype)~}}
{{field.name}} = {{lua_undering_deserialize 'bs' field.ctype}},
{{field.convention_name}} = {{lua_undering_deserialize 'bs' field.ctype}},
{{~else~}}
{{field.name}} = {{if !field.ctype.is_bool}}readBool(bs) and {{lua_undering_deserialize 'bs' field.ctype}} or nil {{-else-}} readNullableBool(bs) {{-end-}},
{{field.convention_name}} = {{if !field.ctype.is_bool}}readBool(bs) and {{lua_undering_deserialize 'bs' field.ctype}} or nil {{-else-}} readNullableBool(bs) {{-end-}},
{{~end~}}
{{~end~}}
}

View File

@ -13,12 +13,12 @@ local beans = {}
{{~ for bean in beans ~}}
---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}}
{{~ for field in bean.export_fields~}}
---@field public {{field.name}} {{lua_comment_type field.ctype}}
---@field public {{field.convention_name}} {{lua_comment_type field.ctype}}
{{~end~}}
beans['{{bean.full_name}}'] =
{
{{~ for field in bean.hierarchy_export_fields ~}}
{ name='{{field.name}}', type='{{lua_comment_type field.ctype}}'},
{ name='{{field.convention_name}}', type='{{lua_comment_type field.ctype}}'},
{{~end~}}
}

View File

@ -33,7 +33,7 @@ class {{name}} {{if parent_def_type}}({{parent_def_type.py_full_name}}){{else if
{{parent_def_type.py_full_name}}.__init__(self, _json_)
{{~end~}}
{{~ for field in export_fields ~}}
{{py3_deserialize_field ('self.' + field.py_style_name) '_json_' field.name field.ctype}}
{{py3_deserialize_field ('self.' + field.convention_name) '_json_' field.name field.ctype}}
{{~end~}}
{{~if export_fields.empty?}}
pass

View File

@ -16,7 +16,7 @@ class {{name}}:
for _json2_ in _json_:
{{py3_deserialize_value '_v' '_json2_' value_type}}
self._dataList.append(_v)
self._dataMap[_v.{{x.index_field.py_style_name}}] = _v
self._dataMap[_v.{{x.index_field.convention_name}}] = _v
def getDataMap(self) : return self._dataMap
def getDataList(self) : return self._dataList
@ -37,6 +37,6 @@ class {{name}}:
{{field.comment}}
'''
{{~end~}}
def {{field.py_style_name}}(self) : return self._data.{{field.py_style_name}}
def {{field.convention_name}}(self) : return self._data.{{field.convention_name}}
{{~end~}}
{{~end~}}

View File

@ -15,7 +15,7 @@
#[allow(non_camel_case_types)]
pub struct {{name}} {
{{~for field in hierarchy_export_fields~}}
pub {{field.rust_style_name}}: {{rust_define_type field.ctype}},
pub {{field.convention_name}}: {{rust_define_type field.ctype}},
{{~end~}}
}
@ -24,7 +24,7 @@ impl {{name}} {
pub fn new(__js: &json::JsonValue) -> Result<{{name}}, LoadError> {
let __b = {{name}} {
{{~for field in hierarchy_export_fields~}}
{{field.rust_style_name}}: {{rust_json_constructor ('__js["' + field.name + '"]') field.ctype}},
{{field.convention_name}}: {{rust_json_constructor ('__js["' + field.name + '"]') field.ctype}},
{{~end~}}
};
Ok(__b)

View File

@ -37,11 +37,11 @@ impl {{name}}{
let __v2 = std::rc::Rc::clone(&__v);
t.data_list.push(__v);
{{~if !value_type.bean.is_abstract_type~}}
t.data_map.insert(__v2.{{x.index_field.rust_style_name}}.clone(), __v2);
t.data_map.insert(__v2.{{x.index_field.convention_name}}.clone(), __v2);
{{~else~}}
match &*__v2 {
{{~for child in value_type.bean.hierarchy_not_abstract_children~}}
{{rust_class_name value_type}}::{{child.name}}(__w__) => t.data_map.insert(__w__.{{x.index_field.rust_style_name}}.clone(), __v2),
{{rust_class_name value_type}}::{{child.name}}(__w__) => t.data_map.insert(__w__.{{x.index_field.convention_name}}.clone(), __v2),
{{~end~}}
};
{{~end~}}

View File

@ -29,7 +29,7 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} {{if parent_def
super(_buf_)
{{~end~}}
{{~ for field in export_fields ~}}
{{ts_bin_constructor ('this.' + field.ts_style_name) '_buf_' field.ctype}}
{{ts_bin_constructor ('this.' + field.convention_name) '_buf_' field.ctype}}
{{~end~}}
}
@ -39,7 +39,7 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} {{if parent_def
* {{field.comment}}
*/
{{~end~}}
readonly {{field.ts_style_name}}: {{ts_define_type field.ctype}}
readonly {{field.convention_name}}: {{ts_define_type field.ctype}}
{{~if field.gen_ref~}}
{{field.ts_ref_validator_define}}
{{~end~}}

View File

@ -24,7 +24,7 @@ export class {{name}} {
let _v: {{ts_define_type value_type}}
{{ts_bin_constructor '_v' '_buf_' value_type}}
this._dataList.push(_v)
this._dataMap.set(_v.{{x.index_field.ts_style_name}}, _v)
this._dataMap.set(_v.{{x.index_field.convention_name}}, _v)
}
}
@ -56,7 +56,7 @@ export class {{name}} {
* {{field.comment}}
*/
{{~end~}}
get {{field.ts_style_name}}(): {{ts_define_type field.ctype}} { return this._data.{{field.ts_style_name}} }
get {{field.convention_name}}(): {{ts_define_type field.ctype}} { return this._data.{{field.convention_name}} }
{{~end~}}
resolve(_tables: Map<string, any>) {

View File

@ -32,7 +32,7 @@ export {{if x.is_abstract_type}}abstract {{end}}class {{name}}{{if parent_def_ty
{{~if !field.ctype.is_nullable~}}
if (_json_.{{field.name}} === undefined) { throw new Error() }
{{~end~}}
{{ts_json_constructor ('this.' + field.ts_style_name) ( '_json_.' + field.name) field.ctype}}
{{ts_json_constructor ('this.' + field.convention_name) ( '_json_.' + field.name) field.ctype}}
{{~end~}}
}
@ -42,7 +42,7 @@ export {{if x.is_abstract_type}}abstract {{end}}class {{name}}{{if parent_def_ty
* {{field.comment}}
*/
{{~end~}}
readonly {{field.ts_style_name}}: {{ts_define_type field.ctype}}
readonly {{field.convention_name}}: {{ts_define_type field.ctype}}
{{~if field.gen_ref~}}
{{field.ts_ref_validator_define}}
{{~end~}}

View File

@ -22,7 +22,7 @@ export class {{name}}{
let _v: {{ts_define_type value_type}}
{{ts_json_constructor '_v' '_json2_' value_type}}
this._dataList.push(_v)
this._dataMap.set(_v.{{x.index_field.ts_style_name}}, _v)
this._dataMap.set(_v.{{x.index_field.convention_name}}, _v)
}
}
@ -53,7 +53,7 @@ export class {{name}}{
* {{field.comment}}
*/
{{~end~}}
get {{field.ts_style_name}}(): {{ts_define_type field.ctype}} { return this._data.{{field.ts_style_name}}; }
get {{field.convention_name}}(): {{ts_define_type field.ctype}} { return this._data.{{field.convention_name}}; }
{{~end~}}
resolve(_tables: Map<string, any>) {

View File

@ -20,7 +20,7 @@ namespace {{x.namespace_with_top_module}}
public interface {{readonly_name}} {{if parent_def_type}}: IReadOnly{{x.parent_def_type.name}} {{end}}
{
{{~ for field in fields~}}
{{db_cs_readonly_define_type field.ctype}} {{field.cs_style_name}} { get; }
{{db_cs_readonly_define_type field.ctype}} {{field.convention_name}} { get; }
{{~end~}}
}
@ -68,7 +68,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}}
public {{db_cs_define_type ctype}} {{field.convention_name}}
{
get
{
@ -109,7 +109,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}} => {{field.internal_name}};
public {{db_cs_define_type ctype}} {{field.convention_name}} => {{field.internal_name}};
{{~end~}}
{{~if ctype.bean || ctype.element_type ~}}
@ -118,14 +118,14 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.cs_style_name}} => {{field.internal_name}};
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.convention_name}} => {{field.internal_name}};
{{~else if ctype.is_map~}}
{{~if field.comment != '' ~}}
/// <summary>
/// {{field.comment}}
/// </summary>
{{~end~}}
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.cs_style_name}} => new Bright.Transaction.Collections.PReadOnlyMap<{{db_cs_readonly_define_type ctype.key_type}}, {{db_cs_readonly_define_type ctype.value_type}}, {{db_cs_define_type ctype.value_type}}>({{field.internal_name}});
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.convention_name}} => new Bright.Transaction.Collections.PReadOnlyMap<{{db_cs_readonly_define_type ctype.key_type}}, {{db_cs_readonly_define_type ctype.value_type}}, {{db_cs_define_type ctype.value_type}}>({{field.internal_name}});
{{~end~}}
{{~end~}}
@ -193,7 +193,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
{
return "{{full_name}}{ "
{{~ for field in hierarchy_fields~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -20,7 +20,7 @@ namespace {{x.namespace_with_top_module}}
public interface {{readonly_name}} {{if parent_def_type}}: IReadOnly{{x.parent_def_type.name}} {{end}}
{
{{~ for field in fields~}}
{{db_cs_readonly_define_type field.ctype}} {{field.cs_style_name}} { get; }
{{db_cs_readonly_define_type field.ctype}} {{field.convention_name}} { get; }
{{~end~}}
}
@ -68,7 +68,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}}
public {{db_cs_define_type ctype}} {{field.convention_name}}
{
get
{
@ -109,7 +109,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}} => {{field.internal_name}};
public {{db_cs_define_type ctype}} {{field.convention_name}} => {{field.internal_name}};
{{~end~}}
{{~if ctype.bean || ctype.element_type ~}}
@ -118,14 +118,14 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}}
/// </summary>
{{~end~}}
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.cs_style_name}} => {{field.internal_name}};
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.convention_name}} => {{field.internal_name}};
{{~else if ctype.is_map~}}
{{~if field.comment != '' ~}}
/// <summary>
/// {{field.comment}}
/// </summary>
{{~end~}}
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.cs_style_name}} => new Bright.Transaction.Collections.PReadOnlyMap<{{db_cs_readonly_define_type ctype.key_type}}, {{db_cs_readonly_define_type ctype.value_type}}, {{db_cs_define_type ctype.value_type}}>({{field.internal_name}});
{{db_cs_readonly_define_type ctype}} {{readonly_name}}.{{field.convention_name}} => new Bright.Transaction.Collections.PReadOnlyMap<{{db_cs_readonly_define_type ctype.key_type}}, {{db_cs_readonly_define_type ctype.value_type}}, {{db_cs_define_type ctype.value_type}}>({{field.internal_name}});
{{~end~}}
{{~end~}}
@ -193,7 +193,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
{
return "{{full_name}}{ "
{{~ for field in hierarchy_fields~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -53,7 +53,7 @@ export {{x.ts_class_modifier}} class {{name}} extends {{if parent_def_type}} {{x
* {{field.comment}}
*/
{{~end~}}
get {{field.ts_style_name}}(): {{db_ts_define_type ctype}} {
get {{field.convention_name}}(): {{db_ts_define_type ctype}} {
if (this.isManaged) {
var txn = TransactionContext.current
if (txn == null) return {{field.internal_name_with_this}}
@ -69,7 +69,7 @@ export {{x.ts_class_modifier}} class {{name}} extends {{if parent_def_type}} {{x
* {{field.comment}}
*/
{{~end~}}
set {{field.ts_style_name}}(value: {{db_ts_define_type ctype}}) {
set {{field.convention_name}}(value: {{db_ts_define_type ctype}}) {
{{~if db_field_cannot_null~}}
if (value == null) throw new Error()
{{~end~}}
@ -90,7 +90,7 @@ export {{x.ts_class_modifier}} class {{name}} extends {{if parent_def_type}} {{x
* {{field.comment}}
*/
{{~end~}}
get {{field.ts_style_name}}(): {{db_ts_define_type ctype}} { return {{field.internal_name_with_this}} }
get {{field.convention_name}}(): {{db_ts_define_type ctype}} { return {{field.internal_name_with_this}} }
{{~end~}}
{{~end~}}
@ -148,7 +148,7 @@ export {{x.ts_class_modifier}} class {{name}} extends {{if parent_def_type}} {{x
toString(): string {
return '{{full_name}}{ '
{{~ for field in hierarchy_fields~}}
+ '{{field.ts_style_name}}:' + {{ts_to_string ('this.' + field.ts_style_name) field.ctype}} + ','
+ '{{field.convention_name}}:' + {{ts_to_string ('this.' + field.convention_name) field.ctype}} + ','
{{~end~}}
+ '}'
}

View File

@ -30,9 +30,9 @@ namespace {{x.namespace_with_top_module}}
{
{{~ for field in fields ~}}
{{~if cs_need_init field.ctype~}}
{{cs_init_field_ctor_value field.cs_style_name field.ctype}}
{{cs_init_field_ctor_value field.convention_name field.ctype}}
{{~else if is_value_type~}}
{{field.cs_style_name}} = default;
{{field.convention_name}} = default;
{{~end~}}
{{~end~}}
}
@ -80,7 +80,7 @@ namespace {{x.namespace_with_top_module}}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}};
public {{cs_define_type field.ctype}} {{field.convention_name}};
{{~end~}}
@ -91,14 +91,14 @@ namespace {{x.namespace_with_top_module}}
public override void Serialize(ByteBuf _buf)
{
{{~ for field in hierarchy_fields ~}}
{{cs_serialize '_buf' field.cs_style_name field.ctype}}
{{cs_serialize '_buf' field.convention_name field.ctype}}
{{~end~}}
}
public override void Deserialize(ByteBuf _buf)
{
{{~ for field in hierarchy_fields ~}}
{{cs_deserialize '_buf' field.cs_style_name field.ctype}}
{{cs_deserialize '_buf' field.convention_name field.ctype}}
{{~end~}}
}
@ -106,7 +106,7 @@ namespace {{x.namespace_with_top_module}}
{
return "{{full_name}}{ "
{{~ for field in hierarchy_fields ~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -21,7 +21,7 @@ namespace {{x.namespace_with_top_module}}
/// {{field.comment}}
/// </summary>
{{~end~}}
public {{cs_define_type field.ctype}} {{field.cs_style_name}};
public {{cs_define_type field.ctype}} {{field.convention_name}};
{{~end~}}
@ -33,7 +33,7 @@ namespace {{x.namespace_with_top_module}}
{
{{~ for field in fields ~}}
{{~if cs_need_init field.ctype~}}
{{cs_init_field_ctor_value field.cs_style_name field.ctype}}
{{cs_init_field_ctor_value field.convention_name field.ctype}}
{{~end~}}
{{~end~}}
}
@ -47,14 +47,14 @@ namespace {{x.namespace_with_top_module}}
public override void Serialize(ByteBuf _buf)
{
{{~ for field in fields ~}}
{{cs_serialize '_buf' field.cs_style_name field.ctype}}
{{cs_serialize '_buf' field.convention_name field.ctype}}
{{~end~}}
}
public override void Deserialize(ByteBuf _buf)
{
{{~ for field in fields ~}}
{{cs_deserialize '_buf' field.cs_style_name field.ctype}}
{{cs_deserialize '_buf' field.convention_name field.ctype}}
{{~end~}}
}
@ -72,7 +72,7 @@ namespace {{x.namespace_with_top_module}}
{
return "{{full_name}}{ "
{{~ for field in fields ~}}
+ "{{field.cs_style_name}}:" + {{cs_to_string field.cs_style_name field.ctype}} + ","
+ "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}}
+ "}";
}

View File

@ -48,13 +48,13 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
* {{field.comment}}
*/
{{~end~}}
{{field.ts_style_name}}{{if field.is_nullable}}?{{end}} : {{ts_define_type field.ctype}}
{{field.convention_name}}{{if field.is_nullable}}?{{end}} : {{ts_define_type field.ctype}}
{{~end~}}
constructor() {
super()
{{~ for field in fields ~}}
this.{{field.ts_style_name}} = {{ts_ctor_default_value field.ctype}}
this.{{field.convention_name}} = {{ts_ctor_default_value field.ctype}}
{{~end~}}
}
@ -64,7 +64,7 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
super.serialize(_buf_)
{{~end~}}
{{~ for field in fields ~}}
{{ts_bin_serialize ('this.' + field.ts_style_name) '_buf_' field.ctype}}
{{ts_bin_serialize ('this.' + field.convention_name) '_buf_' field.ctype}}
{{~end~}}
}
@ -73,14 +73,14 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
super.deserialize(_buf_)
{{~end~}}
{{~ for field in fields ~}}
{{ts_bin_deserialize ('this.' + field.ts_style_name) '_buf_' field.ctype}}
{{ts_bin_deserialize ('this.' + field.convention_name) '_buf_' field.ctype}}
{{~end~}}
}
toString(): string {
return '{{full_name}}{ '
{{~ for field in hierarchy_fields ~}}
+ '{{field.ts_style_name}}:' + this.{{field.ts_style_name}} + ','
+ '{{field.convention_name}}:' + this.{{field.convention_name}} + ','
{{~end~}}
+ '}'
}

View File

@ -22,32 +22,32 @@ export class {{name}} extends Protocol {
* {{field.comment}}
*/
{{~end~}}
{{field.ts_style_name}}{{if field.is_nullable}}?{{end}} : {{ts_define_type field.ctype}}
{{field.convention_name}}{{if field.is_nullable}}?{{end}} : {{ts_define_type field.ctype}}
{{~end~}}
constructor() {
super()
{{~ for field in fields ~}}
this.{{field.ts_style_name}} = {{ts_ctor_default_value field.ctype}}
this.{{field.convention_name}} = {{ts_ctor_default_value field.ctype}}
{{~end~}}
}
serialize(_buf_ : ByteBuf) {
{{~ for field in fields ~}}
{{ts_bin_serialize ('this.' + field.ts_style_name) '_buf_' field.ctype}}
{{ts_bin_serialize ('this.' + field.convention_name) '_buf_' field.ctype}}
{{~end~}}
}
deserialize(_buf_ : ByteBuf) {
{{~ for field in fields ~}}
{{ts_bin_deserialize ('this.' + field.ts_style_name) '_buf_' field.ctype}}
{{ts_bin_deserialize ('this.' + field.convention_name) '_buf_' field.ctype}}
{{~end~}}
}
toString(): string {
return '{{full_name}}{ '
{{~ for field in fields ~}}
+ '{{field.ts_style_name}}:' + this.{{field.ts_style_name}} + ','
+ '{{field.convention_name}}:' + this.{{field.convention_name}} + ','
{{~end~}}
+ '}'
}