graphql-composition 0.12.2

An implementation of GraphQL federated schema composition
Documentation
use super::*;

pub(crate) type Extension<'a> = View<'a, ExtensionId, ExtensionRecord>;

pub(crate) struct ExtensionRecord {
    pub(crate) url: StringId,
    pub(crate) link_url: StringId,
    pub(crate) name: StringId,
}

impl Subgraphs {
    pub(crate) fn iter_extensions(&self) -> impl ExactSizeIterator<Item = Extension<'_>> {
        self.extensions
            .iter()
            .enumerate()
            .map(|(idx, record)| View { id: idx.into(), record })
    }

    pub(crate) fn push_extension(&mut self, extension: ExtensionRecord) {
        self.extensions.push(extension);
    }
}