(experimental) - Add full support for multipart/mixed defer and stream directive responses (#1854)
* Add initial (isomorphic) incremental multipart support
This adds support for "multipart/mixed" GraphQL results, which
are used in delivering defer/stream responses.
See: https://github.com/graphql/graphql-over-http/blob/main/rfcs/IncrementalDelivery.md
See: https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
* Add comment header for meros licensing
WIP: This is temporary and we may swap out the wording here
* Fix related persistedFetchExchange test
* Add "No Content" exception to multipart without chunks
* Add errors merging to result's mergeResultPatch
* add example to test the functionality
* Add WIP implementation for defer in Graphcache
* Remove ctx.partial exception from Graphcache
* Add defer exception to Graphcache's write operation
* Replace defer FieldNode marking with ref
* Add initial layer preservation for deferred operations
* Handle deferred results in dedupExchange
* Handle noop updates for deferred operations in Graphcache
* Fix up execute exchange typings
* Restore failing test case for write.ts
* Add initial tests for deferred data layering
* Update tests and snapshots
* Fix issues in fetchSource splitting
* Update ssrExchange to handle "hasNext" deferred results
* Add test for deferred queries to Graphcache
* Add async iterator support to @urql/exchange-execute
* Update name of example
* Add changesets
* add test for fetchSource
* use correct dep
* add tests for defer
* Update Comparison docs
* Format src/operations/query.ts
* Simplify mergeResultPatch implementation
* Update example to include Graphcache
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
authored by