You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rework look-ahead machinery as lazy-evaluated (#1212)
- make `LookAheadValue::List` to contain new iterable `LookAheadList` type
- make `LookAheadValue::Object` to contain new iterable `LookAheadObject` type
- remove `LookAheadMethods` trait and redundant `ConcreteLookAheadSelection` struct making all APIs accessible as inherent methods on `LookAheadSelection` and `LookAheadChildren` decoupled types
- move `LookAheadMethods::child_names()` to `LookAheadChildren::names()`
- move `LookAheadMethods::has_children()` to `LookAheadChildren::is_empty()`
- move `LookAheadMethods::select_child()` to `LookAheadChildren::select()`
- move `LookAheadSelection::for_explicit_type()` to `LookAheadSelection::children_for_explicit_type()`
- make `LookAheadSelection::arguments()` returning iterator over `LookAheadArgument`
- make `LookAheadSelection::children()` returning `LookAheadChildren`
Co-authored-by: Kai Ren <[email protected]>
Copy file name to clipboardExpand all lines: juniper/CHANGELOG.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,12 +52,22 @@ All user visible changes to `juniper` crate will be documented in this file. Thi
52
52
- Removed `scalar-naivetime`[Cargo feature].
53
53
- Removed lifetime parameter from `ParseError`, `GraphlQLError`, `GraphQLBatchRequest` and `GraphQLRequest`. ([#1081], [#528])
54
54
- Upgraded [GraphiQL] to 3.1.0 version (requires new [`graphql-transport-ws` GraphQL over WebSocket Protocol] integration on server, see `juniper_warp/examples/subscription.rs`). ([#1188], [#1193], [#1235])
55
-
- Made `LookAheadMethods::children()` method to return slice instead of `Vec`. ([#1200])
56
55
- Abstracted `Spanning::start` and `Spanning::end` fields into separate struct `Span`. ([#1207], [#1208])
57
-
- Added `Span` to `Arguments` and `LookAheadArguments`. ([#1206], [#1209])
58
56
- Removed `graphql-parser-integration` and `graphql-parser`[Cargo feature]s by merging them into `schema-language`[Cargo feature]. ([#1237])
59
57
- Renamed `RootNode::as_schema_language()` method as `RootNode::as_sdl()`. ([#1237])
60
-
- Renamed `RootNode::as_parser_document()` method as `RootNode::as_document()`. ([#1237])
58
+
- Renamed `RootNode::as_parser_document()` method as `RootNode::as_document()`. ([#1237])
59
+
- Reworked look-ahead machinery: ([#1212])
60
+
- Turned from eagerly-evaluated into lazy-evaluated:
61
+
- Made `LookAheadValue::List` to contain new iterable `LookAheadList` type.
62
+
- Made `LookAheadValue::Object` to contain new iterable `LookAheadObject` type.
63
+
- Removed `LookAheadMethods` trait and redundant `ConcreteLookAheadSelection` type, making all APIs accessible as inherent methods on `LookAheadSelection` and `LookAheadChildren` decoupled types:
64
+
- Moved `LookAheadMethods::child_names()` to `LookAheadChildren::names()`.
65
+
- Moved `LookAheadMethods::has_children()` to `LookAheadChildren::is_empty()`.
66
+
- Moved `LookAheadMethods::select_child()` to `LookAheadChildren::select()`.
67
+
- Moved `LookAheadSelection::for_explicit_type()` to `LookAheadSelection::children_for_explicit_type()`.
68
+
- Made `LookAheadSelection::arguments()` returning iterator over `LookAheadArgument`.
69
+
- Made `LookAheadSelection::children()` returning `LookAheadChildren`.
70
+
- Added `Span` to `Arguments` and `LookAheadArguments`. ([#1206], [#1209])
61
71
62
72
### Added
63
73
@@ -145,11 +155,11 @@ All user visible changes to `juniper` crate will be documented in this file. Thi
0 commit comments