Yaacov Rydzinski
Yaacov Rydzinski
add assertions from current behavior of reference implementation
Complements #939 Addresses #711 Similar to #939, this PR expands the robustness of the type system by allowing types that actually fulfill interfaces to be recognized as such by the...
This formalizes the proprosed feature within `graphql-js` whereby the internal method provided by JavaScript for runtime type resolution is allowed to return an intermediate interface. See: Issue: https://github.com/graphql/graphql-js/issues/3253 PR: https://github.com/graphql/graphql-js/pull/3599...
Cf. https://github.com/graphql/graphql-spec/pull/373#issuecomment-375489730 ```graphql # generic types interface Node { id: ID! } interface Connection { pageInfo: PageInfo! edges: [Edge] } interface Edge { cursor: String node: Node } type PageInfo...
This is to better anticipate the nature of defer/stream directives as client side recommendations rather than mandates.
Each commit is meant to merged separately, i.e. "Rebase and Merge" rather than "Squash and Merge" 5b8a807d: moves `executeStreamField` out of try block to better illustrate which code might throw...
note that filtering is still required for synchronous error bubbling with stream. With defer, patches are not executed if the initial field set execution fails, but with stream, the initial...
Previously, async errors from further down in the tree would bubble to the parent list rather than the individual item. This change also fixes the test so that `completeValue` rejects...
The use of new experimental functionality triggered by directives does not need a separate runtime flag. The directives themselves are the flags and all operations passed to `execute` are assumed...