[][src]Derive Macro async_graphql::GQLMergedSubscription

#[derive(GQLMergedSubscription)]
{
    // Attributes available to this derive:
    #[item]
    #[graphql]
}

Define a merged subscription with multiple subscription types.

You can also derive this.

See also the Book.

Macro parameters

AttributedescriptionTypeOptional
nameObject namestringY
descObject descriptionstringY

Examples

use async_graphql::*;
use futures::Stream;

#[derive(Default)]
struct Subscription1;

#[GQLSubscription]
impl Subscription1 {
    async fn events1(&self) -> impl Stream<Item = i32> {
        futures::stream::iter(0..10)
    }
}

#[derive(Default)]
struct Subscription2;

#[GQLSubscription]
impl Subscription2 {
    async fn events2(&self) -> impl Stream<Item = i32> {
        futures::stream::iter(10..20)
   }
}

#[derive(GQLMergedSubscription, Default)]
struct Subscription(Subscription1, Subscription2);