Enums Graphql Codegen-具有自定义键的枚举=>;价值
我使用graphqlcodegen生成类型文件 例如,假设我的Enums Graphql Codegen-具有自定义键的枚举=>;价值,enums,graphql,graphql-codegen,Enums,Graphql,Graphql Codegen,我使用graphqlcodegen生成类型文件 例如,假设我的schema.graphql文件中有以下内容: enum城市{ 约翰内斯堡 开罗 纽约 伦敦 北京 } mygenerated types.ts文件中的输出如下: 导出枚举城市{ 约翰内斯堡=‘约翰内斯堡’ 开罗=‘开罗’ 纽约=‘纽约’ 伦敦=‘伦敦’ 北京=‘北京’ } 在codegen运行之前,我是否有办法“覆盖”枚举的值?也许有如下的事情(我显然试过): enum城市{ 约翰内斯堡:“JNB” 开罗:“蔡” 纽约:“纽约”
schema.graphql
文件中有以下内容:
enum城市{
约翰内斯堡
开罗
纽约
伦敦
北京
}
mygenerated 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之后,这个答案正是我所需要的。前者使用实际字符串名称作为枚举值,而后者使用数字枚举。阿波罗不喜欢数字枚举,甚至在这里开始了一条关于它的线索