Skip to content

Commit 51f9fe4

Browse files
committed
Broad renaming of 'Rewrite' concept to now be 'Transform' as it feels more appropriate that we are Transforming the Json (e.g. as if it was XML with an XSLT). Implemented small transformation optimizations for Newtonsoft.
1 parent 46dd155 commit 51f9fe4

17 files changed

+166
-162
lines changed

FlurlGraphQL.Benchmarks/FlurlGraphQLParsingBenchmarks.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void ParsingWithNewtonsoftJsonRewriting()
4646
var graphqlSerializer = FlurlGraphQLNewtonsoftJsonSerializer.FromFlurlSerializer(new NewtonsoftJsonSerializer());
4747
var graphqlResult = graphqlSerializer.Deserialize<NewtonsoftGraphQLResult>(this.JsonSource);
4848

49-
var newtonsoftJsonGraphQLProcessor = new FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor(
49+
var newtonsoftJsonGraphQLProcessor = new FlurlGraphQLNewtonsoftJsonResponseTransformProcessor(
5050
graphqlResult.Data,
5151
graphqlResult.Errors,
5252
graphqlSerializer as FlurlGraphQLNewtonsoftJsonSerializer
@@ -62,7 +62,7 @@ public void ParsingWithSystemTextJsonRewriting()
6262
var graphqlSerializer = FlurlGraphQLSystemTextJsonSerializer.FromFlurlSerializer(new DefaultJsonSerializer());
6363
var graphqlResult = graphqlSerializer.Deserialize<SystemTextJsonGraphQLResult>(this.JsonSource);
6464

65-
var systemTextJsonGraphQLProcessor = new FlurlGraphQLSystemTextJsonResponseRewriteProcessor(
65+
var systemTextJsonGraphQLProcessor = new FlurlGraphQLSystemTextJsonResponseTransformProcessor(
6666
graphqlResult.Data,
6767
graphqlResult.Errors,
6868
graphqlSerializer as FlurlGraphQLSystemTextJsonSerializer

FlurlGraphQL.Newtonsoft/FlurlGraphQLNewtonsoftJsonExtensions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public static bool IsNullOrUndefinedJson(this JToken jsonToken)
191191

192192
#endregion
193193

194-
#region Json Parsing Extensions - Json Rewrite Strategy
194+
#region Json Parsing Extensions - Json Transformation Strategy
195195

196196
internal static IGraphQLQueryResults<TEntityResult> ConvertNewtonsoftJsonToGraphQLResultsWithJsonSerializerInternal<TEntityResult>(this JToken json, JsonSerializerSettings jsonSerializerSettings)
197197
where TEntityResult : class
@@ -214,15 +214,15 @@ internal static IGraphQLQueryResults<TEntityResult> ConvertNewtonsoftJsonToGraph
214214
totalCount = (int?)jsonObject.Field(GraphQLFields.TotalCount);
215215
}
216216

217-
//Get our Json Rewriter from our Factory (which provides Caching for Types already processed)!
218-
var graphqlJsonRewriter = FlurlGraphQLNewtonsoftJsonRewriter.ForType<TEntityResult>();
217+
//Get our Json Transformer from our Factory (which provides Caching for Types already processed)!
218+
var graphqlJsonTransformer = FlurlGraphQLNewtonsoftJsonTransformer.ForType<TEntityResult>();
219219

220-
var rewriterResults = graphqlJsonRewriter.RewriteJsonForSimplifiedGraphQLModelMapping(json);
220+
var transformationResults = graphqlJsonTransformer.TransformJsonForSimplifiedGraphQLModelMapping(json);
221221

222-
var paginationType = rewriterResults.PaginationType;
222+
var paginationType = transformationResults.PaginationType;
223223
IReadOnlyList<TEntityResult> entityResults = null;
224224

225-
switch (rewriterResults.Json)
225+
switch (transformationResults.Json)
226226
{
227227
case JArray arrayResults:
228228
entityResults = arrayResults.ToObject<List<TEntityResult>>(newtonsoftJsonSerializer);

FlurlGraphQL.Newtonsoft/FlurlGraphQLNewtonsoftJsonResponseConverterProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace FlurlGraphQL.JsonProcessing
66
{
7-
[Obsolete("This is the original/legacy approach to processing Newtonsoft Json via custom converter but is now replaced by the new FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor " +
7+
[Obsolete("This is the original/legacy approach to processing Newtonsoft Json via custom converter but is now replaced by the new FlurlGraphQLNewtonsoftJsonResponseTransformProcessor " +
88
"which is optimized and benchmarked to be ~2X faster at processing Json with Newtonsoft.Json")]
99
internal class FlurlGraphQLNewtonsoftJsonResponseConverterProcessor : FlurlGraphQLNewtonsoftJsonResponseBaseProcessor, IFlurlGraphQLResponseProcessor
1010
{

FlurlGraphQL.Newtonsoft/FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor.cs renamed to FlurlGraphQL.Newtonsoft/FlurlGraphQLNewtonsoftJsonResponseTransformProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
namespace FlurlGraphQL.JsonProcessing
55
{
6-
public class FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor : FlurlGraphQLNewtonsoftJsonResponseBaseProcessor, IFlurlGraphQLResponseProcessor
6+
public class FlurlGraphQLNewtonsoftJsonResponseTransformProcessor : FlurlGraphQLNewtonsoftJsonResponseBaseProcessor, IFlurlGraphQLResponseProcessor
77
{
8-
public FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor(JObject rawDataJObject, List<GraphQLError> errors, FlurlGraphQLNewtonsoftJsonSerializer newtonsoftJsonSerializer)
8+
public FlurlGraphQLNewtonsoftJsonResponseTransformProcessor(JObject rawDataJObject, List<GraphQLError> errors, FlurlGraphQLNewtonsoftJsonSerializer newtonsoftJsonSerializer)
99
: base(rawDataJObject, errors, newtonsoftJsonSerializer)
1010
{
1111
}

FlurlGraphQL.Newtonsoft/FlurlGraphQLNewtonsoftJsonSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public virtual async Task<IFlurlGraphQLResponseProcessor> CreateGraphQLResponseP
7070
/// <param name="newtonsoftGraphQLResult"></param>
7171
/// <returns></returns>
7272
internal IFlurlGraphQLResponseProcessor CreateGraphQLResponseProcessor(NewtonsoftGraphQLResult newtonsoftGraphQLResult)
73-
=> new FlurlGraphQLNewtonsoftJsonResponseRewriteProcessor(newtonsoftGraphQLResult.Data, newtonsoftGraphQLResult.Errors, this);
73+
=> new FlurlGraphQLNewtonsoftJsonResponseTransformProcessor(newtonsoftGraphQLResult.Data, newtonsoftGraphQLResult.Errors, this);
7474

7575
/// <summary>
7676
/// Parses only the Errors from a GraphQL response. Used when Flurl throws and HttpException that still contains a valid

0 commit comments

Comments
 (0)