v0.0.9
Patch Changes
-
797ee21: Memoize field lists created by the collectFields utility function.
This allows functions that operate on these field lists to be memoized.
-
79440e6: Re-implement incremental delivery using repeaters.
See https://repeater.js.org/ for further discussion about repeaters. This avoids bespoke raw async iterator and promise racing implementations.
-
3bd508d: Refactor flattenAsyncIterator to use a Repeater implementation
This is also breaking change as the generator returned by flattenAsyncIterator will now (correctly) not support concurrent next() and throw() calls. As the generator returned by calls to execute should rarely be used with throw(), this breaking change should have little impact.
-
6bb42ab: Refactor mapAsyncIterator to use a Repeater implementation
This is a breaking change as the generator returned by mapAsyncIterator will now (correctly) not support concurrent next() and throw() calls. As the generator returned by calls to execute should rarely be used with throw(), this breaking change should have little impact.
-
f6d0b73: Support incremental delivery with defer/stream directives
Port of graphql#2839
defer/stream support is enabled by default, but can be disabled using thedisableIncremental
argument. -
7aaffa2: BREAKING CHANGE:
execute
now executes subscriptions as subscriptions, not queries, unless the newforceQueryAlgorithm
option is set to true. Thesubscribe
function has been removed.Executing a subscription with improper arguments now throws an error (rather than returning a promise that rejects with an error), aligning execution of subscriptions to that of queries and mutations.