Enums Graphql Codegen-具有自定义键的枚举=>;价值

Enums Graphql Codegen-具有自定义键的枚举=>;价值,enums,graphql,graphql-codegen,Enums,Graphql,Graphql Codegen,我使用graphqlcodegen生成类型文件 例如,假设我的schema.graphql文件中有以下内容: enum城市{ 约翰内斯堡 开罗 纽约 伦敦 北京 } mygenerated types.ts文件中的输出如下: 导出枚举城市{ 约翰内斯堡=‘约翰内斯堡’ 开罗=‘开罗’ 纽约=‘纽约’ 伦敦=‘伦敦’ 北京=‘北京’ } 在codegen运行之前,我是否有办法“覆盖”枚举的值?也许有如下的事情(我显然试过): enum城市{ 约翰内斯堡:“JNB” 开罗:“蔡” 纽约:“纽约”

我使用graphqlcodegen生成类型文件

例如,假设我的
schema.graphql
文件中有以下内容:

enum城市{
约翰内斯堡
开罗
纽约
伦敦
北京
}
my
generated types.ts
文件中的输出如下:

导出枚举城市{
约翰内斯堡=‘约翰内斯堡’
开罗=‘开罗’
纽约=‘纽约’
伦敦=‘伦敦’
北京=‘北京’
}
在codegen运行之前,我是否有办法“覆盖”枚举的值?也许有如下的事情(我显然试过):

enum城市{
约翰内斯堡:“JNB”
开罗:“蔡”
纽约:“纽约”
伦敦:“伦敦”
北京:“贝”
}
这反过来应该产生:

导出枚举城市{
约翰内斯堡='JNB'
Cairo='CAI'
纽约=‘纽约’
伦敦=‘伦敦’
北京=‘贝’
}

不确定是否太迟,但您可能可以使用
枚举值来自定义内部枚举值。这是你的电话号码。例如:

/类型/ts

export enum cities {
 Johannesburg = 'JNB'
 Cairo = 'CAI'
 NewYork = 'NYC'
 London = 'LON'
 Beijing = 'BEI'
}
/codegen.yml

generates:
  src/graphql.types.ts:
    config:
      useIndexSignature: true
      enumValues:
        cities: ./types#cities // path to your custom types
    plugins:
      - typescript
      - typescript-resolvers

不确定是否太迟,但您可能可以使用
enumValues
自定义内部枚举值。这是你的电话号码。例如:

/类型/ts

export enum cities {
 Johannesburg = 'JNB'
 Cairo = 'CAI'
 NewYork = 'NYC'
 London = 'LON'
 Beijing = 'BEI'
}
/codegen.yml

generates:
  src/graphql.types.ts:
    config:
      useIndexSignature: true
      enumValues:
        cities: ./types#cities // path to your custom types
    plugins:
      - typescript
      - typescript-resolvers

非常感谢。在将graphql端点从headless wordpress迁移到onegraph之后,这个答案正是我所需要的。前者使用实际字符串名称作为枚举值,而后者使用数字枚举。阿波罗不喜欢数字枚举,甚至在这里开始了一个关于它的帖子谢谢!在将graphql端点从headless wordpress迁移到onegraph之后,这个答案正是我所需要的。前者使用实际字符串名称作为枚举值,而后者使用数字枚举。阿波罗不喜欢数字枚举,甚至在这里开始了一条关于它的线索