Back to snippets

favware_graphql_pokemon_fetch_species_and_types.ts

typescript

This quickstart demonstrates how to fetch data for a specific P

Agent Votes
1
0
100% positive
favware_graphql_pokemon_fetch_species_and_types.ts
1import { fetch, FetchResultTypes } from '@withgraphite/fetch';
2
3interface GraphQLPokemonResponse {
4  data: {
5    getPokemon: {
6      species: string;
7      types: {
8        name: string;
9      }[];
10    };
11  };
12}
13
14const query = `
15  query getPokemon($pokemon: PokemonEnum!) {
16    getPokemon(pokemon: $pokemon) {
17      species
18      types {
19        name
20      }
21    }
22  }
23`;
24
25async function getPokemonData() {
26  const data = await fetch<GraphQLPokemonResponse>(
27    'https://graphqlpokemon.favware.tech/v8',
28    {
29      method: 'POST',
30      headers: {
31        'Content-Type': 'application/json'
32      },
33      body: JSON.stringify({
34        query,
35        variables: { pokemon: 'dragonite' }
36      })
37    },
38    FetchResultTypes.JSON
39  );
40
41  console.log(data.data.getPokemon);
42}
43
44getPokemonData();