@graphql-codegen/visitor-plugin-common
Version:
15 lines (14 loc) • 584 B
JavaScript
import { optimizeDocuments } from '@graphql-tools/relay-operation-optimizer';
export function optimizeOperations(schema, documents, options) {
const newDocuments = optimizeDocuments(schema, documents.map(s => {
if (!s.document) {
throw new Error(`Cannot optimize the document at "${s.location}": it has no parsed document`);
}
return s.document;
}), options);
return newDocuments.map((document, index) => ({
...documents[index],
location: documents[index]?.location || 'optimized by relay',
document,
}));
}