UNPKG

@nestjs/graphql

Version:

Nest - modern, fast, powerful node.js web framework (@graphql)

52 lines (51 loc) 1.86 kB
import { __decorate } from "tslib"; import { Injectable } from '@nestjs/common'; let TypeFieldsAccessor = class TypeFieldsAccessor { extractFromInputType(gqlType) { const fieldsMap = gqlType.getFields(); const fieldsConfig = {}; for (const key in fieldsMap) { const targetField = fieldsMap[key]; fieldsConfig[key] = { type: targetField.type, description: targetField.description, defaultValue: targetField.defaultValue, astNode: targetField.astNode, extensions: targetField.extensions, }; } return fieldsConfig; } extractFromInterfaceOrObjectType(type) { const fieldsMap = type.getFields(); const fieldsConfig = {}; for (const key in fieldsMap) { const targetField = fieldsMap[key]; const args = {}; targetField.args.forEach((item) => { args[item.name] = { type: item.type, defaultValue: item.defaultValue, description: item.description, deprecationReason: item.deprecationReason, astNode: item.astNode, extensions: item.extensions, }; }); fieldsConfig[key] = { type: targetField.type, description: targetField.description, deprecationReason: targetField.deprecationReason, extensions: targetField.extensions, astNode: targetField.astNode, resolve: targetField.resolve, args, }; } return fieldsConfig; } }; TypeFieldsAccessor = __decorate([ Injectable() ], TypeFieldsAccessor); export { TypeFieldsAccessor };