我们在客户机和服务器上都使用graphql-codegen来处理从graphql模式到类型记录类型的映射。
我们在graphql中有一个枚举
enum Status {
ACTIVE
INACTIVE
NOT_CONFIRMED
}在等式的服务器端,我能够使用typescript-resolver插件来映射存储在数据库中的内部值。
不过,我正在与等式的客户端进行斗争,在那里我们使用react-query。关于enumValues的文档相当稀疏;我在配置中指定了一个enumValues,如下所示
overwrite: true
schema:
- 'http://localhost4000/graphql'
documents: 'src/**/*.graphql'
generates:
src/generated/graphql.ts:
plugins:
- 'typescript'
- 'typescript-operations'
- 'typescript-react-query'
config:
fetcher: graphql-request
enumValues:
Status: ../lib/model/Status#Status
./graphql.schema.json:
plugins:
- 'introspection'当我查看生成的文件时,它会在其中导入Status。但是,当我们实际运行包含status字段的查询时,它将返回序列化的枚举值(例如。“活动”而不是“活动”的映射值)。
发布于 2022-08-30 10:33:37
如果您需要所有枚举保持一致,就像它们在graphql模式中一样(例如,all caps等),您可以将它添加到codegen配置文件中,我的文件是js文件,因此它的对象类似于:
config: {
namingConvention: {
enumValues: 'keep',
}
}https://stackoverflow.com/questions/71440272
复制相似问题