UNPKG

type-graphql

Version:

Create GraphQL schema and resolvers with TypeScript, using classes and decorators!

35 lines (34 loc) 1.27 kB
export function getFieldMetadataFromInputType(type) { const fieldInfo = type.getFields(); const typeFields = Object.keys(fieldInfo).reduce((fieldsMap, fieldName) => { const superField = fieldInfo[fieldName]; fieldsMap[fieldName] = { type: superField.type, astNode: superField.astNode, description: superField.description, defaultValue: superField.defaultValue, }; return fieldsMap; }, {}); return typeFields; } export function getFieldMetadataFromObjectType(type) { const fieldInfo = type.getFields(); const typeFields = Object.keys(fieldInfo).reduce((fieldsMap, fieldName) => { const superField = fieldInfo[fieldName]; fieldsMap[fieldName] = { type: superField.type, args: superField.args.reduce((argMap, { name, ...arg }) => { argMap[name] = arg; return argMap; }, {}), astNode: superField.astNode, resolve: superField.resolve, description: superField.description, deprecationReason: superField.deprecationReason, extensions: superField.extensions, }; return fieldsMap; }, {}); return typeFields; }