与枚举集等效的Typescript GraphQL
我有一个用例,只允许将一组特定的枚举值输入到突变/显示的输入中。我不太确定如何最好地处理这个问题 鉴于以下情况:与枚举集等效的Typescript GraphQL,graphql,graphql-js,graphql-tag,Graphql,Graphql Js,Graphql Tag,我有一个用例,只允许将一组特定的枚举值输入到突变/显示的输入中。我不太确定如何最好地处理这个问题 鉴于以下情况: import gql from 'graphql-tag'; export default gql` enum DayOfWeek { MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY } `; 我想在模式的某些位置限制选择值 我希望我能做一些事情,比如
import gql from 'graphql-tag';
export default gql`
enum DayOfWeek {
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
}
`;
我想在模式的某些位置限制选择值
我希望我能做一些事情,比如:
import gql from 'graphql-tag';
export default gql`
union Weekday = MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY
union Weekend = SATURDAY | SUNDAY
该模式似乎从未验证过。我还试着将这些引用为DayOfWeek.MONDAY
,但没有成功
有没有办法模仿此功能?简短回答:没有。目前,GraphQL只支持对联合使用对象类型,并且没有语法用于访问现有枚举类型的单个枚举值。您需要显式创建三种不同的枚举类型:
enum Weekday {
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
}
enum Weekend {
SATURDAY
SUNDAY
}
enum DayOfWeek {
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
}
谢谢,这也是我阅读文档的方式。是否有任何已知的钩子可以帮助验证工作日和周末是否“有效”?我目前最好的想法是在应用程序启动时编写自定义代码,以验证是否处于良好状态。您可以编写自定义验证规则。可以找到示例规则。可以找到验证规则使用的访问者模式的简要说明。