UNPKG

@graphql-tools/utils

Version:

Common package containing utils and types for GraphQL tools

29 lines (28 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.forEachDefaultValue = forEachDefaultValue; const graphql_1 = require("graphql"); function forEachDefaultValue(schema, fn) { const typeMap = schema.getTypeMap(); for (const typeName in typeMap) { const type = typeMap[typeName]; if (!(0, graphql_1.getNamedType)(type).name.startsWith('__')) { if ((0, graphql_1.isObjectType)(type)) { const fields = type.getFields(); for (const fieldName in fields) { const field = fields[fieldName]; for (const arg of field.args) { arg.defaultValue = fn(arg.type, arg.defaultValue); } } } else if ((0, graphql_1.isInputObjectType)(type)) { const fields = type.getFields(); for (const fieldName in fields) { const field = fields[fieldName]; field.defaultValue = fn(field.type, field.defaultValue); } } } } }