You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

284 lines
9.6KB

  1. import { GraphQLResolveInfo } from 'graphql';
  2. import { GraphQLClient } from 'graphql-request';
  3. import { print } from 'graphql';
  4. import gql from 'graphql-tag';
  5. export type Maybe<T> = T | null;
  6. export type Exact<T extends { [key: string]: any }> = { [K in keyof T]: T[K] };
  7. export type RequireFields<T, K extends keyof T> = { [X in Exclude<keyof T, K>]?: T[X] } & { [P in K]-?: NonNullable<T[P]> };
  8. /** All built-in and custom scalars, mapped to their actual values */
  9. export type Scalars = {
  10. ID: string;
  11. String: string;
  12. Boolean: boolean;
  13. Int: number;
  14. Float: number;
  15. };
  16. export type Pizza = {
  17. __typename?: 'Pizza';
  18. id: Scalars['ID'];
  19. name: Scalars['String'];
  20. toppings: Array<Topping>;
  21. };
  22. export type Topping = {
  23. __typename?: 'Topping';
  24. id: Scalars['ID'];
  25. name: Scalars['String'];
  26. };
  27. export type Query = {
  28. __typename?: 'Query';
  29. getPizzaById: Pizza;
  30. getToppingById: Topping;
  31. getPizzaByName: Pizza;
  32. getToppingByName: Topping;
  33. listPizza: Array<Maybe<Pizza>>;
  34. listTopping: Array<Maybe<Topping>>;
  35. };
  36. export type QueryGetPizzaByIdArgs = {
  37. pizzaId: Scalars['ID'];
  38. };
  39. export type QueryGetToppingByIdArgs = {
  40. toppingId: Scalars['ID'];
  41. };
  42. export type QueryGetPizzaByNameArgs = {
  43. pizzaName: Scalars['ID'];
  44. };
  45. export type QueryGetToppingByNameArgs = {
  46. toppingName: Scalars['ID'];
  47. };
  48. export type ChangePizzaDto = {
  49. name: Scalars['String'];
  50. toppingIds: Array<Maybe<Scalars['ID']>>;
  51. };
  52. export type ChangeToppingDto = {
  53. name: Scalars['String'];
  54. };
  55. export type Mutation = {
  56. __typename?: 'Mutation';
  57. createPizza: Pizza;
  58. updatePizza: Pizza;
  59. createTopping: Topping;
  60. updateTopping: Topping;
  61. deleteTopping: Topping;
  62. deletePizza: Pizza;
  63. };
  64. export type MutationCreatePizzaArgs = {
  65. createPizzaDto?: Maybe<ChangePizzaDto>;
  66. };
  67. export type MutationUpdatePizzaArgs = {
  68. pizzaId: Scalars['ID'];
  69. updatedPizzaDto: ChangePizzaDto;
  70. };
  71. export type MutationCreateToppingArgs = {
  72. createToppingDto?: Maybe<ChangeToppingDto>;
  73. };
  74. export type MutationUpdateToppingArgs = {
  75. toppingId: Scalars['ID'];
  76. updatedToppingDto: ChangeToppingDto;
  77. };
  78. export type MutationDeleteToppingArgs = {
  79. toppingId: Scalars['ID'];
  80. };
  81. export type MutationDeletePizzaArgs = {
  82. pizzaId: Scalars['ID'];
  83. };
  84. export type Subscription = {
  85. __typename?: 'Subscription';
  86. pizzasChanged: Array<Maybe<Pizza>>;
  87. toppingsChanged: Array<Maybe<Topping>>;
  88. };
  89. export type ResolverTypeWrapper<T> = Promise<T> | T;
  90. export type LegacyStitchingResolver<TResult, TParent, TContext, TArgs> = {
  91. fragment: string;
  92. resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
  93. };
  94. export type NewStitchingResolver<TResult, TParent, TContext, TArgs> = {
  95. selectionSet: string;
  96. resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
  97. };
  98. export type StitchingResolver<TResult, TParent, TContext, TArgs> = LegacyStitchingResolver<TResult, TParent, TContext, TArgs> | NewStitchingResolver<TResult, TParent, TContext, TArgs>;
  99. export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =
  100. | ResolverFn<TResult, TParent, TContext, TArgs>
  101. | StitchingResolver<TResult, TParent, TContext, TArgs>;
  102. export type ResolverFn<TResult, TParent, TContext, TArgs> = (
  103. parent: TParent,
  104. args: TArgs,
  105. context: TContext,
  106. info: GraphQLResolveInfo
  107. ) => Promise<TResult> | TResult;
  108. export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
  109. parent: TParent,
  110. args: TArgs,
  111. context: TContext,
  112. info: GraphQLResolveInfo
  113. ) => AsyncIterator<TResult> | Promise<AsyncIterator<TResult>>;
  114. export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
  115. parent: TParent,
  116. args: TArgs,
  117. context: TContext,
  118. info: GraphQLResolveInfo
  119. ) => TResult | Promise<TResult>;
  120. export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
  121. subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>;
  122. resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult }, TContext, TArgs>;
  123. }
  124. export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
  125. subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;
  126. resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;
  127. }
  128. export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> =
  129. | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
  130. | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
  131. export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
  132. | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
  133. | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
  134. export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
  135. parent: TParent,
  136. context: TContext,
  137. info: GraphQLResolveInfo
  138. ) => Maybe<TTypes> | Promise<Maybe<TTypes>>;
  139. export type IsTypeOfResolverFn<T = {}> = (obj: T, info: GraphQLResolveInfo) => boolean | Promise<boolean>;
  140. export type NextResolverFn<T> = () => Promise<T>;
  141. export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs = {}> = (
  142. next: NextResolverFn<TResult>,
  143. parent: TParent,
  144. args: TArgs,
  145. context: TContext,
  146. info: GraphQLResolveInfo
  147. ) => TResult | Promise<TResult>;
  148. /** Mapping between all available schema types and the resolvers types */
  149. export type ResolversTypes = {
  150. Pizza: ResolverTypeWrapper<Pizza>;
  151. ID: ResolverTypeWrapper<Scalars['ID']>;
  152. String: ResolverTypeWrapper<Scalars['String']>;
  153. Topping: ResolverTypeWrapper<Topping>;
  154. Query: ResolverTypeWrapper<{}>;
  155. ChangePizzaDto: ChangePizzaDto;
  156. ChangeToppingDto: ChangeToppingDto;
  157. Mutation: ResolverTypeWrapper<{}>;
  158. Subscription: ResolverTypeWrapper<{}>;
  159. Boolean: ResolverTypeWrapper<Scalars['Boolean']>;
  160. };
  161. /** Mapping between all available schema types and the resolvers parents */
  162. export type ResolversParentTypes = {
  163. Pizza: Pizza;
  164. ID: Scalars['ID'];
  165. String: Scalars['String'];
  166. Topping: Topping;
  167. Query: {};
  168. ChangePizzaDto: ChangePizzaDto;
  169. ChangeToppingDto: ChangeToppingDto;
  170. Mutation: {};
  171. Subscription: {};
  172. Boolean: Scalars['Boolean'];
  173. };
  174. export type PizzaResolvers<ContextType = any, ParentType extends ResolversParentTypes['Pizza'] = ResolversParentTypes['Pizza']> = {
  175. id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
  176. name?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
  177. toppings?: Resolver<Array<ResolversTypes['Topping']>, ParentType, ContextType>;
  178. __isTypeOf?: IsTypeOfResolverFn<ParentType>;
  179. };
  180. export type ToppingResolvers<ContextType = any, ParentType extends ResolversParentTypes['Topping'] = ResolversParentTypes['Topping']> = {
  181. id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
  182. name?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
  183. __isTypeOf?: IsTypeOfResolverFn<ParentType>;
  184. };
  185. export type QueryResolvers<ContextType = any, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = {
  186. getPizzaById?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<QueryGetPizzaByIdArgs, 'pizzaId'>>;
  187. getToppingById?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<QueryGetToppingByIdArgs, 'toppingId'>>;
  188. getPizzaByName?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<QueryGetPizzaByNameArgs, 'pizzaName'>>;
  189. getToppingByName?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<QueryGetToppingByNameArgs, 'toppingName'>>;
  190. listPizza?: Resolver<Array<Maybe<ResolversTypes['Pizza']>>, ParentType, ContextType>;
  191. listTopping?: Resolver<Array<Maybe<ResolversTypes['Topping']>>, ParentType, ContextType>;
  192. };
  193. export type MutationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation']> = {
  194. createPizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationCreatePizzaArgs, never>>;
  195. updatePizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationUpdatePizzaArgs, 'pizzaId' | 'updatedPizzaDto'>>;
  196. createTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationCreateToppingArgs, never>>;
  197. updateTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationUpdateToppingArgs, 'toppingId' | 'updatedToppingDto'>>;
  198. deleteTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationDeleteToppingArgs, 'toppingId'>>;
  199. deletePizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationDeletePizzaArgs, 'pizzaId'>>;
  200. };
  201. export type SubscriptionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = {
  202. pizzasChanged?: SubscriptionResolver<Array<Maybe<ResolversTypes['Pizza']>>, "pizzasChanged", ParentType, ContextType>;
  203. toppingsChanged?: SubscriptionResolver<Array<Maybe<ResolversTypes['Topping']>>, "toppingsChanged", ParentType, ContextType>;
  204. };
  205. export type Resolvers<ContextType = any> = {
  206. Pizza?: PizzaResolvers<ContextType>;
  207. Topping?: ToppingResolvers<ContextType>;
  208. Query?: QueryResolvers<ContextType>;
  209. Mutation?: MutationResolvers<ContextType>;
  210. Subscription?: SubscriptionResolvers<ContextType>;
  211. };
  212. /**
  213. * @deprecated
  214. * Use "Resolvers" root object instead. If you wish to get "IResolvers", add "typesPrefix: I" to your config.
  215. */
  216. export type IResolvers<ContextType = any> = Resolvers<ContextType>;
  217. export type SdkFunctionWrapper = <T>(action: () => Promise<T>) => Promise<T>;
  218. const defaultWrapper: SdkFunctionWrapper = sdkFunction => sdkFunction();
  219. export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {
  220. return {
  221. };
  222. }
  223. export type Sdk = ReturnType<typeof getSdk>;