Package Exports
- @orbiting/graphql-list-fields
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@orbiting/graphql-list-fields) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
graphql-list-fields
This is a fork of: jakepusateri/graphql-list-field which adds named-inline-fragements (see description below). If the PR is merged into upstream, we'll get rid of the fork again.
When implementing a GraphQL server, it can be useful to know the list of fields being queried on a given type. This module takes a GraphQLResolveInfo object and returns a list of fields.
Supported features
- Basic Fields
- Fragments
- Inline Fragments
@skip
and@include
directives- Nested fields into dot.notation
npm install --save graphql-list-fields
Usage
import getFieldNames from 'graphql-list-fields';
// in some resolve function
resolve(parent, args, context, info) {
const fields = getFieldNames(info);
return fetch('/someservice/?fields=' + fields.join(','));
}
named inline fragments
When supplying true
as the second argument (getFieldList(ast, true)
), the type of a spread is included in the path:
{
someType {
e {
... on NestedType {
x
}
}
}
}
results in: [e.NestedType.x]
instead of [e.x]