dynamic-graphql-derive 0.10.2

Dynamic GraphQL schema macro
Documentation
---
source: derive/src/args/test_output.rs
expression: output
---
```rust
enum Example {
    Foo,
    Bar,
}

impl dynamic_graphql::internal::TypeName for Example {
    fn get_type_name() -> std::borrow::Cow<'static, str> {
        "Example".into()
    }
}
impl dynamic_graphql::internal::InputTypeName for Example {}
impl dynamic_graphql::internal::OutputTypeName for Example {}
impl dynamic_graphql::internal::Enum for Example {}
impl From<&Example> for dynamic_graphql::Value {
    fn from(value: &Example) -> Self {
        match value {
            Example::Foo => {
                dynamic_graphql::Value::Enum(dynamic_graphql::Name::new("FOO"))
            }
            Example::Bar => {
                dynamic_graphql::Value::Enum(dynamic_graphql::Name::new("BAR"))
            }
        }
    }
}
impl<
    '__dynamic_graphql_lifetime,
> dynamic_graphql::internal::ResolveOwned<'__dynamic_graphql_lifetime> for Example {
    fn resolve_owned(
        self,
        _ctx: &dynamic_graphql::Context,
    ) -> dynamic_graphql::Result<
        Option<dynamic_graphql::FieldValue<'__dynamic_graphql_lifetime>>,
    > {
        Ok(Some(dynamic_graphql::FieldValue::value(&self)))
    }
}
impl<
    '__dynamic_graphql_lifetime,
> dynamic_graphql::internal::ResolveRef<'__dynamic_graphql_lifetime> for Example {
    fn resolve_ref(
        &'__dynamic_graphql_lifetime self,
        _ctx: &dynamic_graphql::Context,
    ) -> dynamic_graphql::Result<
        Option<dynamic_graphql::FieldValue<'__dynamic_graphql_lifetime>>,
    > {
        Ok(Some(dynamic_graphql::FieldValue::value(self)))
    }
}
impl dynamic_graphql::internal::FromValue for Example {
    fn from_value(
        __value: dynamic_graphql::Result<dynamic_graphql::dynamic::ValueAccessor>,
    ) -> dynamic_graphql::internal::InputValueResult<Self> {
        let __value = __value?;
        let string_value = __value.enum_name()?;
        match string_value {
            "FOO" => Ok(Example::Foo),
            "BAR" => Ok(Example::Bar),
            _ => {
                Err(
                    dynamic_graphql::internal::InputValueError::custom(
                        format!(
                            "Unknown variant `{}` for enum `{}`", string_value, < Example
                            as dynamic_graphql::internal::Enum > ::get_enum_type_name()
                            .as_ref()
                        ),
                    ),
                )
            }
        }
    }
}
impl dynamic_graphql::internal::Register for Example {
    fn register(
        registry: dynamic_graphql::internal::Registry,
    ) -> dynamic_graphql::internal::Registry {
        let object = dynamic_graphql::dynamic::Enum::new(
            <Example as dynamic_graphql::internal::Enum>::get_enum_type_name().as_ref(),
        );
        let field = dynamic_graphql::dynamic::EnumItem::new("FOO");
        let object = object.item(field);
        let field = dynamic_graphql::dynamic::EnumItem::new("BAR");
        let object = object.item(field);
        registry.register_type(object)
    }
}

```