如何在 GraphQl JS 中使用破折号实现枚举
How can I implement enums with dashes in GraphQl JS
GraphQL 枚举 can not use dashes(并且只允许下划线)。
继续,我有带破折号的枚举。它们已经存在,我不会改变它们;它会在我无法轻易检查的地方引入错误。
那么,这些如何在 GraphQL 中表示?
是否可以制作一个符合 GraphQL 标准的“假”枚举,然后将其转换为真实值?
或者我是否只需要制作自己的标量并放弃 GraphIQL 建议?
我找到了解决方案。相当容易;我很惊讶 none 的线程或我发现的其他问题:
const values: GraphQLEnumValueConfigMap = {};
["enum-1", "enum-2"].forEach((value) => {
const gqlName = String(value).replace(/\-/g, "_");
values[gqlName] = { value }
});
const gqlEnum = new GraphQLEnumType({"my_enum_name", values});
GraphQLEnumValueConfigMap
中的每个 GraphQLEnumValueConfig
都可以将 属性 value: any
设置为其应有的值。
根据您的枚举,您可能想要更改有关如何生成 gqlName 的逻辑。
GraphQL 枚举 can not use dashes(并且只允许下划线)。
继续,我有带破折号的枚举。它们已经存在,我不会改变它们;它会在我无法轻易检查的地方引入错误。
那么,这些如何在 GraphQL 中表示?
是否可以制作一个符合 GraphQL 标准的“假”枚举,然后将其转换为真实值?
或者我是否只需要制作自己的标量并放弃 GraphIQL 建议?
我找到了解决方案。相当容易;我很惊讶 none 的线程或我发现的其他问题:
const values: GraphQLEnumValueConfigMap = {};
["enum-1", "enum-2"].forEach((value) => {
const gqlName = String(value).replace(/\-/g, "_");
values[gqlName] = { value }
});
const gqlEnum = new GraphQLEnumType({"my_enum_name", values});
GraphQLEnumValueConfigMap
中的每个 GraphQLEnumValueConfig
都可以将 属性 value: any
设置为其应有的值。
根据您的枚举,您可能想要更改有关如何生成 gqlName 的逻辑。