gpt4 book ai didi

enums - Graphql Codegen - 带有自定义键=>值的枚举

转载 作者:行者123 更新时间:2023-12-02 02:27:01 24 4
gpt4 key购买 nike

我使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com