Сервер Apollo и типоскрипт — Я хочу использовать пользовательский скалярный тип во входных данных, но теперь я не могу самоанализироваться

#node.js #typescript #graphql #apollo-server #graphql-playground

Вопрос:

Я создаю гипотетический сайт, на котором пользователи могут оценивать рестораны 0-5 звезд. Я использую Node, Typescript и сервер Apollo. Я думал, что попробую пользовательский скаляр для рейтинга. Итак, в моей схеме graphql у меня есть (немного упрощенная) :

 scalar StarRating

type Rating {
  restaurant_id: String!
  stars: StarRating!
}

type Mutation {
  createRating(data: RatingInput!): Rating
}

input RatingInput {
  restaurant_id: String!
  stars: StarRating!
}
 

И в коде у меня есть соответствующий распознаватель, следуя простому примеру из документов Apollo Server. До сих пор это не вызывает никаких ошибок и начинается просто отлично. Мутация даже работает просто отлично. Однако GraphQL playground не может провести самоанализ — и если я посмотрю на свою консоль chrome, она отобразит ошибку:

 Uncaught Error: Introspection must provide input type for argument
 

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