等同于EnumSet的Typescript GraphQL

我有一个用例,只允许将一组特定的枚举值输入突变/显示中。我不太确定如何最好地解决这个问题。

给出以下内容:

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等,但无济于事。

有没有办法模仿此功能?

iCMS 回答:等同于EnumSet的Typescript GraphQL

简短的回答:没有。目前,GraphQL仅支持将对象类型用于联合,并且不存在用于访问现有枚举类型的单个枚举值的语法。您需要显式创建三种单独的枚举类型:

enum Weekday {
  MONDAY
  TUESDAY
  WEDNESDAY
  THURSDAY
  FRIDAY
}

enum Weekend {
  SATURDAY
  SUNDAY
}

enum DayOfWeek {
  MONDAY
  TUESDAY
  WEDNESDAY
  THURSDAY
  FRIDAY
  SATURDAY
  SUNDAY
}
本文链接:https://www.f2er.com/1990808.html

大家都在问