Favware.Graphqlpokemon
1.8.4
See the version list below for details.
dotnet add package Favware.Graphqlpokemon --version 1.8.4
NuGet\Install-Package Favware.Graphqlpokemon -Version 1.8.4
<PackageReference Include="Favware.Graphqlpokemon" Version="1.8.4" />
paket add Favware.Graphqlpokemon --version 1.8.4
#r "nuget: Favware.Graphqlpokemon, 1.8.4"
// Install Favware.Graphqlpokemon as a Cake Addin #addin nuget:?package=Favware.Graphqlpokemon&version=1.8.4 // Install Favware.Graphqlpokemon as a Cake Tool #tool nuget:?package=Favware.Graphqlpokemon&version=1.8.4
GraphQL-Pokemon
Expansive Pokemon GraphQL API!
Table of Contents
Project Status
Social Media and Donations
Typings
Query for Pokemon data using GraphQL
Key Features
- Fully generated client-side TypeScript typings published to
- npm as
@favware/graphql-pokemon
- GitHub Package Registry as
@favware/graphql-pokemon
- npm as
- Fully generated client-side .NET Core typings published to nuget
- Docker images of the API for private hosting published to
- Dockerhub as
favware/graphql-pokemon
- GitHub Package Registry as
docker.pkg.github.com/favware/graphql-pokemon/graphql-pokemon
- Google Cloud Container Registry as
gcr.io/data-sunlight-146313/graphql-pokemon:latest
- Dockerhub as
- Provides information about various assets in Pokémon
- Pokédex
- Items
- Abilities
- Moves
- Learnsets
- Type matchups
Installation
NodeJS
Install client side typings from yarn or npm:
yarn add -D @favware/graphql-pokemon
npm install -D @favware/graphql-pokemon
.NET Core
Install client side typings from NuGet.
Search Favware.Graphqlpokemon
in your NuGet manager and install it from there
API Documentation
For the full documentation of the deployed version please see the GraphQL Playground on the API.
Usage
NodeJS
With browser Fetch API
or node-fetch
import { Query } from '@favware/graphql-pokemon';
interface GraphQLPokemonResponse<K extends keyof Omit<Query, '__typename'>> {
data: Record<K, Omit<Query[K], '__typename'>>;
}
fetch('https://favware.tech/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: `
{
getPokemonDetails(pokemon: dragonite skip: 0 take: 2 reverse: true) {
sprite
num
species
color
}
}
`
})
})
.then((res) => res.json() as GraphQLPokemonResponse<'getPokemonDetails'>)
.then((json) => console.log(json.data));
With Apollo Client React
// ApolloClient setup
import { ApolloClient } from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { HttpLink } from 'apollo-link-http';
// Instantiate required constructor fields
const cache = new InMemoryCache();
const link = new HttpLink({
uri: 'https://favware.tech/api'
});
export const client = new ApolloClient({
// Provide required constructor fields
cache: cache,
link: link,
// Provide some optional constructor fields
name: 'graphql-pokemon-client',
version: '1.0',
queryDeduplication: false,
defaultOptions: {
watchQuery: {
fetchPolicy: 'cache-and-network'
}
}
});
// Component
import React from 'react';
import gql from 'graphql-tag';
import { useQuery } from '@apollo/react-hooks';
import { Query } from '@favware/graphql-pokemon';
import { client } from './ApolloClient';
interface GraphQLPokemonResponse<K extends keyof Omit<Query, '__typename'>> {
data: Record<K, Omit<Query[K], '__typename'>>;
}
const GET_POKEMON_DETAILS = gql`
{
getPokemonDetails(pokemon: dragonite, skip: 0, take: 2, reverse: true) {
sprite
num
species
color
}
}
`;
export const Pokemon: React.FC = () => {
const { loading, error, data } = useQuery<GraphQLPokemonResponse<'getPokemonDetails'>>(GET_POKEMON_DETAILS, { client: client });
if (loading) return 'Loading...';
if (error) return `Error! ${error.message}`;
return <div> Insert how you want to display the data here </div>;
};
.NET Core
More will be added here in due time, once I get more familiarized with .NET. Or if anyone wants to contribute usage then please do
using GraphQLCodeGen;
namespace MyProject.Consumer
{
public class GraphqlConsumer
{
private Graphqlpokemon.Abilities Abilities;
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- GraphQL (>= 2.4.0)
- GraphQL-Parser (>= 5.1.0)
- Newtonsoft.Json (>= 12.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.2.3 | 606 | 7/5/2020 |
4.2.2 | 461 | 7/1/2020 |
4.2.1 | 557 | 6/20/2020 |
4.2.0 | 569 | 6/20/2020 |
4.1.0 | 449 | 6/19/2020 |
4.0.4 | 512 | 6/14/2020 |
4.0.3 | 480 | 6/13/2020 |
4.0.2 | 469 | 6/8/2020 |
4.0.1 | 466 | 5/26/2020 |
4.0.0 | 460 | 5/18/2020 |
3.1.1 | 488 | 5/4/2020 |
3.1.0 | 510 | 5/3/2020 |
3.0.3 | 496 | 5/2/2020 |
3.0.2 | 455 | 5/2/2020 |
3.0.1 | 486 | 4/25/2020 |
3.0.0 | 458 | 4/25/2020 |
1.8.4 | 464 | 4/25/2020 |
1.8.3 | 434 | 4/25/2020 |
0.0.1 | 463 | 4/24/2020 |
First Release!