@graphql-mesh/utils
Version:
18 lines (17 loc) • 612 B
JavaScript
import { memoize1 } from '@graphql-tools/utils';
export const getOperationsAndFragments = memoize1(function getOperationsAndFragments(document) {
const fragments = Object.create(null);
const operations = Object.create(null);
for (const definition of document.definitions) {
if (definition.kind === 'OperationDefinition') {
operations[definition.name.value] = definition;
}
else if (definition.kind === 'FragmentDefinition') {
fragments[definition.name.value] = definition;
}
}
return {
operations,
fragments,
};
});