作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 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'
}
有没有办法让我在 codegen 运行之前“覆盖”枚举的值?也许如下(我显然尝试过):
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 .例如:
./类型.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
关于enums - Graphql Codegen - 带有自定义键=>值的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65519093/
我是一名优秀的程序员,十分优秀!