Skip to content

Commit

Permalink
Don't use ToArray unless needed for JSON source gen.
Browse files Browse the repository at this point in the history
  • Loading branch information
ejball committed Jun 18, 2024
1 parent 6e9f2fe commit 8a0df9f
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Facility.CodeGen.CSharp/CSharpGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ private CodeGenFile GenerateHttpMapping(HttpServiceInfo httpServiceInfo, Context
code.WriteLine($"RequestBodyType = typeof({requestBodyFieldTypeName.TrimEnd('?')}),");
if (httpMethodInfo.RequestBodyField.ContentType != null)
code.WriteLine($"RequestBodyContentType = {CSharpUtility.CreateString(httpMethodInfo.RequestBodyField.ContentType)},");
code.WriteLine($"GetRequestBody = request => request.{requestBodyFieldName}{(requestBodyFieldInfo.Kind == ServiceTypeKind.Array ? "?.ToArray()" : "")},");
code.WriteLine($"GetRequestBody = request => request.{requestBodyFieldName}{(ShouldGenerateJsonSource && requestBodyFieldInfo.Kind == ServiceTypeKind.Array ? "?.ToArray()" : "")},");
code.WriteLine($"CreateRequest = body => new {requestTypeName} {{ {requestBodyFieldName} = ({requestBodyFieldTypeName}) body }},");
}
else if (httpMethodInfo.RequestNormalFields.Any())
Expand Down Expand Up @@ -934,7 +934,7 @@ private CodeGenFile GenerateHttpMapping(HttpServiceInfo httpServiceInfo, Context
if (bodyField.ContentType != null)
code.WriteLine($"ResponseBodyContentType = {CSharpUtility.CreateString(bodyField.ContentType)},");
code.WriteLine($"MatchesResponse = response => response.{responseBodyFieldName} != null,");
code.WriteLine($"GetResponseBody = response => response.{responseBodyFieldName}{(bodyFieldType.Kind == ServiceTypeKind.Array ? "?.ToArray()" : "")},");
code.WriteLine($"GetResponseBody = response => response.{responseBodyFieldName}{(ShouldGenerateJsonSource && bodyFieldType.Kind == ServiceTypeKind.Array ? "?.ToArray()" : "")},");
code.WriteLine($"CreateResponse = body => new {responseTypeName} {{ {responseBodyFieldName} = ({responseBodyFieldTypeName}) body }},");
}
}
Expand Down

0 comments on commit 8a0df9f

Please sign in to comment.