如何解决生成的类型不适合解析器
我在使用 graphql-code-generator 时遇到问题。生成的类型不适合解析器。我在 viewer: () => ({
行中收到错误消息。
类型 '() => { createuser: () => { lastName: string;名字:字符串;昵称:字符串;电子邮件:字符串;性别:用户性别;年龄:字符串; }; }' 不可分配给类型 'Resolver
这是我的代码
codegen.yml
overwrite: true
schema: "http://localhost:8000/graphql"
documents: null
generates:
src/toolses/generated/resolversTypes.ts:
plugins:
- "typescript"
- "typescript-resolvers"
config:
useIndexSignature: true
contextType: ../../resolvers/typescript-resolvers#MyContext
customresolverFn: ../../resolvers/typescript-resolvers#customresolverFn
typescript-resolvers.ts
export type MyContext = {
res: Response;
req: Request;
admin: any;
currentUser: string;
models: any;
};
export type customresolverFn<
TResult,TParent = {},TArgs = {},TContext = {}
> = (
parent: TParent,args: TArgs,context: TContext,info: GraphQLResolveInfo
) => Promise<TResult | Error> | TResult | Error;
schema.ts
union UnconfirmedUserUnion =
UnconfirmedUser
| LetterNotSent
| WarningDuplicateEmail
enum UserGender {
MALE
FEMALE
OTHER
}
type UnconfirmedUser {
lastName: String!
firstName: String!
nickName: String!
email: Email!
gender: UserGender!
age: String!
}
type LetterNotSent {
lastName: String!
firstName: String!
nickName: String!
email: Email!
gender: UserGender!
age: String!
}
type WarningDuplicateEmail {
message: String!
lastName: String!
firstName: String!
email: Email!
gender: UserGender!
age: String!
}
input createuserInput {
lastName: String!
firstName: String!
email: Email!
gender: UserGender!
age: String!
password: String!
}
type Query {
viewer: String
}
type Mutation {
viewer: ViewerMutation
}
type ViewerMutation {
createuser(newUser: String!): UnconfirmedUserUnion!
}
resolvers.ts
const resolvers:Resolvers = {
...scalarsType,...InterfacesAndUnions,Query: queryResolvers,Mutation: {
viewer: () => ({
createuser: () => ({
lastName: "string",firstName: "string",nickName: "string",email: "string",gender: UserGender.FEMALE,age: "string",}),},};
如何更正此错误?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。