graphql-parse-fields
Parse fields from AST (GraphQLResolveInfo) into a JSON tree
Installation
npm i --save graphql-parse-fields
Usage
Example1: Parse GraphQL resolve info
- @param {Object} info - graphql resolve info
- @param {Boolean} [ignoreRoot] - default: true
- @return {Object} fieldTree
var parseFields = require('graphql-parse-fields')
var GraphQLObjectType =
var UserType =
var queryType = new GraphQLObjectType({
name: 'Query',
fields: {
user: {
type: UserType,
resolve: function (root, args, ctx, info) {
var fields = parseFields(info)
var fieldsWithRoot = parseFields(info, true)
},
}
}
})
Example2: Parse GraphQL ASTs
- @param {Array} asts - ast array
- @param {Object} [fragments] - optional fragment map
- @param {Object} [fieldTree] - optional initial field tree
- @return {Object} fieldTree
var ast = {
"kind": "Field",
"alias": null,
"name": {
"kind": "Name",
"value": "user"
},
"selectionSet": {
"kind": "SelectionSet",
"selections": [
{
"kind": "Field",
"name": {
"kind": "Name",
"value": "id"
}
selectionSet: null
}
]
}
}
parseAst(ast)
parseAst([ast])
Changelog
CHANGELOG.md
License
MIT