Получить список типов из переменных операций - PullRequest
0 голосов
/ 20 января 2019

У меня есть операция, и я хочу получить список, содержащий ее переменные и типы.

Например.учитывая операцию

query getResource($id: ID!, $title: String) {
  resource(id: $id, title: $title) {
     id
     title
     content
  }
}

Я хочу получить что-то вроде этого

[{type: "ID", required: true, name: "id"}, {type: "String", required: false, name: "title"}]

Это легко достижимо?

Редактировать: Я думаю, что я хочу сделать, этоперейти от VariableDefinitionNode к объекту, содержащему всю необходимую информацию, такую ​​как type, defaultValue, required, name.

1 Ответ

0 голосов
/ 21 января 2019

Вы сможете реализовать это, если измените свою схему (при условии, что вы можете сгенерировать эти данные на сервере в эту форму)

type Query {
  resource ($id: ID!, $title: String): [Variable]
}

type Variable {
  type: String!
  required: Boolean!
  name: String!
  ...
}

Однако это очень обобщенный синтаксис, возвращающий массивтакие ценностиЕсли структура ваших ресурсов известна, вам лучше определить это и удалить параметр имени, так как он становится избыточным.(Я думаю о поисках внутри вашего клиентского приложения)

type Query {
  resource ($id: ID!, $title: String): Resource
}

type Resource {
  id: Variable!
  title: Variable
  content: Variable
}

type Variable {
  type: String!
  required: Boolean!
  ...
}
...