juniper/juniper_codegen/Cargo.toml
Kai Ren ddc1488195
Codegen reimplementation for GraphQL unions (#666)
- reimplement #[derive(GraphQLUnion)] macro to support:
    - both structs and enums
    - generics in type definition
    - multiple #[graphql] attributes
    - external resolver functions
- remove From trait impls generation for enum variants

- reimplement #[graphql_union] macro to support:
    - traits
    - generics in trait definition
    - multiple attributes
    - external resolver functions
    - GraphQLType implemetation for a raw trait object
    - GraphQLTypeAsync implemetation (#549)

- add marker::GraphQLUnion trait

- rewrite "2.5 Unions" section in Book (Juniper user documentation)

- rewrite `codegen` and `codegen_fail` integration tests for GraphQL unions

Additionally:
- re-export `futures` crate in `juniper` for convenient reuse in the generated code without requiring library user to provide `futures` crate by himself (#663)
- use unit type () as default context for EmptyMutation and EmptySubscriptions
- relax Sized trait bound on some GraphQLType and GraphQLTypeAsync definitions, implementations and usages
2020-06-04 11:19:01 +03:00

29 lines
718 B
TOML

[package]
name = "juniper_codegen"
version = "0.14.2"
edition = "2018"
authors = [
"Magnus Hallin <mhallin@fastmail.com>",
"Christoph Herzog <chris@theduke.at>",
]
description = "Internal custom derive trait for Juniper GraphQL"
license = "BSD-2-Clause"
documentation = "https://docs.rs/juniper"
repository = "https://github.com/graphql-rust/juniper"
[badges]
travis-ci = { repository = "graphql-rust/juniper" }
[lib]
proc-macro = true
[dependencies]
proc-macro-error = "1.0.2"
proc-macro2 = "1.0.1"
quote = "1.0.3"
syn = { version = "1.0.3", features = ["full", "extra-traits", "parsing"] }
[dev-dependencies]
derive_more = "0.99.7"
futures = "0.3.1"
juniper = { version = "0.14.2", path = "../juniper" }