Я не хочу переопределять свойства при определении типа GraphQL. Есть ли способ обойти это?

главный

interface Community {
  uuid: String
  name: String
  tagline: String
  desc: String
  location: String
}

его дети

type CommunityWithOwnerUser implements Community {
  uuid: String
  name: String
  tagline: String
  desc: String
  location: String
  //....owner details
  ownerUuid:String
  ownerName:String
}

другой ребенок

type CommunityWithAnyMember implements Community {
  uuid: String
  name: String
  tagline: String
  desc: String
  location: String
  //....member details
  memberUuid:String
  memberName:String
}

Я знаю, что эти типы неразумны. Это пример

мой вопрос

Я переписал детали типа Community во всех определениях типов. вместо этого было бы здорово, если бы я мог использовать что-то вроде extend

type CommunityWithAnyMember extend Community {
  memberUuid:String
  memberName:String
}

его выход

type CommunityWithAnyMember {
  uuid: String
  name: String
  tagline: String
  desc: String
  location: String
  memberUuid:String
  memberName:String
}

Я давно занимаюсь исследованиями. Я нашел https://github.com/Sydsvenskan/node-graphql-partials, но это не помогло. Спасибо за ответ.

Также см. этот ответ на связанный вопрос: stackoverflow.com/questions/48940240/…

Daniel Rearden 09.03.2019 00:01

спасибо @DanielRearden. это помогло

Yasin Tazeoglu 09.03.2019 00:18

Поскольку этот вопрос является дубликатом, не стесняйтесь удалять его и голосовать за любые полезные ответы на два вопроса выше.

Daniel Rearden 09.03.2019 00:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
0
3
45
0

Другие вопросы по теме