Skip to content

phatpro/graphql-get-fields

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

graphql-get-fields

Transform fields from GraphQL to Mongoose project object

Installation

npm install graphql-get-fields

Usage

with excludeFields

const getFields = require('graphql-get-fields');

// Example query
//      query getTodos {
//          todos {
//               userId @include(if: true)
//               id
//               title
//               completed @skip(if: true) @include(if: false)
//               details {
//                    description
//                    createAt
//                    updateAt
//               }
//          }
//      }

const fieldNames = getFields(info, {
    excludeFields: ['details.createAt', 'details.updateAt']
})

// Output
// fieldNames = { userId: 1, id: 1, title: 1, 'details.description': 1 }

with onlyFields

const getFields = require('graphql-get-fields');

// Example query
//      query getTodos {
//          todos {
//               userId @include(if: true)
//               id
//               title
//               completed @skip(if: true) @include(if: false)
//               details {
//                    description
//                    createAt
//                    updateAt
//               }
//          }
//      }

const fieldNames = getFields(info, {
    excludeFields: ['id'],
    onlyFields: ['id', 'details', 'details.description']
})

// Output
// fieldNames = { id: 1, details: 1, 'details.description': 1 }

Params

  • info: graphql resolve info object (required)
  • options:
    • excludeFields (default: [])
    • onlyFields (default: [])

License

MIT

About

Transform fields from GraphQL to Mongoose project object.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published