【特性】新增 --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/key1|苹果|苹果|apple|
|/demo/key2|香蕉|香蕉|banana| |/demo/key2|香蕉|香蕉|banana|
假设配置表的表名为 l10n.TbTextMapper示例c#版本地化映射函数如下: 假设想切换到en配置表的表名为 l10n.TbTextMapper示例c#版本地化映射函数如下:
```c# ```c#
string TextMapper(string key, string originText) 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); 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) public static string ToCsStyleName(string orginName)
{ {
return string.Join("", orginName.Split('_').Where(s => !string.IsNullOrWhiteSpace(s)).Select(c => UpperCaseFirstChar(c))); 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(); 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) public static string GetNamespace(string fullName)
{ {
var index = fullName.LastIndexOf('.'); var index = fullName.LastIndexOf('.');

View File

@ -57,7 +57,7 @@ namespace Luban.Job.Cfg.Defs
get get
{ {
var table = Assembly.GetCfgTable(Ref.FirstTable); 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 get
{ {
var table = Assembly.GetCfgTable(Ref.FirstTable); 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 get
{ {
var table = Assembly.GetCfgTable(Ref.FirstTable); 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 get
{ {
var table = Assembly.GetCfgTable(Ref.FirstTable); 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 #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); public bool NeedExport => Assembly.NeedExport(this.Groups);

View File

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

View File

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

View File

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

View File

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

View File

@ -18,6 +18,7 @@ namespace Luban.Job.Cfg.Generate
var args = ctx.GenArgs; var args = ctx.GenArgs;
ctx.Render = this; ctx.Render = this;
ctx.Lan = RenderFileUtil.GetLanguage(genType); ctx.Lan = RenderFileUtil.GetLanguage(genType);
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
var lines = new List<string>(); var lines = new List<string>();
GenerateCodeMonolithic(ctx, RenderFileUtil.GetFileOrDefault(ctx.GenArgs.OutputCodeMonolithicFile, "mod.rs"), lines, ls => 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.Defs;
using Luban.Job.Common.Utils; using Luban.Job.Common.Utils;
using System; using System;
@ -13,6 +14,7 @@ namespace Luban.Job.Cfg.Generate
var args = ctx.GenArgs; var args = ctx.GenArgs;
ctx.Render = this; ctx.Render = this;
ctx.Lan = RenderFileUtil.GetLanguage(genType); ctx.Lan = RenderFileUtil.GetLanguage(genType);
DefAssembly.LocalAssebmly.CurrentLanguage = ctx.Lan;
var lines = new List<string>(10000); var lines = new List<string>(10000);
Action<List<string>> preContent = (fileContent) => Action<List<string>> preContent = (fileContent) =>

View File

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

View File

@ -11,17 +11,17 @@ namespace Luban.Job.Cfg.Utils
{ {
public static string CsDefineTextKeyField(DefField field) 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) 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) 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) 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) 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) public static string CsRefValidatorResolve(DefField field)
{ {
var refVarName = field.CsRefVarName; var refVarName = field.RefVarName;
var name = field.CsStyleName; var name = field.ConventionName;
var tableName = field.Ref.FirstTable; var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable); var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable) if (field.IsNullable)
@ -88,13 +88,13 @@ namespace Luban.Job.Cfg.Utils
public static string JavaRecursiveResolve(DefField field, string tables) 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) public static string JavaRefValidatorResolve(DefField field)
{ {
var refVarName = field.JavaRefVarName; var refVarName = field.RefVarName;
var name = field.JavaStyleName; var name = field.ConventionName;
var tableName = field.Ref.FirstTable; var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable); var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable) if (field.IsNullable)
@ -114,13 +114,13 @@ namespace Luban.Job.Cfg.Utils
public static string CppRecursiveResolve(DefField field, string tables) 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) public static string CppRefValidatorResolve(DefField field)
{ {
var refVarName = field.CppRefVarName; var refVarName = field.RefVarName;
var name = field.CsStyleName; var name = field.ConventionName;
var tableName = field.Ref.FirstTable; var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable); var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable) if (field.IsNullable)
@ -165,13 +165,13 @@ namespace Luban.Job.Cfg.Utils
public static string TsRecursiveResolve(DefField field, string tables) 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) public static string TsRefValidatorResolve(DefField field)
{ {
var refVarName = field.CsRefVarName; var refVarName = field.RefVarName;
var name = "this." + field.TsStyleName; var name = "this." + field.ConventionName;
var tableName = field.Ref.FirstTable; var tableName = field.Ref.FirstTable;
var table = field.Assembly.GetCfgTable(field.Ref.FirstTable); var table = field.Assembly.GetCfgTable(field.Ref.FirstTable);
if (field.IsNullable) if (field.IsNullable)
@ -212,7 +212,7 @@ namespace Luban.Job.Cfg.Utils
{ {
switch (lan) 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}"); 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 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) public void AddType(DefTypeBase type)
{ {
string fullName = type.FullName; string fullName = type.FullName;

View File

@ -17,50 +17,94 @@ namespace Luban.Job.Common.Defs
public string Name { get; set; } public string Name { get; set; }
private string _lanStyleName; public string ConventionName
public string CsStyleName
{ {
get 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 //private string _lanStyleName;
{ //public string CsStyleName
get //{
{ // get
if (_lanStyleName == null) // {
{ // if (_lanStyleName == null)
_lanStyleName = TypeUtil.ToJavaStyleName(Name); // {
} // _lanStyleName = TypeUtil.ToCsStyleName(Name);
return _lanStyleName; // }
} // return _lanStyleName;
} // }
//}
public string CppStyleName => JavaStyleName; //public string JavaStyleName
//{
// get
// {
// if (_lanStyleName == null)
// {
// _lanStyleName = TypeUtil.ToJavaStyleName(Name);
// }
// return _lanStyleName;
// }
//}
public string TsStyleName //public string CppStyleName => JavaStyleName;
{
get
{
if (_lanStyleName == null)
{
_lanStyleName = TypeUtil.ToJavaStyleName(Name);
}
return _lanStyleName;
}
}
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; //public string GoStyleAssignName => CType.IsNullable ? "*" + CsStyleName : CsStyleName;

View File

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

View File

@ -28,6 +28,31 @@ namespace Luban.Job.Common
[Option("use_unity_vector", Required = false, HelpText = "use UnityEngine.Vector{2,3,4}")] [Option("use_unity_vector", Required = false, HelpText = "use UnityEngine.Vector{2,3,4}")]
public bool UseUnityVectors { get; set; } 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) public bool ValidateOutouptCodeDir(ref string errMsg)
{ {
if (string.IsNullOrWhiteSpace(this.OutputCodeDir)) if (string.IsNullOrWhiteSpace(this.OutputCodeDir))
@ -38,6 +63,36 @@ namespace Luban.Job.Common
return true; 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) public bool ValidateTypescriptRequire(string genType, ref string errMsg)
{ {
if (!string.IsNullOrWhiteSpace(this.TypescriptBrightRequirePath) && !string.IsNullOrWhiteSpace(this.TypescriptBrightPackageName)) if (!string.IsNullOrWhiteSpace(this.TypescriptBrightRequirePath) && !string.IsNullOrWhiteSpace(this.TypescriptBrightPackageName))
@ -58,5 +113,40 @@ namespace Luban.Job.Common
} }
return true; 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) public static string CsInitFieldCtorValue(DefField field)
{ {
return $"{field.CsStyleName} = default;"; return $"{field.ConventionName} = default;";
} }
public static string CsWriteBlob(string bufName, string fieldName, TType type) public static string CsWriteBlob(string bufName, string fieldName, TType type)

View File

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

View File

@ -58,6 +58,10 @@ namespace Luban.Job.Proto
{ {
return false; return false;
} }
if (!options.ValidateConvention(ref errMsg))
{
return false;
}
return true; return true;
} }
@ -92,7 +96,15 @@ namespace Luban.Job.Proto
var rawDefines = loader.BuildDefines(); 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); ass.Load(rawDefines, agent);
@ -112,6 +124,7 @@ namespace Luban.Job.Proto
{ {
case "cs": case "cs":
{ {
ass.CurrentLanguage = ELanguage.CS;
var render = new CsRender(); var render = new CsRender();
foreach (var c in ass.Types.Values) foreach (var c in ass.Types.Values)
{ {
@ -140,6 +153,7 @@ namespace Luban.Job.Proto
} }
case "lua": case "lua":
{ {
ass.CurrentLanguage = ELanguage.LUA;
tasks.Add(Task.Run(() => tasks.Add(Task.Run(() =>
{ {
var render = new LuaRender(); var render = new LuaRender();
@ -152,6 +166,7 @@ namespace Luban.Job.Proto
} }
case "typescript": case "typescript":
{ {
ass.CurrentLanguage = ELanguage.TYPESCRIPT;
var render = new TypescriptRender(); var render = new TypescriptRender();
var brightRequirePath = args.TypescriptBrightRequirePath; var brightRequirePath = args.TypescriptBrightRequirePath;
var brightPackageName = args.TypescriptBrightPackageName; 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 ~}} {{~ for field in export_fields ~}}
this->{{field.cpp_style_name}} = {{field.name}}; this->{{field.convention_name}} = {{field.name}};
{{~end~}} {{~end~}}
} }
{{~end~}} {{~end~}}
@ -45,9 +45,9 @@ class {{name}} : public {{if parent_def_type}} {{parent_def_type.cpp_full_name}}
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~end~}}
{{cpp_define_type field.ctype}} {{field.cpp_style_name}}; {{cpp_define_type field.ctype}} {{field.convention_name}};
{{~if field.index_field~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
{{field.cpp_ref_validator_define}} {{field.cpp_ref_validator_define}}

View File

@ -17,11 +17,11 @@ namespace {{x.top_module}}
{{~end~}} {{~end~}}
{{~ for field in type.export_fields ~}} {{~ 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 ~}} {{~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~}}
{{~end~}} {{~end~}}

View File

@ -30,7 +30,7 @@ class {{name}}
{{cpp_define_type value_type}} _v; {{cpp_define_type value_type}} _v;
{{cpp_deserialize '_buf' '_v' value_type}} {{cpp_deserialize '_buf' '_v' value_type}}
_dataList.push_back(_v); _dataList.push_back(_v);
_dataMap[_v->{{x.index_field.cpp_style_name}}] = _v; _dataMap[_v->{{x.index_field.convention_name}}] = _v;
} }
return true; return true;
} }
@ -85,7 +85,7 @@ class {{name}}
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}}
{{~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}} public {{name}}(ByteBuf _buf) {{if parent_def_type}} : base(_buf) {{end}}
{ {
{{~ for field in export_fields ~}} {{~ 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~}} {{~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~}}
{{~end~}} {{~end~}}
@ -52,9 +52,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}} 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}}{ " 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}} + "," + "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}} {{~end~}}
+ "}"; + "}";
} }

View File

@ -31,7 +31,7 @@ public sealed class {{name}}
{{cs_define_type value_type}} _v; {{cs_define_type value_type}} _v;
{{cs_deserialize '_buf' '_v' value_type}} {{cs_deserialize '_buf' '_v' value_type}}
_dataList.Add(_v); _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}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}}
{{~end~}} {{~end~}}

View File

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

View File

@ -6,7 +6,7 @@ namespace {{namespace}}
public sealed class {{name}} : Bright.Net.Protocol public sealed class {{name}} : Bright.Net.Protocol
{ {
{{~for field in fields ~}} {{~for field in fields ~}}
public {{field.ctype.cs_define_type}} {{field.cs_style_name}}; public {{field.ctype.cs_define_type}} {{field.convention_name}};
{{~end~}} {{~end~}}
public {{name}}() public {{name}}()
{ {
@ -54,7 +54,7 @@ public sealed class {{name}} : Bright.Net.Protocol
{ {
return "{{full_name}}{ " return "{{full_name}}{ "
{{~for field in fields ~}} {{~for field in fields ~}}
+ "{{field.cs_style_name}}:" + {{field.proto_cs_to_string}} + "," + "{{field.convention_name}}:" + {{field.proto_cs_to_string}} + ","
{{~end~}} {{~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}} public {{name}}(JsonElement _json) {{if parent_def_type}} : base(_json) {{end}}
{ {
{{~ for field in export_fields ~}} {{~ 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~}} {{~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~}}
{{~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}} 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}}; this.{{field.convention_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); } foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}} {{~end~}}
{{~end~}} {{~end~}}
} }
@ -61,9 +61,9 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{parent}
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}} 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}}{ " 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}} + "," + "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}} {{~end~}}
+ "}"; + "}";
} }

