* Support subscriptions for GraphiQL and Playground.
Add support for subscriptions for GraphiQL and Playground in `juniper_rocket_async`.
* Update example.
Co-authored-by: Christian Legnitto <LegNeato@users.noreply.github.com>
* Update juniper_codegen for syn 1.0.60
syn 1.0.60 has updated it's `Type::__Nonexhaustive` to
`Type::TestExhaustive`, breaking juniper. This updates juniper to use
the recommended idiom for doing exhaustive matching on `Type`, which
fixes this.
Not entirely clear if we need exhaustive matching here or if we could
just use a fallback, but this fixes the build at least.
Also updated the minimum syn so users have to pull it in
* Update example to use relative deps
As otherwise CI fails on this branch
* Use working GraphQL Playground version
the linked file on jsDelivr doesn't work, as I detailed in this issue on the GraphQL Playground repo (https://github.com/graphql/graphql-playground/issues/1310). Going back to version 1.7.20 ensures the playground loads for now until they can publish a new version with a working middleware.js file.
* Add versions for css and favicon
* Update from 1.7.20 to 1.7.26
Using latest version that still works
Seems like the example code in the quickstart guide is missing an use declaration.
The code fails to compile: `error: cannot find macro `graphql_value` in this scope` with `rustc 1.48.0 (7eac88abb 2020-11-16)`
Some crates need to rewrite values when they are released in other crates. It turns out, by default we use a general config _build/release.toml. So it turns out these local-to-the-crate release.tomls were not being used unless explicitly chosen in the local-to-the-crate Makefile.toml. This removes the dead release.tomls and overrides the ones that need to edit other crates on release.
* Mark `Arc` with `IsInputType` & `IsOutputType`.
We've just updated a service we work with to the latest release of
juniper (it's been on a fairly old master commit for some time). In
this service we have some fields that are contained within `Arc`s, which
I added support for in #479.
Since then it seems the new marker traits of `IsInputType` &
`IsOutputType` have been added, but they do not support `Arc`, leading
to:
```
error[E0277]: the trait bound `Arc<menu::Menu>: IsOutputType<__S>` is not satisfied
--> src/graphql.rs:36:1
|
36 | #[juniper::graphql_object(Context=Context)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `IsOutputType<__S>` is not implemented for `Arc<menu::Menu>`
|
= note: required by `juniper::marker::IsOutputType::mark`
= note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
```
This commit adds support for those, mirroring the support for `Box`.
I'm not sure if there's a good place to add a test for this
functionality so that regressions can be avoided in the future?
* Add Arc tests & FromInputValue for Arc<T>