1/* eslint-disable */
2import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3export type Maybe<T> = T | null;
4export type InputMaybe<T> = Maybe<T>;
5export type Exact<T extends { [key: string]: unknown }> = {
6 [K in keyof T]: T[K];
7};
8export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
9 [SubKey in K]?: Maybe<T[SubKey]>;
10};
11export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
12 [SubKey in K]: Maybe<T[SubKey]>;
13};
14export type MakeEmpty<
15 T extends { [key: string]: unknown },
16 K extends keyof T
17> = { [_ in K]?: never };
18export type Incremental<T> =
19 | T
20 | {
21 [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
22 };
23/** All built-in and custom scalars, mapped to their actual values */
24export type Scalars = {
25 ID: { input: string; output: string };
26 String: { input: string; output: string };
27 Boolean: { input: boolean; output: boolean };
28 Int: { input: number; output: number };
29 Float: { input: number; output: number };
30};
31
32/** Move a Pokémon can perform with the associated damage and type. */
33export type Attack = {
34 __typename?: 'Attack';
35 damage?: Maybe<Scalars['Int']['output']>;
36 name?: Maybe<Scalars['String']['output']>;
37 type?: Maybe<PokemonType>;
38};
39
40export type AttacksConnection = {
41 __typename?: 'AttacksConnection';
42 fast?: Maybe<Array<Maybe<Attack>>>;
43 special?: Maybe<Array<Maybe<Attack>>>;
44};
45
46/** Requirement that prevents an evolution through regular means of levelling up. */
47export type EvolutionRequirement = {
48 __typename?: 'EvolutionRequirement';
49 amount?: Maybe<Scalars['Int']['output']>;
50 name?: Maybe<Scalars['String']['output']>;
51};
52
53export type Pokemon = {
54 __typename?: 'Pokemon';
55 attacks?: Maybe<AttacksConnection>;
56 /** @deprecated And this is the reason why */
57 classification?: Maybe<Scalars['String']['output']>;
58 evolutionRequirements?: Maybe<Array<Maybe<EvolutionRequirement>>>;
59 evolutions?: Maybe<Array<Maybe<Pokemon>>>;
60 /** Likelihood of an attempt to catch a Pokémon to fail. */
61 fleeRate?: Maybe<Scalars['Float']['output']>;
62 height?: Maybe<PokemonDimension>;
63 id: Scalars['ID']['output'];
64 /** Maximum combat power a Pokémon may achieve at max level. */
65 maxCP?: Maybe<Scalars['Int']['output']>;
66 /** Maximum health points a Pokémon may achieve at max level. */
67 maxHP?: Maybe<Scalars['Int']['output']>;
68 name: Scalars['String']['output'];
69 resistant?: Maybe<Array<Maybe<PokemonType>>>;
70 types?: Maybe<Array<Maybe<PokemonType>>>;
71 weaknesses?: Maybe<Array<Maybe<PokemonType>>>;
72 weight?: Maybe<PokemonDimension>;
73};
74
75export type PokemonDimension = {
76 __typename?: 'PokemonDimension';
77 maximum?: Maybe<Scalars['String']['output']>;
78 minimum?: Maybe<Scalars['String']['output']>;
79};
80
81/** Elemental property associated with either a Pokémon or one of their moves. */
82export enum PokemonType {
83 Bug = 'Bug',
84 Dark = 'Dark',
85 Dragon = 'Dragon',
86 Electric = 'Electric',
87 Fairy = 'Fairy',
88 Fighting = 'Fighting',
89 Fire = 'Fire',
90 Flying = 'Flying',
91 Ghost = 'Ghost',
92 Grass = 'Grass',
93 Ground = 'Ground',
94 Ice = 'Ice',
95 Normal = 'Normal',
96 Poison = 'Poison',
97 Psychic = 'Psychic',
98 Rock = 'Rock',
99 Steel = 'Steel',
100 Water = 'Water',
101}
102
103export type Query = {
104 __typename?: 'Query';
105 /** Get a single Pokémon by its ID, a three character long identifier padded with zeroes */
106 pokemon?: Maybe<Pokemon>;
107 /** List out all Pokémon, optionally in pages */
108 pokemons?: Maybe<Array<Maybe<Pokemon>>>;
109};
110
111export type QueryPokemonArgs = {
112 id: Scalars['ID']['input'];
113};
114
115export type QueryPokemonsArgs = {
116 limit?: InputMaybe<Scalars['Int']['input']>;
117 skip?: InputMaybe<Scalars['Int']['input']>;
118};
119
120export type PokemonFieldsFragment = {
121 __typename?: 'Pokemon';
122 id: string;
123 name: string;
124 attacks?: {
125 __typename?: 'AttacksConnection';
126 fast?: Array<{
127 __typename?: 'Attack';
128 damage?: number | null;
129 name?: string | null;
130 } | null> | null;
131 } | null;
132} & { ' $fragmentName'?: 'PokemonFieldsFragment' };
133
134export type PoQueryVariables = Exact<{
135 id: Scalars['ID']['input'];
136}>;
137
138export type PoQuery = {
139 __typename?: 'Query';
140 pokemon?:
141 | ({
142 __typename: 'Pokemon';
143 id: string;
144 fleeRate?: number | null;
145 name: string;
146 attacks?: {
147 __typename?: 'AttacksConnection';
148 special?: Array<{
149 __typename?: 'Attack';
150 name?: string | null;
151 damage?: number | null;
152 } | null> | null;
153 } | null;
154 weight?: {
155 __typename?: 'PokemonDimension';
156 minimum?: string | null;
157 maximum?: string | null;
158 } | null;
159 } & {
160 ' $fragmentRefs'?: { PokemonFieldsFragment: PokemonFieldsFragment };
161 })
162 | null;
163};
164
165export type PokQueryVariables = Exact<{ [key: string]: never }>;
166
167export type PokQuery = {
168 __typename?: 'Query';
169 pokemons?: Array<{
170 __typename?: 'Pokemon';
171 name: string;
172 maxCP?: number | null;
173 maxHP?: number | null;
174 fleeRate?: number | null;
175 } | null> | null;
176};
177
178export const PokemonFieldsFragmentDoc = {
179 kind: 'Document',
180 definitions: [
181 {
182 kind: 'FragmentDefinition',
183 name: { kind: 'Name', value: 'pokemonFields' },
184 typeCondition: {
185 kind: 'NamedType',
186 name: { kind: 'Name', value: 'Pokemon' },
187 },
188 selectionSet: {
189 kind: 'SelectionSet',
190 selections: [
191 { kind: 'Field', name: { kind: 'Name', value: 'id' } },
192 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
193 {
194 kind: 'Field',
195 name: { kind: 'Name', value: 'attacks' },
196 selectionSet: {
197 kind: 'SelectionSet',
198 selections: [
199 {
200 kind: 'Field',
201 name: { kind: 'Name', value: 'fast' },
202 selectionSet: {
203 kind: 'SelectionSet',
204 selections: [
205 {
206 kind: 'Field',
207 name: { kind: 'Name', value: 'damage' },
208 },
209 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
210 ],
211 },
212 },
213 ],
214 },
215 },
216 ],
217 },
218 },
219 ],
220} as unknown as DocumentNode<PokemonFieldsFragment, unknown>;
221export const PoDocument = {
222 kind: 'Document',
223 definitions: [
224 {
225 kind: 'OperationDefinition',
226 operation: 'query',
227 name: { kind: 'Name', value: 'Po' },
228 variableDefinitions: [
229 {
230 kind: 'VariableDefinition',
231 variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
232 type: {
233 kind: 'NonNullType',
234 type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
235 },
236 },
237 ],
238 selectionSet: {
239 kind: 'SelectionSet',
240 selections: [
241 {
242 kind: 'Field',
243 name: { kind: 'Name', value: 'pokemon' },
244 arguments: [
245 {
246 kind: 'Argument',
247 name: { kind: 'Name', value: 'id' },
248 value: {
249 kind: 'Variable',
250 name: { kind: 'Name', value: 'id' },
251 },
252 },
253 ],
254 selectionSet: {
255 kind: 'SelectionSet',
256 selections: [
257 { kind: 'Field', name: { kind: 'Name', value: 'id' } },
258 { kind: 'Field', name: { kind: 'Name', value: 'fleeRate' } },
259 {
260 kind: 'FragmentSpread',
261 name: { kind: 'Name', value: 'pokemonFields' },
262 },
263 {
264 kind: 'Field',
265 name: { kind: 'Name', value: 'attacks' },
266 selectionSet: {
267 kind: 'SelectionSet',
268 selections: [
269 {
270 kind: 'Field',
271 name: { kind: 'Name', value: 'special' },
272 selectionSet: {
273 kind: 'SelectionSet',
274 selections: [
275 {
276 kind: 'Field',
277 name: { kind: 'Name', value: 'name' },
278 },
279 {
280 kind: 'Field',
281 name: { kind: 'Name', value: 'damage' },
282 },
283 ],
284 },
285 },
286 ],
287 },
288 },
289 {
290 kind: 'Field',
291 name: { kind: 'Name', value: 'weight' },
292 selectionSet: {
293 kind: 'SelectionSet',
294 selections: [
295 {
296 kind: 'Field',
297 name: { kind: 'Name', value: 'minimum' },
298 },
299 {
300 kind: 'Field',
301 name: { kind: 'Name', value: 'maximum' },
302 },
303 ],
304 },
305 },
306 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
307 { kind: 'Field', name: { kind: 'Name', value: '__typename' } },
308 ],
309 },
310 },
311 ],
312 },
313 },
314 {
315 kind: 'FragmentDefinition',
316 name: { kind: 'Name', value: 'pokemonFields' },
317 typeCondition: {
318 kind: 'NamedType',
319 name: { kind: 'Name', value: 'Pokemon' },
320 },
321 selectionSet: {
322 kind: 'SelectionSet',
323 selections: [
324 { kind: 'Field', name: { kind: 'Name', value: 'id' } },
325 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
326 {
327 kind: 'Field',
328 name: { kind: 'Name', value: 'attacks' },
329 selectionSet: {
330 kind: 'SelectionSet',
331 selections: [
332 {
333 kind: 'Field',
334 name: { kind: 'Name', value: 'fast' },
335 selectionSet: {
336 kind: 'SelectionSet',
337 selections: [
338 {
339 kind: 'Field',
340 name: { kind: 'Name', value: 'damage' },
341 },
342 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
343 ],
344 },
345 },
346 ],
347 },
348 },
349 ],
350 },
351 },
352 ],
353} as unknown as DocumentNode<PoQuery, PoQueryVariables>;
354export const PokDocument = {
355 kind: 'Document',
356 definitions: [
357 {
358 kind: 'OperationDefinition',
359 operation: 'query',
360 name: { kind: 'Name', value: 'Pok' },
361 selectionSet: {
362 kind: 'SelectionSet',
363 selections: [
364 {
365 kind: 'Field',
366 name: { kind: 'Name', value: 'pokemons' },
367 selectionSet: {
368 kind: 'SelectionSet',
369 selections: [
370 { kind: 'Field', name: { kind: 'Name', value: 'name' } },
371 { kind: 'Field', name: { kind: 'Name', value: 'maxCP' } },
372 { kind: 'Field', name: { kind: 'Name', value: 'maxHP' } },
373 { kind: 'Field', name: { kind: 'Name', value: 'fleeRate' } },
374 ],
375 },
376 },
377 ],
378 },
379 },
380 ],
381} as unknown as DocumentNode<PokQuery, PokQueryVariables>;