View File

@ -33,7 +33,7 @@ public sealed class {{name}}
{ {
var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row); var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row);
_dataList.Add(_v); _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}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}}
{{~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}} public {{name}}(JSONNode _json) {{if parent_def_type}} : base(_json) {{end}}
{ {
{{~ for field in export_fields ~}} {{~ 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~}} {{~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~}}
{{~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}} 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}}; this.{{field.convention_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); } foreach(var _v in {{field.convention_name}}) { {{field.convention_name}}_Index.Add(_v.{{field.index_field.convention_name}}, _v); }
{{~end~}} {{~end~}}
{{~end~}} {{~end~}}
} }
@ -62,9 +62,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
public {{field.cs_ref_validator_define}} 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}}{ " 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}} + "," + "{{field.convention_name}}:" + {{cs_to_string field.convention_name field.ctype}} + ","
{{~end~}} {{~end~}}
+ "}"; + "}";
} }

View File

@ -33,7 +33,7 @@ public sealed class {{name}}
{ {
var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row); var _v = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_row);
_dataList.Add(_v); _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}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~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~}}
{{~end~}} {{~end~}}

View File

@ -19,7 +19,7 @@ type {{go_full_name}} struct {
{{parent_def_type.go_full_name}} {{parent_def_type.go_full_name}}
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~for field in export_fields ~}}
{{field.cs_style_name}} {{go_define_type field.ctype}} {{field.convention_name}} {{go_define_type field.ctype}}
{{~end~}} {{~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 _v.{{parent_def_type.go_full_name}} = *_p
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~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~}} {{~end~}}
return 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 _v.{{parent_def_type.go_full_name}} = *_p
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~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~}} {{~end~}}
return return
} }

