@graphql-mesh/cli
Version:
27 lines (26 loc) • 1.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateOperations = generateOperations;
const graphql_1 = require("graphql");
const utils_1 = require("@graphql-tools/utils");
function generateOperations(schema, options) {
const sources = [];
const rootTypeMap = (0, utils_1.getRootTypeMap)(schema);
for (const [operationType, rootType] of rootTypeMap) {
const fieldMap = rootType.getFields();
for (const fieldName in fieldMap) {
const operationNode = (0, utils_1.buildOperationNodeForField)({
schema,
kind: operationType,
field: fieldName,
depthLimit: options.selectionSetDepth,
});
const defaultName = `operation_${sources.length}`;
const virtualFileName = operationNode.name?.value || defaultName;
const rawSDL = (0, graphql_1.print)(operationNode);
const source = (0, utils_1.parseGraphQLSDL)(`${virtualFileName}.graphql`, rawSDL);
sources.push(source);
}
}
return sources;
}
;