@graphql-codegen/visitor-plugin-common
Version:
18 lines (17 loc) • 747 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.optimizeOperations = optimizeOperations;
const relay_operation_optimizer_1 = require("@graphql-tools/relay-operation-optimizer");
function optimizeOperations(schema, documents, options) {
const newDocuments = (0, relay_operation_optimizer_1.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,
}));
}