graphql-composition 0.12.2

An implementation of GraphQL federated schema composition
Documentation
use super::{Definition, InterfaceId, ObjectId};

#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
pub(crate) enum EntityDefinitionId {
    Object(ObjectId),
    Interface(InterfaceId),
}

impl From<EntityDefinitionId> for Definition {
    fn from(entity_definition_id: EntityDefinitionId) -> Self {
        match entity_definition_id {
            EntityDefinitionId::Object(object_id) => Definition::Object(object_id),
            EntityDefinitionId::Interface(interface_id) => Definition::Interface(interface_id),
        }
    }
}

impl From<ObjectId> for EntityDefinitionId {
    fn from(object_id: ObjectId) -> Self {
        EntityDefinitionId::Object(object_id)
    }
}

impl From<InterfaceId> for EntityDefinitionId {
    fn from(interface_id: InterfaceId) -> Self {
        EntityDefinitionId::Interface(interface_id)
    }
}