首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >graphql客户端:将枚举值映射到所需的形式

graphql客户端:将枚举值映射到所需的形式
EN

Stack Overflow用户
提问于 2022-03-11 14:47:25
回答 1查看 313关注 0票数 2

我们在客户机和服务器上都使用graphql-codegen来处理从graphql模式到类型记录类型的映射。

我们在graphql中有一个枚举

代码语言:javascript
运行
复制
enum Status {
  ACTIVE
  INACTIVE
  NOT_CONFIRMED
}

在等式的服务器端,我能够使用typescript-resolver插件来映射存储在数据库中的内部值。

不过,我正在与等式的客户端进行斗争,在那里我们使用react-query。关于enumValues的文档相当稀疏;我在配置中指定了一个enumValues,如下所示

代码语言:javascript
运行
复制
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字段的查询时,它将返回序列化的枚举值(例如。“活动”而不是“活动”的映射值)。

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 10:33:37

如果您需要所有枚举保持一致,就像它们在graphql模式中一样(例如,all caps等),您可以将它添加到codegen配置文件中,我的文件是js文件,因此它的对象类似于:

代码语言:javascript
运行
复制
  config: {
    namingConvention: {
      enumValues: 'keep',
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71440272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档