Parse selected fields of AST in GraphQL server and Prisma ORM.
npm install prisma-parse-selected-fieldsPrisma Parse Selected Fields supports parsing selected fields of AST in GraphQL server and Prisma ORM.
``typescript`
interface ParseFieldsOptions {
includeFields: string[]
excludeFields: string[]
}
`typescript`
interface Options {
parseFieldsOptions?: ParseFieldsOptions
graphQLParseFieldsOptions?: GraphQLParseFieldsOptions
}
`typescript`
/**
* @method convertSelectedFields Convert AST object to select object in Prisma.
* @param selectFields any
* @returns any
*/
function convertSelectedFields(selectFields: any): any
`typescript`
/**
* @method deleteFields Delete specified fields in the object
* @param obj any
* @param parseFieldsOptions ParseFieldsOptions
* @returns any
*/
function deleteFields(obj: any, parseFieldsOptions?: ParseFieldsOptions): any
`typescript`
/**
* @method parseSelectedFields Convert AST of info object to select object in Prisma.
* @param info GraphQLResolveInfo
* @param options Options | undefined
* @returns any
*/
function parseSelectedFields(info: GraphQLResolveInfo, options?: Options): any
`typescript
// ES6
...
import { GraphQLResolveInfo as Info } from 'graphql'
import { parseSelectedFields } from "prisma-parse-selected-fields";
async function resolver(root: any, args: any, { prisma }: any, info: Info): Promise
const select = parseSelectedFields(info)
return await prisma.user.findMany({
....
where: {...},
select: select,
...
})
}
``