Ввод запроса GraphQL с обязательной переменной с помощью TypeScript - PullRequest
3 голосов
/ 21 октября 2019

Есть ли способ с помощью TypeScript (или любого другого инструмента) выдать ошибку во время компиляции / сборки, если я использую запрос GraphQL без передачи обязательной переменной?

Например, у меня есть этоЗапрос GraphQL:

query booksByAuthor($author: String!) {
  books(author: $author) {
    title
    year
  }
}

эти типы TS:

interface Book {
  title: string;
  year: number;
}

interface BooksByAuthorType {
  books: [Book];
}

interface BooksByAuthorVariables {
  author: string;
}

и этот компонент React (выборка данных с @apollo/react-hooks):

const Books = () => {
  const { data } = useQuery<
    BooksByAuthorType,
    BooksByAuthorVariables
  >(query); // notice I'm not passing `author` here

  return (
    <ul>
      {data.books.map(
        book => <li>{`${book.name} (${book.year})`}</li>
      )}
    </ul>
  );
}

Как мнеиспользовать TypeScript (или любой другой инструмент), чтобы в этом случае произошла ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...