@@ -15,7 +15,7 @@ namespace Linq2GraphQL.Generator.Templates.Interface
1515 /// Class to produce the template output
1616 /// </summary>
1717
18- #line 1 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
18+ #line 1 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
1919 [ global ::System . CodeDom . Compiler . GeneratedCodeAttribute ( "Microsoft.VisualStudio.TextTemplating" , "17.0.0.0" ) ]
2020 public partial class InterfaceTemplate : InterfaceTemplateBase
2121 {
@@ -25,46 +25,151 @@ public partial class InterfaceTemplate : InterfaceTemplateBase
2525 /// </summary>
2626 public virtual string TransformText ( )
2727 {
28- this . Write ( "using System;\r \n using System.Collections.Generic ;\r \n using System.Text.Json.Serializ " +
29- "ation ;\r \n using Linq2GraphQL.Client;\r \n using Linq2GraphQL.Client.Converters; \r \n \r \n nam " +
30- "espace " ) ;
28+ this . Write ( "using System;\r \n using System.Text.Json ;\r \n using System.Text.Json.Nodes; \r \n using Syst " +
29+ "em.Text.Json.Serialization ;\r \n using Linq2GraphQL.Client;\r \n using Linq2GraphQL.Clie " +
30+ "nt.Converters; \r \n \r \n namespace " ) ;
3131
32- #line 9 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
32+ #line 10 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
3333 this . Write ( this . ToStringHelper . ToStringWithCulture ( namespaceName ) ) ;
3434
3535 #line default
3636 #line hidden
37- this . Write ( ";\r \n \r \n [JsonConverter(typeof(InterfaceConverter< " ) ;
37+ this . Write ( ";\r \n \r \n public static class " ) ;
3838
39- #line 11 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
40- this . Write ( this . ToStringHelper . ToStringWithCulture ( GetInterfaceConcreteName ( ) ) ) ;
39+ #line 12 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
40+ this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
41+
42+ #line default
43+ #line hidden
44+ this . Write ( "Extentions\r \n {\r \n \r \n " ) ;
45+
46+ #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
47+ foreach ( var field in implementedBy ) {
48+
49+ #line default
50+ #line hidden
51+ this . Write ( "\r \n [GraphInterface]\r \n public static " ) ;
52+
53+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
54+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
55+
56+ #line default
57+ #line hidden
58+ this . Write ( " " ) ;
59+
60+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
61+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
62+
63+ #line default
64+ #line hidden
65+ this . Write ( "(this " ) ;
66+
67+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
68+ this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
69+
70+ #line default
71+ #line hidden
72+ this . Write ( " value)\r \n {\r \n if (value.__TypeName == \" " ) ;
73+
74+ #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
75+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
76+
77+ #line default
78+ #line hidden
79+ this . Write ( "\" )\r \n {\r \n return (" ) ;
80+
81+ #line 22 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
82+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
83+
84+ #line default
85+ #line hidden
86+ this . Write ( ")value;\r \n }\r \n return null;\r \n }\r \n " ) ;
87+
88+ #line 26 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
89+ }
90+
91+ #line default
92+ #line hidden
93+ this . Write ( "}\r \n \r \n \r \n internal class " ) ;
94+
95+ #line 30 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
96+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetInterfaceConverterName ( ) ) ) ;
4197
4298 #line default
4399 #line hidden
44- this . Write ( ", " ) ;
100+ this . Write ( " : InterfaceJsonConverter< " ) ;
45101
46- #line 11 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
102+ #line 30 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
47103 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
48104
49105 #line default
50106 #line hidden
51- this . Write ( ">))]\r \n public interface " ) ;
107+ this . Write ( ">\r \n {\r \n public override " ) ;
108+
109+ #line 32 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
110+ this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
111+
112+ #line default
113+ #line hidden
114+ this . Write ( " Deserialize(string typeName, JsonObject json) => typeName switch\r \n {\r \n " ) ;
115+
116+ #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
117+ foreach ( var field in implementedBy ) {
118+
119+ #line default
120+ #line hidden
121+ this . Write ( " \" " ) ;
122+
123+ #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
124+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
125+
126+ #line default
127+ #line hidden
128+ this . Write ( "\" => json.Deserialize<" ) ;
129+
130+ #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
131+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field ) ) ;
132+
133+ #line default
134+ #line hidden
135+ this . Write ( ">(),\r \n " ) ;
136+
137+ #line 36 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
138+ }
139+
140+ #line default
141+ #line hidden
142+ this . Write ( " _ => json.Deserialize< " ) ;
143+
144+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
145+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetInterfaceConcreteName ( ) ) ) ;
146+
147+ #line default
148+ #line hidden
149+ this . Write ( ">()\r \n };\r \n }\r \n \r \n \r \n \r \n \r \n [JsonConverter(typeof(" ) ;
150+
151+ #line 44 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
152+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetInterfaceConverterName ( ) ) ) ;
153+
154+ #line default
155+ #line hidden
156+ this . Write ( "))]\r \n public interface " ) ;
52157
53- #line 12 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
158+ #line 45 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
54159 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
55160
56161 #line default
57162 #line hidden
58163 this . Write ( " " ) ;
59164
60- #line 12 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
165+ #line 45 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
61166 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . GetInterfacesString ( ) ) ) ;
62167
63168 #line default
64169 #line hidden
65170 this . Write ( "\r \n {\r \n " ) ;
66171
67- #line 14 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
172+ #line 47 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
68173
69174 foreach ( var field in classType . AllFields )
70175 {
@@ -75,28 +180,28 @@ public virtual string TransformText()
75180 #line hidden
76181 this . Write ( "\t [JsonPropertyName(\" " ) ;
77182
78- #line 19 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
183+ #line 52 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
79184 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
80185
81186 #line default
82187 #line hidden
83188 this . Write ( "\" )]\r \n \t public " ) ;
84189
85- #line 20 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
190+ #line 53 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
86191 this . Write ( this . ToStringHelper . ToStringWithCulture ( fieldInfo . CSharpTypeNameFull ) ) ;
87192
88193 #line default
89194 #line hidden
90195 this . Write ( " " ) ;
91196
92- #line 20 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
197+ #line 53 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
93198 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
94199
95200 #line default
96201 #line hidden
97202 this . Write ( " { get; set; } \r \n " ) ;
98203
99- #line 21 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
204+ #line 54 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
100205
101206 }
102207
@@ -106,21 +211,21 @@ public virtual string TransformText()
106211 this . Write ( " [JsonPropertyName(\" __typename\" )]\r \n public string __TypeName { get; set; }\r " +
107212 "\n \r \n }\r \n \r \n internal class " ) ;
108213
109- #line 29 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
214+ #line 62 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
110215 this . Write ( this . ToStringHelper . ToStringWithCulture ( GetInterfaceConcreteName ( ) ) ) ;
111216
112217 #line default
113218 #line hidden
114219 this . Write ( " : " ) ;
115220
116- #line 29 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
221+ #line 62 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
117222 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
118223
119224 #line default
120225 #line hidden
121226 this . Write ( "\r \n {\r \n " ) ;
122227
123- #line 31 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
228+ #line 64 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
124229
125230 foreach ( var field in classType . AllFields )
126231 {
@@ -131,28 +236,28 @@ public virtual string TransformText()
131236 #line hidden
132237 this . Write ( "\t [JsonPropertyName(\" " ) ;
133238
134- #line 36 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
239+ #line 69 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
135240 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
136241
137242 #line default
138243 #line hidden
139244 this . Write ( "\" )]\r \n \t public " ) ;
140245
141- #line 37 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
246+ #line 70 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
142247 this . Write ( this . ToStringHelper . ToStringWithCulture ( fieldInfo . CSharpTypeNameFull ) ) ;
143248
144249 #line default
145250 #line hidden
146251 this . Write ( " " ) ;
147252
148- #line 37 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
253+ #line 70 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
149254 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
150255
151256 #line default
152257 #line hidden
153258 this . Write ( " { get; set; } \r \n " ) ;
154259
155- #line 38 "C:\Code\DevOps \Linq2GraphQL\Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
260+ #line 71 "C:\Code\Github \Linq2GraphQL.Client\src \Linq2GraphQL.Generator\Templates\Interface\InterfaceTemplate.tt"
156261
157262 }
158263
0 commit comments