UNPKG

@graphql-tools/delegate

Version:

A set of utils for faster development of GraphQL tools

35 lines (34 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneSubschemaConfig = exports.isSubschemaConfig = void 0; function isSubschemaConfig(value) { return Boolean(value?.schema); } exports.isSubschemaConfig = isSubschemaConfig; function cloneSubschemaConfig(subschemaConfig) { const newSubschemaConfig = { ...subschemaConfig, transforms: subschemaConfig.transforms != null ? [...subschemaConfig.transforms] : undefined, }; if (newSubschemaConfig.merge != null) { newSubschemaConfig.merge = { ...subschemaConfig.merge }; for (const typeName in newSubschemaConfig.merge) { const mergedTypeConfig = (newSubschemaConfig.merge[typeName] = { ...(subschemaConfig.merge?.[typeName] ?? {}), }); if (mergedTypeConfig.entryPoints != null) { mergedTypeConfig.entryPoints = mergedTypeConfig.entryPoints.map(entryPoint => ({ ...entryPoint, })); } if (mergedTypeConfig.fields != null) { const fields = (mergedTypeConfig.fields = { ...mergedTypeConfig.fields }); for (const fieldName in fields) { fields[fieldName] = { ...fields[fieldName] }; } } } } return newSubschemaConfig; } exports.cloneSubschemaConfig = cloneSubschemaConfig;