1
1
using CaseExtensions ;
2
2
using NJsonSchema ;
3
3
using NSwag ;
4
- using Nustache . Core ;
4
+ using Scriban . Runtime ;
5
+ using System ;
5
6
using System . Collections . Generic ;
6
7
using System . Linq ;
7
8
using System . Text . RegularExpressions ;
8
9
9
10
namespace LibKubernetesGenerator
10
11
{
11
- internal class GeneralNameHelper : INustacheHelper
12
+ internal class GeneralNameHelper : IScriptObjectHelper
12
13
{
13
14
private readonly ClassNameHelper classNameHelper ;
14
15
@@ -17,20 +18,12 @@ public GeneralNameHelper(ClassNameHelper classNameHelper)
17
18
this . classNameHelper = classNameHelper ;
18
19
}
19
20
20
- public void RegisterHelper ( )
21
+ public void RegisterHelper ( ScriptObject scriptObject )
21
22
{
22
- Helpers . Register ( nameof ( GetInterfaceName ) , GetInterfaceName ) ;
23
- Helpers . Register ( nameof ( GetMethodName ) , GetMethodName ) ;
24
- Helpers . Register ( nameof ( GetDotNetName ) , GetDotNetName ) ;
25
- }
26
-
27
- public void GetInterfaceName ( RenderContext context , IList < object > arguments ,
28
- IDictionary < string , object > options , RenderBlock fn , RenderBlock inverse )
29
- {
30
- if ( arguments != null && arguments . Count > 0 && arguments [ 0 ] != null && arguments [ 0 ] is JsonSchema )
31
- {
32
- context . Write ( GetInterfaceName ( arguments [ 0 ] as JsonSchema ) ) ;
33
- }
23
+ scriptObject . Import ( nameof ( GetInterfaceName ) , new Func < JsonSchema , string > ( GetInterfaceName ) ) ;
24
+ scriptObject . Import ( nameof ( GetMethodName ) , new Func < OpenApiOperation , string , string > ( GetMethodName ) ) ;
25
+ scriptObject . Import ( nameof ( GetDotNetName ) , new Func < string , string , string > ( GetDotNetName ) ) ;
26
+ scriptObject . Import ( nameof ( GetDotNetNameOpenApiParameter ) , new Func < OpenApiParameter , string , string > ( GetDotNetNameOpenApiParameter ) ) ;
34
27
}
35
28
36
29
private string GetInterfaceName ( JsonSchema definition )
@@ -68,44 +61,16 @@ private string GetInterfaceName(JsonSchema definition)
68
61
return string . Join ( ", " , interfaces ) ;
69
62
}
70
63
71
- public void GetMethodName ( RenderContext context , IList < object > arguments , IDictionary < string , object > options ,
72
- RenderBlock fn , RenderBlock inverse )
64
+ public string GetDotNetNameOpenApiParameter ( OpenApiParameter parameter , string init )
73
65
{
74
- if ( arguments != null && arguments . Count > 0 && arguments [ 0 ] != null && arguments [ 0 ] is OpenApiOperation )
75
- {
76
- string suffix = null ;
77
- if ( arguments . Count > 1 )
78
- {
79
- suffix = arguments [ 1 ] as string ;
80
- }
66
+ var name = GetDotNetName ( parameter . Name ) ;
81
67
82
- context . Write ( GetMethodName ( arguments [ 0 ] as OpenApiOperation , suffix ) ) ;
83
- }
84
- }
85
-
86
- public void GetDotNetName ( RenderContext context , IList < object > arguments , IDictionary < string , object > options ,
87
- RenderBlock fn , RenderBlock inverse )
88
- {
89
- if ( arguments != null && arguments . Count > 0 && arguments [ 0 ] != null && arguments [ 0 ] is OpenApiParameter )
68
+ if ( init == "true" && ! parameter . IsRequired )
90
69
{
91
- var parameter = arguments [ 0 ] as OpenApiParameter ;
92
- context . Write ( GetDotNetName ( parameter . Name ) ) ;
93
-
94
- if ( arguments . Count > 1 && ( arguments [ 1 ] as string ) == "true" && ! parameter . IsRequired )
95
- {
96
- context . Write ( " = null" ) ;
97
- }
70
+ name += " = null" ;
98
71
}
99
- else if ( arguments != null && arguments . Count > 0 && arguments [ 0 ] != null && arguments [ 0 ] is string )
100
- {
101
- var style = "parameter" ;
102
- if ( arguments . Count > 1 )
103
- {
104
- style = arguments [ 1 ] as string ;
105
- }
106
72
107
- context . Write ( GetDotNetName ( ( string ) arguments [ 0 ] , style ) ) ;
108
- }
73
+ return name ;
109
74
}
110
75
111
76
public string GetDotNetName ( string jsonName , string style = "parameter" )
0 commit comments