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
<p>The last two cases rely on being able to distinguish between <ahref="https://spec.graphql.org/October2021#sel-EAFdRDHAAEJDAoBxzT">explicit and implicit <code>null</code></a>.</p>
221
-
<p>Unfortunately, plain <code>Option</code> is not capable to distinguish them. That's why in <ahref="https://docs.rs/juniper">Juniper</a>, this can be done using the <ahref="https://docs.rs/juniper/0.16.0/juniper/enum.Nullable.html"><code>Nullable</code></a> type:</p>
221
+
<p>Unfortunately, plain <code>Option</code> is not capable to distinguish them. That's why in <ahref="https://docs.rs/juniper">Juniper</a>, this can be done using the <ahref="https://docs.rs/juniper/0.16.1/juniper/enum.Nullable.html"><code>Nullable</code></a> type:</p>
<p>In backtracking algorithms, <strong>look ahead</strong> is the generic term for a subprocedure that attempts to foresee the effects of choosing a branching variable to evaluate one of its values. The two main aims of look-ahead are to choose a variable to evaluate next and to choose the order of values to assign to it.</p>
179
179
</blockquote>
180
180
<p>In <ahref="https://graphql.org">GraphQL</a>, look-ahead machinery allows us to introspect the currently <ahref="https://spec.graphql.org/October2021#sec-Execution">executed</a><ahref="https://spec.graphql.org/October2021#sec-Language.Operations%5C">GraphQL operation</a> to see which <ahref="https://spec.graphql.org/October2021#sec-Language.Fields">fields</a> has been actually selected by it.</p>
181
-
<p>In <ahref="https://docs.rs/juniper">Juniper</a>, it's represented by the <ahref="https://docs.rs/juniper/0.16.0/juniper/executor/struct.Executor.html#method.look_ahead"><code>Executor::look_ahead()</code></a> method.</p>
181
+
<p>In <ahref="https://docs.rs/juniper">Juniper</a>, it's represented by the <ahref="https://docs.rs/juniper/0.16.1/juniper/executor/struct.Executor.html#method.look_ahead"><code>Executor::look_ahead()</code></a> method.</p>
<p><strong>TIP</strong>: <code>S: ScalarValue</code> type parameter on the method is required here to keep the <ahref="https://docs.rs/juniper/0.16.0/juniper/executor/struct.Executor.html"><code>Executor</code></a> being generic over <ahref="https://docs.rs/juniper/0.16.0/juniper/trait.ScalarValue.html"><code>ScalarValue</code></a> types. We, instead, could have used the <ahref="https://docs.rs/juniper/0.16.0/juniper/enum.DefaultScalarValue.html"><code>DefaultScalarValue</code></a>, which is the default <ahref="https://docs.rs/juniper/0.16.0/juniper/trait.ScalarValue.html"><code>ScalarValue</code></a> type for the <ahref="https://docs.rs/juniper/0.16.0/juniper/executor/struct.Executor.html"><code>Executor</code></a>, and make our code more ergonomic, but less flexible and generic.</p>
213
+
<p><strong>TIP</strong>: <code>S: ScalarValue</code> type parameter on the method is required here to keep the <ahref="https://docs.rs/juniper/0.16.1/juniper/executor/struct.Executor.html"><code>Executor</code></a> being generic over <ahref="https://docs.rs/juniper/0.16.1/juniper/trait.ScalarValue.html"><code>ScalarValue</code></a> types. We, instead, could have used the <ahref="https://docs.rs/juniper/0.16.1/juniper/enum.DefaultScalarValue.html"><code>DefaultScalarValue</code></a>, which is the default <ahref="https://docs.rs/juniper/0.16.1/juniper/trait.ScalarValue.html"><code>ScalarValue</code></a> type for the <ahref="https://docs.rs/juniper/0.16.1/juniper/executor/struct.Executor.html"><code>Executor</code></a>, and make our code more ergonomic, but less flexible and generic.</p>
<p>See more available look-ahead features in the API docs of the <ahref="https://docs.rs/juniper/0.16.0/juniper/executor/struct.LookAheadSelection.html"><code>LookAheadSelection</code></a> and the <ahref="https://docs.rs/juniper/0.16.0/juniper/executor/struct.LookAheadChildren.html"><code>LookAheadChildren</code></a>.</p>
377
+
<p>See more available look-ahead features in the API docs of the <ahref="https://docs.rs/juniper/0.16.1/juniper/executor/struct.LookAheadSelection.html"><code>LookAheadSelection</code></a> and the <ahref="https://docs.rs/juniper/0.16.1/juniper/executor/struct.LookAheadChildren.html"><code>LookAheadChildren</code></a>.</p>
<p><ahref="https://graphql.org">GraphQL</a> is a query language for APIs and a runtime for fulfilling those queries with your existing data. <ahref="https://graphql.org">GraphQL</a> provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.</p>
179
179
</blockquote>
180
-
<p><ahref="https://docs.rs/juniper">Juniper</a> is a library for creating <ahref="https://graphql.org">GraphQL</a> servers in <ahref="https://www.rust-lang.org">Rust</a>. Build type-safe and fast API servers with minimal boilerplate and configuration (we do try to make declaring and resolving <ahref="https://graphql.org">GraphQL</a> schemas as convenient as possible as <ahref="https://www.rust-lang.org">Rust</a> will allow).</p>
180
+
<p><ahref="https://docs.rs/juniper">Juniper</a> is a library for creating <ahref="https://graphql.org">GraphQL</a> servers in <ahref="https://www.rust-lang.org">Rust</a>. Build type-safe and fast API servers with minimal boilerplate and configuration (we do try to make declaring and resolving <ahref="https://graphql.org">GraphQL</a> schemas as convenient as <ahref="https://www.rust-lang.org">Rust</a> will allow).</p>
181
181
<p><ahref="https://docs.rs/juniper">Juniper</a> doesn't include a web server itself, instead, it provides building blocks to make integration with existing web servers straightforward. It optionally provides a pre-built integration for some widely used web server frameworks in <ahref="https://www.rust-lang.org">Rust</a> ecosystem.</p>
<p><ahref="https://graphql.org">GraphQL</a> is a query language for APIs and a runtime for fulfilling those queries with your existing data. <ahref="https://graphql.org">GraphQL</a> provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.</p>
179
179
</blockquote>
180
-
<p><ahref="https://docs.rs/juniper">Juniper</a> is a library for creating <ahref="https://graphql.org">GraphQL</a> servers in <ahref="https://www.rust-lang.org">Rust</a>. Build type-safe and fast API servers with minimal boilerplate and configuration (we do try to make declaring and resolving <ahref="https://graphql.org">GraphQL</a> schemas as convenient as possible as <ahref="https://www.rust-lang.org">Rust</a> will allow).</p>
180
+
<p><ahref="https://docs.rs/juniper">Juniper</a> is a library for creating <ahref="https://graphql.org">GraphQL</a> servers in <ahref="https://www.rust-lang.org">Rust</a>. Build type-safe and fast API servers with minimal boilerplate and configuration (we do try to make declaring and resolving <ahref="https://graphql.org">GraphQL</a> schemas as convenient as <ahref="https://www.rust-lang.org">Rust</a> will allow).</p>
181
181
<p><ahref="https://docs.rs/juniper">Juniper</a> doesn't include a web server itself, instead, it provides building blocks to make integration with existing web servers straightforward. It optionally provides a pre-built integration for some widely used web server frameworks in <ahref="https://www.rust-lang.org">Rust</a> ecosystem.</p>
0 commit comments