encapsulate template logic

This commit is contained in:
Ivan Ansimov
2025-07-15 16:37:06 +03:00
parent ec4c008d4c
commit 1cde4b0ed0
12 changed files with 453 additions and 171 deletions
@@ -0,0 +1,31 @@
namespace mROA.Codegen.Templates
{
public class MethodRepoTemplate : TemplateView
{
private const string TemplateFile = "MethodRepo.cstmpl";
private const string SyncInvokerTemplate = "syncInvoker";
private const string AsyncInvokerTemplate = "asyncInvoker";
private const string InvokerTag = "invoke";
public MethodRepoTemplate() : base(TemplateFile) { }
public void InsertInvoke(string value)
{
Insert(InvokerTag, value);
}
public InvokerTemplate CloneInnerSyncInvoker()
{
var template = CloneInner(SyncInvokerTemplate);
return new InvokerTemplate(template);
}
public InvokerTemplate CloneInnerAsyncInvoker()
{
var template = CloneInner(AsyncInvokerTemplate);
return new InvokerTemplate(template);
}
}
}