@@ -20,6 +20,8 @@ public final class GraphQLResponse<Data: GraphQLSelectionSet> {
2020 errors = nil
2121 }
2222
23+ let extensions = body [ " extensions " ] as? JSONObject
24+
2325 if let dataEntry = body [ " data " ] as? JSONObject {
2426 let executor = GraphQLExecutor { object, info in
2527 return . result( . success( object [ info. responseKeyForField] ) )
@@ -30,7 +32,6 @@ public final class GraphQLResponse<Data: GraphQLSelectionSet> {
3032 let mapper = GraphQLSelectionSetMapper < Data > ( )
3133 let normalizer = GraphQLResultNormalizer ( )
3234 let dependencyTracker = GraphQLDependencyTracker ( )
33- let extensions = body [ " extensions " ] as? JSONObject
3435
3536 return firstly {
3637 try executor. execute ( selections: Data . selections,
@@ -51,7 +52,7 @@ public final class GraphQLResponse<Data: GraphQLSelectionSet> {
5152 } else {
5253 return Promise ( fulfilled: (
5354 GraphQLResult ( data: nil ,
54- extensions: nil ,
55+ extensions: extensions ,
5556 errors: errors,
5657 source: . server,
5758 dependentKeys: nil ) ,
@@ -70,12 +71,12 @@ public final class GraphQLResponse<Data: GraphQLSelectionSet> {
7071
7172 func parseResultFast( ) throws -> GraphQLResult < Data > {
7273 let errors = self . parseErrorsOnlyFast ( )
74+ let extensions = body [ " extensions " ] as? JSONObject
7375
7476 if let dataEntry = body [ " data " ] as? JSONObject {
7577 let data = try decode ( selectionSet: Data . self,
7678 from: dataEntry,
7779 variables: variables)
78- let extensions = body [ " extensions " ] as? JSONObject
7980
8081 return GraphQLResult ( data: data,
8182 extensions: extensions,
@@ -84,7 +85,7 @@ public final class GraphQLResponse<Data: GraphQLSelectionSet> {
8485 dependentKeys: nil )
8586 } else {
8687 return GraphQLResult ( data: nil ,
87- extensions: nil ,
88+ extensions: extensions ,
8889 errors: errors,
8990 source: . server,
9091 dependentKeys: nil )
0 commit comments