UNPKG

@graphql-mesh/fusion-composition

Version:

Basic composition utility for Fusion spec

32 lines (31 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPrefixTransform = createPrefixTransform; const utils_1 = require("@graphql-tools/utils"); const rename_js_1 = require("./rename.js"); function createPrefixTransform({ value, ignore = [], includeRootOperations = false, includeTypes = true, } = {}) { return function prefixTransform(schema, subgraphConfig) { value = value || `${subgraphConfig.name}_`; const transforms = []; if (includeRootOperations) { transforms.push((0, rename_js_1.createRenameFieldTransform)(({ typeName, fieldName }) => { if (ignore.includes(typeName) || ignore.includes(`${typeName}.${fieldName}`)) { return fieldName; } return `${value}${fieldName}`; }, utils_1.MapperKind.ROOT_FIELD)); } if (includeTypes) { transforms.push((0, rename_js_1.createRenameTypeTransform)(({ typeName }) => { if (ignore.includes(typeName)) { return typeName; } return `${value}${typeName}`; })); } for (const transform of transforms) { schema = transform(schema, subgraphConfig); } return schema; }; }