如何解决Graphql Codegen - 带有自定义键 => 值的枚举
例如,假设我的 schema.graphql
文件中有以下内容:
enum cities {
JOHANnesBURG
CAIRO
NEW_YORK
LONDON
BEIJING
}
我的 generated-types.ts
文件中的输出如下:
export enum cities {
Johannesburg = 'JOHANnesBURG'
Cairo = 'CAIRO'
NewYork = 'NEW_YORK'
London = 'LONDON'
Beijing = 'BEIJING'
}
有没有办法在代码生成运行之前“覆盖”枚举的值?也许如下(我显然尝试过):
enum cities {
JOHANnesBURG: 'JNB'
CAIRO: 'CAI'
NEW_YORK: 'NYC'
LONDON: 'LON'
BEIJING: 'BEI'
}
反过来应该产生:
export enum cities {
Johannesburg = 'JNB'
Cairo = 'CAI'
NewYork = 'NYC'
London = 'LON'
Beijing = 'BEI'
}
解决方法
不确定我是否为时已晚,但您可能可以使用 enumValues
来自定义您的内部枚举值。这是documentation。例如:
./types.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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。