View File

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

View File

@ -15,7 +15,7 @@ type {{go_full_name}} struct {
{{parent_def_type.go_full_name}} {{parent_def_type.go_full_name}}
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~for field in export_fields ~}}
{{field.cs_style_name}} {{go_define_type field.ctype}} {{field.convention_name}} {{go_define_type field.ctype}}
{{~end~}} {{~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 _v.{{parent_def_type.go_full_name}} = *_p
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~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~}} {{~end~}}
return 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 _v.{{parent_def_type.go_full_name}} = *_p
{{~end~}} {{~end~}}
{{~for field in export_fields ~}} {{~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~}} {{~end~}}
return 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 ~}} {{~if value_type.is_dynamic ~}}
{{~for child in value_type.bean.hierarchy_not_abstract_children~}} {{~for child in value_type.bean.hierarchy_not_abstract_children~}}
if __v, __is := _v.(*{{child.go_full_name}}) ; __is { 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 continue
} }
{{~end~}} {{~end~}}
{{~else~}} {{~else~}}
dataMap[_v.{{index_field.cs_style_name}}] = _v dataMap[_v.{{index_field.convention_name}}] = _v
{{~end~}} {{~end~}}
} }
} }

View File

@ -20,10 +20,10 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
super(_buf); super(_buf);
{{~end~}} {{~end~}}
{{~ for field in export_fields ~}} {{~ 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~}} {{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) { for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v); {{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
} }
{{~end~}} {{~end~}}
{{~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}}); super({{ for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}}, {{end}}{{end}});
{{~end~}} {{~end~}}
{{~ for field in export_fields ~}} {{~ for field in export_fields ~}}
this.{{field.java_style_name}} = {{field.name}}; this.{{field.convention_name}} = {{field.name}};
{{~if field.index_field~}} {{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) { for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v); {{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
} }
{{~end~}} {{~end~}}
{{~end~}} {{~end~}}
@ -60,9 +60,9 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
public {{field.java_ref_validator_define}} 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() { public String toString() {
return "{{full_name}}{ " return "{{full_name}}{ "
{{~for field in hierarchy_export_fields ~}} {{~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~}} {{~end~}}
+ "}"; + "}";
} }

View File

@ -28,7 +28,7 @@ public final class {{name}} {
{{java_box_define_type value_type}} _v; {{java_box_define_type value_type}} _v;
{{java_deserialize '_buf' '_v' value_type}} {{java_deserialize '_buf' '_v' value_type}}
_dataList.add(_v); _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}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
public void resolve(java.util.HashMap<String, Object> _tables) { 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__); super(__json__);
{{~end~}} {{~end~}}
{{~ for field in export_fields ~}} {{~ 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~}} {{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) { for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v); {{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
} }
{{~end~}} {{~end~}}
{{~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}}); super({{ for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}}, {{end}}{{end}});
{{~end~}} {{~end~}}
{{~ for field in export_fields ~}} {{~ for field in export_fields ~}}
this.{{field.java_style_name}} = {{field.name}}; this.{{field.convention_name}} = {{field.name}};
{{~if field.index_field~}} {{~if field.index_field~}}
for({{java_box_define_type field.ctype.element_type}} _v : {{field.java_style_name}}) { for({{java_box_define_type field.ctype.element_type}} _v : {{field.convention_name}}) {
{{field.java_style_name}}_Index.put(_v.{{field.index_field.java_style_name}}, _v); {{field.convention_name}}_Index.put(_v.{{field.index_field.convention_name}}, _v);
} }
{{~end~}} {{~end~}}
{{~end~}} {{~end~}}
@ -63,9 +63,9 @@ public {{x.java_class_modifier}} class {{name}}{{if parent_def_type}} extends {{
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~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~}} {{~end~}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
public {{field.java_ref_validator_define}} 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() { public String toString() {
return "{{full_name}}{ " return "{{full_name}}{ "
{{~for field in hierarchy_export_fields ~}} {{~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~}} {{~end~}}
+ "}"; + "}";
} }

View File

@ -28,7 +28,7 @@ public final class {{name}} {
{{java_box_define_type value_type}} _v; {{java_box_define_type value_type}} _v;
{{java_deserialize '_e_.getAsJsonObject()' '_v' value_type}} {{java_deserialize '_e_.getAsJsonObject()' '_v' value_type}}
_dataList.add(_v); _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}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
public void resolve(java.util.HashMap<String, Object> _tables) { public void resolve(java.util.HashMap<String, Object> _tables) {

View File

@ -95,9 +95,9 @@ local function InitTypes(methods)
local o = { local o = {
{{~ for field in bean.hierarchy_export_fields ~}} {{~ for field in bean.hierarchy_export_fields ~}}
{{~if !(need_marshal_bool_prefix field.ctype)~}} {{~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~}} {{~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~}}
{{~end~}} {{~end~}}
} }

View File

@ -13,12 +13,12 @@ local beans = {}
{{~ for bean in beans ~}} {{~ for bean in beans ~}}
---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}} ---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}}
{{~ for field in bean.export_fields~}} {{~ 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~}} {{~end~}}
beans['{{bean.full_name}}'] = beans['{{bean.full_name}}'] =
{ {
{{~ for field in bean.hierarchy_export_fields ~}} {{~ 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~}} {{~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_) {{parent_def_type.py_full_name}}.__init__(self, _json_)
{{~end~}} {{~end~}}
{{~ for field in export_fields ~}} {{~ 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~}} {{~end~}}
{{~if export_fields.empty?}} {{~if export_fields.empty?}}
pass pass

View File

@ -16,7 +16,7 @@ class {{name}}:
for _json2_ in _json_: for _json2_ in _json_:
{{py3_deserialize_value '_v' '_json2_' value_type}} {{py3_deserialize_value '_v' '_json2_' value_type}}
self._dataList.append(_v) 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 getDataMap(self) : return self._dataMap
def getDataList(self) : return self._dataList def getDataList(self) : return self._dataList
@ -37,6 +37,6 @@ class {{name}}:
{{field.comment}} {{field.comment}}
''' '''
{{~end~}} {{~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~}}
{{~end~}} {{~end~}}

View File

@ -15,7 +15,7 @@
#[allow(non_camel_case_types)] #[allow(non_camel_case_types)]
pub struct {{name}} { pub struct {{name}} {
{{~for field in hierarchy_export_fields~}} {{~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~}} {{~end~}}
} }
@ -24,7 +24,7 @@ impl {{name}} {
pub fn new(__js: &json::JsonValue) -> Result<{{name}}, LoadError> { pub fn new(__js: &json::JsonValue) -> Result<{{name}}, LoadError> {
let __b = {{name}} { let __b = {{name}} {
{{~for field in hierarchy_export_fields~}} {{~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~}} {{~end~}}
}; };
Ok(__b) Ok(__b)

View File

@ -37,11 +37,11 @@ impl {{name}}{
let __v2 = std::rc::Rc::clone(&__v); let __v2 = std::rc::Rc::clone(&__v);
t.data_list.push(__v); t.data_list.push(__v);
{{~if !value_type.bean.is_abstract_type~}} {{~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~}} {{~else~}}
match &*__v2 { match &*__v2 {
{{~for child in value_type.bean.hierarchy_not_abstract_children~}} {{~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~}}
}; };
{{~end~}} {{~end~}}

View File

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

View File

@ -24,7 +24,7 @@ export class {{name}} {
let _v: {{ts_define_type value_type}} let _v: {{ts_define_type value_type}}
{{ts_bin_constructor '_v' '_buf_' value_type}} {{ts_bin_constructor '_v' '_buf_' value_type}}
this._dataList.push(_v) 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}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
resolve(_tables: Map<string, any>) { 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 !field.ctype.is_nullable~}}
if (_json_.{{field.name}} === undefined) { throw new Error() } if (_json_.{{field.name}} === undefined) { throw new Error() }
{{~end~}} {{~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~}} {{~end~}}
} }
@ -42,7 +42,7 @@ export {{if x.is_abstract_type}}abstract {{end}}class {{name}}{{if parent_def_ty
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~end~}}
readonly {{field.ts_style_name}}: {{ts_define_type field.ctype}} readonly {{field.convention_name}}: {{ts_define_type field.ctype}}
{{~if field.gen_ref~}} {{~if field.gen_ref~}}
{{field.ts_ref_validator_define}} {{field.ts_ref_validator_define}}
{{~end~}} {{~end~}}

View File

@ -22,7 +22,7 @@ export class {{name}}{
let _v: {{ts_define_type value_type}} let _v: {{ts_define_type value_type}}
{{ts_json_constructor '_v' '_json2_' value_type}} {{ts_json_constructor '_v' '_json2_' value_type}}
this._dataList.push(_v) 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}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
resolve(_tables: Map<string, any>) { 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}} public interface {{readonly_name}} {{if parent_def_type}}: IReadOnly{{x.parent_def_type.name}} {{end}}
{ {
{{~ for field in fields~}} {{~ 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~}} {{~end~}}
} }
@ -68,7 +68,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}} public {{db_cs_define_type ctype}} {{field.convention_name}}
{ {
get get
{ {
@ -109,7 +109,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~end~}}
{{~if ctype.bean || ctype.element_type ~}} {{~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}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~else if ctype.is_map~}}
{{~if field.comment != '' ~}} {{~if field.comment != '' ~}}
/// <summary> /// <summary>
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}}
{{~end~}} {{~end~}}
@ -193,7 +193,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
{ {
return "{{full_name}}{ " return "{{full_name}}{ "
{{~ for field in hierarchy_fields~}} {{~ 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~}} {{~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}} public interface {{readonly_name}} {{if parent_def_type}}: IReadOnly{{x.parent_def_type.name}} {{end}}
{ {
{{~ for field in fields~}} {{~ 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~}} {{~end~}}
} }
@ -68,7 +68,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~end~}}
public {{db_cs_define_type ctype}} {{field.cs_style_name}} public {{db_cs_define_type ctype}} {{field.convention_name}}
{ {
get get
{ {
@ -109,7 +109,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~end~}}
{{~if ctype.bean || ctype.element_type ~}} {{~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}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}} {{~else if ctype.is_map~}}
{{~if field.comment != '' ~}} {{~if field.comment != '' ~}}
/// <summary> /// <summary>
/// {{field.comment}} /// {{field.comment}}
/// </summary> /// </summary>
{{~end~}} {{~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~}}
{{~end~}} {{~end~}}
@ -193,7 +193,7 @@ public {{x.cs_class_modifier}} class {{name}} : {{if parent_def_type}} {{x.paren
{ {
return "{{full_name}}{ " return "{{full_name}}{ "
{{~ for field in hierarchy_fields~}} {{~ 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~}} {{~end~}}
+ "}"; + "}";
} }

View File

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

View File

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

View File

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

View File

@ -48,13 +48,13 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
constructor() { constructor() {
super() super()
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
@ -64,7 +64,7 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
super.serialize(_buf_) super.serialize(_buf_)
{{~end~}} {{~end~}}
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
@ -73,14 +73,14 @@ export {{if x.is_abstract_type}} abstract {{end}} class {{name}} extends {{if pa
super.deserialize(_buf_) super.deserialize(_buf_)
{{~end~}} {{~end~}}
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
toString(): string { toString(): string {
return '{{full_name}}{ ' return '{{full_name}}{ '
{{~ for field in hierarchy_fields ~}} {{~ for field in hierarchy_fields ~}}
+ '{{field.ts_style_name}}:' + this.{{field.ts_style_name}} + ',' + '{{field.convention_name}}:' + this.{{field.convention_name}} + ','
{{~end~}} {{~end~}}
+ '}' + '}'
} }

View File

@ -22,32 +22,32 @@ export class {{name}} extends Protocol {
* {{field.comment}} * {{field.comment}}
*/ */
{{~end~}} {{~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~}} {{~end~}}
constructor() { constructor() {
super() super()
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
serialize(_buf_ : ByteBuf) { serialize(_buf_ : ByteBuf) {
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
deserialize(_buf_ : ByteBuf) { deserialize(_buf_ : ByteBuf) {
{{~ for field in fields ~}} {{~ 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~}} {{~end~}}
} }
toString(): string { toString(): string {
return '{{full_name}}{ ' return '{{full_name}}{ '
{{~ for field in fields ~}} {{~ for field in fields ~}}
+ '{{field.ts_style_name}}:' + this.{{field.ts_style_name}} + ',' + '{{field.convention_name}}:' + this.{{field.convention_name}} + ','
{{~end~}} {{~end~}}
+ '}' + '}'
} }