Extension::result
now returns an Option
This commit is contained in:
parent
235b49bb7d
commit
c1b493a56b
|
@ -54,5 +54,5 @@ pub trait Extension: Sync + Send + 'static {
|
|||
fn resolve_field_end(&self, resolve_id: usize) {}
|
||||
|
||||
/// Get the results
|
||||
fn result(&self) -> serde_json::Value;
|
||||
fn result(&self) -> Option<serde_json::Value>;
|
||||
}
|
||||
|
|
|
@ -112,12 +112,12 @@ impl Extension for ApolloTracing {
|
|||
}
|
||||
}
|
||||
|
||||
fn result(&self) -> serde_json::Value {
|
||||
fn result(&self) -> Option<serde_json::Value> {
|
||||
let mut inner = self.inner.lock();
|
||||
inner
|
||||
.resolves
|
||||
.sort_by(|a, b| a.start_offset.cmp(&b.start_offset));
|
||||
serde_json::json!({
|
||||
Some(serde_json::json!({
|
||||
"version": 1,
|
||||
"startTime": inner.start_time.to_rfc3339(),
|
||||
"endTime": inner.end_time.to_rfc3339(),
|
||||
|
@ -125,6 +125,6 @@ impl Extension for ApolloTracing {
|
|||
"execution": {
|
||||
"resolvers": inner.resolves
|
||||
}
|
||||
})
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -212,7 +212,7 @@ impl QueryBuilder {
|
|||
Some(
|
||||
extensions
|
||||
.iter()
|
||||
.map(|e| (e.name().to_string(), e.result()))
|
||||
.filter_map(|e| e.result().map(|res| (e.name().to_string(), res)))
|
||||
.collect::<serde_json::Map<_, _>>(),
|
||||
)
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user