558eae91df
* Implemented most test cases from the specification * Unified error handling for all generators - Removed proc-macro-error -> not required -> use syn::Error - Everything below lib.rs uses proc_macro2::TokenStream instead of proc_macro::TokenStream - Replaced error handling in attribute parsers * WIP better error messages for *all* macros * Refactored GraphQLInputObject and minor tweaks - removed support for Scalar within a string ("DefaultScalarValue") - removed unraw function and replaced it with the built-in one - added error messages and return types for all functions within utils - added more constraints to fulfill the GraphQL spec * Fixed test-cases which are not compliant with the specification * Removed unused function * Added constrains, updated error messages, added marker * Added argument rename within impl_graphql and fixed `__` tests * Formatted and cleanup * Added GraphQLTypeAsync for input object * Moved codegen tests to separate module Nightly and stable produce different outputs, thus only test nightly. * Added IsInputType/IsOutputType traits for type checking Co-authored-by: Christian Legnitto <LegNeato@users.noreply.github.com>
29 lines
575 B
Text
29 lines
575 B
Text
#[derive(juniper::GraphQLObject)]
|
|
#[graphql(scalar = juniper::DefaultScalarValue)]
|
|
pub struct ObjA {
|
|
test: String,
|
|
}
|
|
|
|
enum Character {
|
|
A(ObjA),
|
|
}
|
|
|
|
juniper::graphql_interface!(Character: () where Scalar = juniper::DefaultScalarValue |&self| {
|
|
field id() -> &str {
|
|
match *self {
|
|
Character::A(_) => "funA",
|
|
}
|
|
}
|
|
|
|
field id() -> &str {
|
|
match *self {
|
|
Character::A(_) => "funA",
|
|
}
|
|
}
|
|
|
|
instance_resolvers: |_| {
|
|
&ObjA => match *self { Character::A(ref h) => Some(h) },
|
|
}
|
|
});
|
|
|
|
fn main() {}
|