@ldsg/graphql-resolver
v0.3.24
Published
GraphQL Resolver 资源模块,用于向 GraphQL schema 添加单个 resolver。
Readme
@ldsg/graphql-resolver
GraphQL Resolver 资源模块,用于向 GraphQL schema 添加单个 resolver。
功能
- 支持向 Query/Mutation 添加 resolver
- 支持向 Object 类型添加关系(relation)
- 支持使用 jsonata 表达式配置 prepareArgs
- 支持 projection 配置
使用示例
添加 Query/Mutation resolver
// Query.userFindById
{
typeName: 'Query',
fieldName: 'userFindById',
objectTypeName: 'User',
resolverName: 'findById'
}
// Mutation.userCreateOne
{
typeName: 'Mutation',
fieldName: 'userCreateOne',
objectTypeName: 'User',
resolverName: 'createOne'
}添加 Relation
// User.friends
{
typeName: 'User',
fieldName: 'friends',
objectTypeName: 'User',
resolverName: 'dataLoaderMany',
prepareArgs: '{ _ids: friendsIds }',
projection: { friendsIds: 1 }
}
// User.adultFriendsWithSameGender
{
typeName: 'User',
fieldName: 'adultFriendsWithSameGender',
objectTypeName: 'User',
resolverName: 'findMany',
prepareArgs: '{ filter: { _id: { $in: friendsIds }, age: { $gt: 21 }, gender: gender }, limit: 10 }',
projection: { friendsIds: 1, gender: 1 }
}Form resolver
// Mutation.submitUserForm
{
typeName: 'Mutation',
fieldName: 'submitUserForm',
objectTypeName: 'UserForm',
resolverName: 'submit'
}配置项
| 字段 | 类型 | 描述 | |-------|------|------| | typeName | string | 添加到的类型名称:'Query'、'Mutation' 或 Object 类型名称 | | fieldName | string | 字段名称 | | description? | string | 字段描述(可选) | | objectTypeName | string | resolver 所属的对象类型名称 | | resolverName | string | resolver 方法名称 | | prepareArgs? | string | jsonata 表达式,用于 prepareArgs(可选) | | projection? | object | projection 配置(可选) |
