a3fda7363d
- preserve and reuse defined impl blocks in #[graphql_object] and #[graphql_subscription] macros expansion - allow renaming `ScalarValue` type parameter in expanded code via `scalar = S: ScalarValue` syntax Additionally: - rename `rename` attribute's argument to `rename_all` - support `rename_all` in #[graphql_interface] macro
21 lines
463 B
Rust
21 lines
463 B
Rust
use std::pin::Pin;
|
|
|
|
use juniper::graphql_subscription;
|
|
|
|
type Stream<'a, I> = Pin<Box<dyn futures::Stream<Item = I> + Send + 'a>>;
|
|
|
|
struct ObjA;
|
|
|
|
#[graphql_subscription]
|
|
impl ObjA {
|
|
async fn id(&self) -> Stream<'static, &'static str> {
|
|
Box::pin(stream::once(future::ready("funA")))
|
|
}
|
|
|
|
#[graphql(name = "id")]
|
|
async fn id2(&self) -> Stream<'static, &'static str> {
|
|
Box::pin(stream::once(future::ready("funB")))
|
|
}
|
|
}
|
|
|
|
fn main() {}
|