//@ts-nocheck
  // DO NOT MODIFY THIS FILE. This file is automatically generated by Tina
  export function gql(strings: TemplateStringsArray, ...args: string[]): string {
    let str = ''
    strings.forEach((string, i) => {
      str += string + (args[i] || '')
    })
    return str
  }
  export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: { input: string; output: string; }
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  Int: { input: number; output: number; }
  Float: { input: number; output: number; }
  /** References another document, used as a foreign key */
  Reference: { input: any; output: any; }
  JSON: { input: any; output: any; }
};

export type SystemInfo = {
  __typename?: 'SystemInfo';
  filename: Scalars['String']['output'];
  title?: Maybe<Scalars['String']['output']>;
  basename: Scalars['String']['output'];
  breadcrumbs: Array<Scalars['String']['output']>;
  path: Scalars['String']['output'];
  relativePath: Scalars['String']['output'];
  extension: Scalars['String']['output'];
  template: Scalars['String']['output'];
  collection: Collection;
};


export type SystemInfoBreadcrumbsArgs = {
  excludeExtension?: InputMaybe<Scalars['Boolean']['input']>;
};

export type Folder = {
  __typename?: 'Folder';
  name: Scalars['String']['output'];
  path: Scalars['String']['output'];
};

export type PageInfo = {
  __typename?: 'PageInfo';
  hasPreviousPage: Scalars['Boolean']['output'];
  hasNextPage: Scalars['Boolean']['output'];
  startCursor: Scalars['String']['output'];
  endCursor: Scalars['String']['output'];
};

export type Node = {
  id: Scalars['ID']['output'];
};

export type Document = {
  id: Scalars['ID']['output'];
  _sys?: Maybe<SystemInfo>;
  _values: Scalars['JSON']['output'];
};

/** A relay-compliant pagination connection */
export type Connection = {
  totalCount: Scalars['Float']['output'];
  pageInfo: PageInfo;
};

export type Query = {
  __typename?: 'Query';
  getOptimizedQuery?: Maybe<Scalars['String']['output']>;
  collection: Collection;
  collections: Array<Collection>;
  node: Node;
  document: DocumentNode;
  about: About;
  aboutConnection: AboutConnection;
  post: Post;
  postConnection: PostConnection;
  projets: Projets;
  projetsConnection: ProjetsConnection;
  contact: Contact;
  contactConnection: ContactConnection;
  jdb: Jdb;
  jdbConnection: JdbConnection;
  createurs: Createurs;
  createursConnection: CreateursConnection;
  jeux: Jeux;
  jeuxConnection: JeuxConnection;
};


export type QueryGetOptimizedQueryArgs = {
  queryString: Scalars['String']['input'];
};


export type QueryCollectionArgs = {
  collection?: InputMaybe<Scalars['String']['input']>;
};


export type QueryNodeArgs = {
  id?: InputMaybe<Scalars['String']['input']>;
};


export type QueryDocumentArgs = {
  collection?: InputMaybe<Scalars['String']['input']>;
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryAboutArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryAboutConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<AboutFilter>;
};


export type QueryPostArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryPostConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<PostFilter>;
};


export type QueryProjetsArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryProjetsConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<ProjetsFilter>;
};


export type QueryContactArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryContactConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<ContactFilter>;
};


export type QueryJdbArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryJdbConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<JdbFilter>;
};


export type QueryCreateursArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryCreateursConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<CreateursFilter>;
};


export type QueryJeuxArgs = {
  relativePath?: InputMaybe<Scalars['String']['input']>;
};


export type QueryJeuxConnectionArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<JeuxFilter>;
};

export type DocumentFilter = {
  about?: InputMaybe<AboutFilter>;
  post?: InputMaybe<PostFilter>;
  projets?: InputMaybe<ProjetsFilter>;
  contact?: InputMaybe<ContactFilter>;
  jdb?: InputMaybe<JdbFilter>;
  createurs?: InputMaybe<CreateursFilter>;
  jeux?: InputMaybe<JeuxFilter>;
};

export type DocumentConnectionEdges = {
  __typename?: 'DocumentConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<DocumentNode>;
};

export type DocumentConnection = Connection & {
  __typename?: 'DocumentConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<DocumentConnectionEdges>>>;
};

export type Collection = {
  __typename?: 'Collection';
  name: Scalars['String']['output'];
  slug: Scalars['String']['output'];
  label?: Maybe<Scalars['String']['output']>;
  path: Scalars['String']['output'];
  format?: Maybe<Scalars['String']['output']>;
  matches?: Maybe<Scalars['String']['output']>;
  templates?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;
  fields?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;
  documents: DocumentConnection;
};


export type CollectionDocumentsArgs = {
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<DocumentFilter>;
  folder?: InputMaybe<Scalars['String']['input']>;
};

export type DocumentNode = About | Post | Projets | Contact | Jdb | Createurs | Jeux | Folder;

export type About = Node & Document & {
  __typename?: 'About';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  slug?: Maybe<Scalars['String']['output']>;
  description?: Maybe<Scalars['String']['output']>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type StringFilter = {
  startsWith?: InputMaybe<Scalars['String']['input']>;
  eq?: InputMaybe<Scalars['String']['input']>;
  exists?: InputMaybe<Scalars['Boolean']['input']>;
  in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
};

export type RichTextFilter = {
  startsWith?: InputMaybe<Scalars['String']['input']>;
  eq?: InputMaybe<Scalars['String']['input']>;
  exists?: InputMaybe<Scalars['Boolean']['input']>;
};

export type AboutFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  slug?: InputMaybe<StringFilter>;
  description?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type AboutConnectionEdges = {
  __typename?: 'AboutConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<About>;
};

export type AboutConnection = Connection & {
  __typename?: 'AboutConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<AboutConnectionEdges>>>;
};

export type Post = Node & Document & {
  __typename?: 'Post';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  summary?: Maybe<Scalars['String']['output']>;
  toc?: Maybe<Scalars['Boolean']['output']>;
  description?: Maybe<Scalars['String']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  image?: Maybe<Scalars['String']['output']>;
  date?: Maybe<Scalars['String']['output']>;
  author?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  categories?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type BooleanFilter = {
  eq?: InputMaybe<Scalars['Boolean']['input']>;
  exists?: InputMaybe<Scalars['Boolean']['input']>;
};

export type ImageFilter = {
  startsWith?: InputMaybe<Scalars['String']['input']>;
  eq?: InputMaybe<Scalars['String']['input']>;
  exists?: InputMaybe<Scalars['Boolean']['input']>;
  in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
};

export type DatetimeFilter = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  eq?: InputMaybe<Scalars['String']['input']>;
  exists?: InputMaybe<Scalars['Boolean']['input']>;
  in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
};

export type PostFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  summary?: InputMaybe<StringFilter>;
  toc?: InputMaybe<BooleanFilter>;
  description?: InputMaybe<StringFilter>;
  slug?: InputMaybe<StringFilter>;
  image?: InputMaybe<ImageFilter>;
  date?: InputMaybe<DatetimeFilter>;
  author?: InputMaybe<StringFilter>;
  tags?: InputMaybe<StringFilter>;
  categories?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type PostConnectionEdges = {
  __typename?: 'PostConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Post>;
};

export type PostConnection = Connection & {
  __typename?: 'PostConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<PostConnectionEdges>>>;
};

export type Projets = Node & Document & {
  __typename?: 'Projets';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  summary?: Maybe<Scalars['String']['output']>;
  description?: Maybe<Scalars['String']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  toc?: Maybe<Scalars['Boolean']['output']>;
  feature_image?: Maybe<Scalars['String']['output']>;
  image?: Maybe<Scalars['String']['output']>;
  date?: Maybe<Scalars['String']['output']>;
  author?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  project_types?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  tech_stack?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type ProjetsFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  summary?: InputMaybe<StringFilter>;
  description?: InputMaybe<StringFilter>;
  slug?: InputMaybe<StringFilter>;
  toc?: InputMaybe<BooleanFilter>;
  feature_image?: InputMaybe<StringFilter>;
  image?: InputMaybe<ImageFilter>;
  date?: InputMaybe<DatetimeFilter>;
  author?: InputMaybe<StringFilter>;
  project_types?: InputMaybe<StringFilter>;
  tech_stack?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type ProjetsConnectionEdges = {
  __typename?: 'ProjetsConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Projets>;
};

export type ProjetsConnection = Connection & {
  __typename?: 'ProjetsConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<ProjetsConnectionEdges>>>;
};

export type Contact = Node & Document & {
  __typename?: 'Contact';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  description?: Maybe<Scalars['String']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type ContactFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  description?: InputMaybe<StringFilter>;
};

export type ContactConnectionEdges = {
  __typename?: 'ContactConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Contact>;
};

export type ContactConnection = Connection & {
  __typename?: 'ContactConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<ContactConnectionEdges>>>;
};

export type Jdb = Node & Document & {
  __typename?: 'Jdb';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  description?: Maybe<Scalars['String']['output']>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type JdbFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  description?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type JdbConnectionEdges = {
  __typename?: 'JdbConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Jdb>;
};

export type JdbConnection = Connection & {
  __typename?: 'JdbConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<JdbConnectionEdges>>>;
};

export type Createurs = Node & Document & {
  __typename?: 'Createurs';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  summary?: Maybe<Scalars['String']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  feature_image?: Maybe<Scalars['String']['output']>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type CreateursFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  summary?: InputMaybe<StringFilter>;
  slug?: InputMaybe<StringFilter>;
  feature_image?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type CreateursConnectionEdges = {
  __typename?: 'CreateursConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Createurs>;
};

export type CreateursConnection = Connection & {
  __typename?: 'CreateursConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<CreateursConnectionEdges>>>;
};

export type Jeux = Node & Document & {
  __typename?: 'Jeux';
  title: Scalars['String']['output'];
  seo_title: Scalars['String']['output'];
  summary?: Maybe<Scalars['String']['output']>;
  description?: Maybe<Scalars['String']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  feature_image?: Maybe<Scalars['String']['output']>;
  date?: Maybe<Scalars['String']['output']>;
  tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
  body?: Maybe<Scalars['JSON']['output']>;
  id: Scalars['ID']['output'];
  _sys: SystemInfo;
  _values: Scalars['JSON']['output'];
};

export type JeuxFilter = {
  title?: InputMaybe<StringFilter>;
  seo_title?: InputMaybe<StringFilter>;
  summary?: InputMaybe<StringFilter>;
  description?: InputMaybe<StringFilter>;
  slug?: InputMaybe<StringFilter>;
  feature_image?: InputMaybe<StringFilter>;
  date?: InputMaybe<DatetimeFilter>;
  tags?: InputMaybe<StringFilter>;
  body?: InputMaybe<RichTextFilter>;
};

export type JeuxConnectionEdges = {
  __typename?: 'JeuxConnectionEdges';
  cursor: Scalars['String']['output'];
  node?: Maybe<Jeux>;
};

export type JeuxConnection = Connection & {
  __typename?: 'JeuxConnection';
  pageInfo: PageInfo;
  totalCount: Scalars['Float']['output'];
  edges?: Maybe<Array<Maybe<JeuxConnectionEdges>>>;
};

export type Mutation = {
  __typename?: 'Mutation';
  addPendingDocument: DocumentNode;
  updateDocument: DocumentNode;
  deleteDocument: DocumentNode;
  createDocument: DocumentNode;
  updateAbout: About;
  createAbout: About;
  updatePost: Post;
  createPost: Post;
  updateProjets: Projets;
  createProjets: Projets;
  updateContact: Contact;
  createContact: Contact;
  updateJdb: Jdb;
  createJdb: Jdb;
  updateCreateurs: Createurs;
  createCreateurs: Createurs;
  updateJeux: Jeux;
  createJeux: Jeux;
};


export type MutationAddPendingDocumentArgs = {
  collection: Scalars['String']['input'];
  relativePath: Scalars['String']['input'];
  template?: InputMaybe<Scalars['String']['input']>;
};


export type MutationUpdateDocumentArgs = {
  collection?: InputMaybe<Scalars['String']['input']>;
  relativePath: Scalars['String']['input'];
  params: DocumentUpdateMutation;
};


export type MutationDeleteDocumentArgs = {
  collection?: InputMaybe<Scalars['String']['input']>;
  relativePath: Scalars['String']['input'];
};


export type MutationCreateDocumentArgs = {
  collection?: InputMaybe<Scalars['String']['input']>;
  relativePath: Scalars['String']['input'];
  params: DocumentMutation;
};


export type MutationUpdateAboutArgs = {
  relativePath: Scalars['String']['input'];
  params: AboutMutation;
};


export type MutationCreateAboutArgs = {
  relativePath: Scalars['String']['input'];
  params: AboutMutation;
};


export type MutationUpdatePostArgs = {
  relativePath: Scalars['String']['input'];
  params: PostMutation;
};


export type MutationCreatePostArgs = {
  relativePath: Scalars['String']['input'];
  params: PostMutation;
};


export type MutationUpdateProjetsArgs = {
  relativePath: Scalars['String']['input'];
  params: ProjetsMutation;
};


export type MutationCreateProjetsArgs = {
  relativePath: Scalars['String']['input'];
  params: ProjetsMutation;
};


export type MutationUpdateContactArgs = {
  relativePath: Scalars['String']['input'];
  params: ContactMutation;
};


export type MutationCreateContactArgs = {
  relativePath: Scalars['String']['input'];
  params: ContactMutation;
};


export type MutationUpdateJdbArgs = {
  relativePath: Scalars['String']['input'];
  params: JdbMutation;
};


export type MutationCreateJdbArgs = {
  relativePath: Scalars['String']['input'];
  params: JdbMutation;
};


export type MutationUpdateCreateursArgs = {
  relativePath: Scalars['String']['input'];
  params: CreateursMutation;
};


export type MutationCreateCreateursArgs = {
  relativePath: Scalars['String']['input'];
  params: CreateursMutation;
};


export type MutationUpdateJeuxArgs = {
  relativePath: Scalars['String']['input'];
  params: JeuxMutation;
};


export type MutationCreateJeuxArgs = {
  relativePath: Scalars['String']['input'];
  params: JeuxMutation;
};

export type DocumentUpdateMutation = {
  about?: InputMaybe<AboutMutation>;
  post?: InputMaybe<PostMutation>;
  projets?: InputMaybe<ProjetsMutation>;
  contact?: InputMaybe<ContactMutation>;
  jdb?: InputMaybe<JdbMutation>;
  createurs?: InputMaybe<CreateursMutation>;
  jeux?: InputMaybe<JeuxMutation>;
  relativePath?: InputMaybe<Scalars['String']['input']>;
};

export type DocumentMutation = {
  about?: InputMaybe<AboutMutation>;
  post?: InputMaybe<PostMutation>;
  projets?: InputMaybe<ProjetsMutation>;
  contact?: InputMaybe<ContactMutation>;
  jdb?: InputMaybe<JdbMutation>;
  createurs?: InputMaybe<CreateursMutation>;
  jeux?: InputMaybe<JeuxMutation>;
};

export type AboutMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type PostMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  summary?: InputMaybe<Scalars['String']['input']>;
  toc?: InputMaybe<Scalars['Boolean']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
  image?: InputMaybe<Scalars['String']['input']>;
  date?: InputMaybe<Scalars['String']['input']>;
  author?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  categories?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type ProjetsMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  summary?: InputMaybe<Scalars['String']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
  toc?: InputMaybe<Scalars['Boolean']['input']>;
  feature_image?: InputMaybe<Scalars['String']['input']>;
  image?: InputMaybe<Scalars['String']['input']>;
  date?: InputMaybe<Scalars['String']['input']>;
  author?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  project_types?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  tech_stack?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type ContactMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
};

export type JdbMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type CreateursMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  summary?: InputMaybe<Scalars['String']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
  feature_image?: InputMaybe<Scalars['String']['input']>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type JeuxMutation = {
  title?: InputMaybe<Scalars['String']['input']>;
  seo_title?: InputMaybe<Scalars['String']['input']>;
  summary?: InputMaybe<Scalars['String']['input']>;
  description?: InputMaybe<Scalars['String']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
  feature_image?: InputMaybe<Scalars['String']['input']>;
  date?: InputMaybe<Scalars['String']['input']>;
  tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
  body?: InputMaybe<Scalars['JSON']['input']>;
};

export type AboutPartsFragment = { __typename: 'About', title: string, seo_title: string, slug?: string | null, description?: string | null, body?: any | null };

export type PostPartsFragment = { __typename: 'Post', title: string, seo_title: string, summary?: string | null, toc?: boolean | null, description?: string | null, slug?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, tags?: Array<string | null> | null, categories?: Array<string | null> | null, body?: any | null };

export type ProjetsPartsFragment = { __typename: 'Projets', title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, toc?: boolean | null, feature_image?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, project_types?: Array<string | null> | null, tech_stack?: Array<string | null> | null, body?: any | null };

export type ContactPartsFragment = { __typename: 'Contact', title: string, seo_title: string, description?: string | null };

export type JdbPartsFragment = { __typename: 'Jdb', title: string, seo_title: string, description?: string | null, body?: any | null };

export type CreateursPartsFragment = { __typename: 'Createurs', title: string, seo_title: string, summary?: string | null, slug?: string | null, feature_image?: string | null, body?: any | null };

export type JeuxPartsFragment = { __typename: 'Jeux', title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, feature_image?: string | null, date?: string | null, tags?: Array<string | null> | null, body?: any | null };

export type AboutQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type AboutQuery = { __typename?: 'Query', about: { __typename: 'About', id: string, title: string, seo_title: string, slug?: string | null, description?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type AboutConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<AboutFilter>;
}>;


export type AboutConnectionQuery = { __typename?: 'Query', aboutConnection: { __typename?: 'AboutConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'AboutConnectionEdges', cursor: string, node?: { __typename: 'About', id: string, title: string, seo_title: string, slug?: string | null, description?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type PostQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type PostQuery = { __typename?: 'Query', post: { __typename: 'Post', id: string, title: string, seo_title: string, summary?: string | null, toc?: boolean | null, description?: string | null, slug?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, tags?: Array<string | null> | null, categories?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type PostConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<PostFilter>;
}>;


export type PostConnectionQuery = { __typename?: 'Query', postConnection: { __typename?: 'PostConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'PostConnectionEdges', cursor: string, node?: { __typename: 'Post', id: string, title: string, seo_title: string, summary?: string | null, toc?: boolean | null, description?: string | null, slug?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, tags?: Array<string | null> | null, categories?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type ProjetsQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type ProjetsQuery = { __typename?: 'Query', projets: { __typename: 'Projets', id: string, title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, toc?: boolean | null, feature_image?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, project_types?: Array<string | null> | null, tech_stack?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type ProjetsConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<ProjetsFilter>;
}>;


export type ProjetsConnectionQuery = { __typename?: 'Query', projetsConnection: { __typename?: 'ProjetsConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'ProjetsConnectionEdges', cursor: string, node?: { __typename: 'Projets', id: string, title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, toc?: boolean | null, feature_image?: string | null, image?: string | null, date?: string | null, author?: Array<string | null> | null, project_types?: Array<string | null> | null, tech_stack?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type ContactQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type ContactQuery = { __typename?: 'Query', contact: { __typename: 'Contact', id: string, title: string, seo_title: string, description?: string | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type ContactConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<ContactFilter>;
}>;


export type ContactConnectionQuery = { __typename?: 'Query', contactConnection: { __typename?: 'ContactConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'ContactConnectionEdges', cursor: string, node?: { __typename: 'Contact', id: string, title: string, seo_title: string, description?: string | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type JdbQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type JdbQuery = { __typename?: 'Query', jdb: { __typename: 'Jdb', id: string, title: string, seo_title: string, description?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type JdbConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<JdbFilter>;
}>;


export type JdbConnectionQuery = { __typename?: 'Query', jdbConnection: { __typename?: 'JdbConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'JdbConnectionEdges', cursor: string, node?: { __typename: 'Jdb', id: string, title: string, seo_title: string, description?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type CreateursQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type CreateursQuery = { __typename?: 'Query', createurs: { __typename: 'Createurs', id: string, title: string, seo_title: string, summary?: string | null, slug?: string | null, feature_image?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type CreateursConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<CreateursFilter>;
}>;


export type CreateursConnectionQuery = { __typename?: 'Query', createursConnection: { __typename?: 'CreateursConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'CreateursConnectionEdges', cursor: string, node?: { __typename: 'Createurs', id: string, title: string, seo_title: string, summary?: string | null, slug?: string | null, feature_image?: string | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export type JeuxQueryVariables = Exact<{
  relativePath: Scalars['String']['input'];
}>;


export type JeuxQuery = { __typename?: 'Query', jeux: { __typename: 'Jeux', id: string, title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, feature_image?: string | null, date?: string | null, tags?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } };

export type JeuxConnectionQueryVariables = Exact<{
  before?: InputMaybe<Scalars['String']['input']>;
  after?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Float']['input']>;
  last?: InputMaybe<Scalars['Float']['input']>;
  sort?: InputMaybe<Scalars['String']['input']>;
  filter?: InputMaybe<JeuxFilter>;
}>;


export type JeuxConnectionQuery = { __typename?: 'Query', jeuxConnection: { __typename?: 'JeuxConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'JeuxConnectionEdges', cursor: string, node?: { __typename: 'Jeux', id: string, title: string, seo_title: string, summary?: string | null, description?: string | null, slug?: string | null, feature_image?: string | null, date?: string | null, tags?: Array<string | null> | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string } } | null } | null> | null } };

export const AboutPartsFragmentDoc = gql`
    fragment AboutParts on About {
  __typename
  title
  seo_title
  slug
  description
  body
}
    `;
export const PostPartsFragmentDoc = gql`
    fragment PostParts on Post {
  __typename
  title
  seo_title
  summary
  toc
  description
  slug
  image
  date
  author
  tags
  categories
  body
}
    `;
export const ProjetsPartsFragmentDoc = gql`
    fragment ProjetsParts on Projets {
  __typename
  title
  seo_title
  summary
  description
  slug
  toc
  feature_image
  image
  date
  author
  project_types
  tech_stack
  body
}
    `;
export const ContactPartsFragmentDoc = gql`
    fragment ContactParts on Contact {
  __typename
  title
  seo_title
  description
}
    `;
export const JdbPartsFragmentDoc = gql`
    fragment JdbParts on Jdb {
  __typename
  title
  seo_title
  description
  body
}
    `;
export const CreateursPartsFragmentDoc = gql`
    fragment CreateursParts on Createurs {
  __typename
  title
  seo_title
  summary
  slug
  feature_image
  body
}
    `;
export const JeuxPartsFragmentDoc = gql`
    fragment JeuxParts on Jeux {
  __typename
  title
  seo_title
  summary
  description
  slug
  feature_image
  date
  tags
  body
}
    `;
export const AboutDocument = gql`
    query about($relativePath: String!) {
  about(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...AboutParts
  }
}
    ${AboutPartsFragmentDoc}`;
export const AboutConnectionDocument = gql`
    query aboutConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: AboutFilter) {
  aboutConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...AboutParts
      }
    }
  }
}
    ${AboutPartsFragmentDoc}`;
export const PostDocument = gql`
    query post($relativePath: String!) {
  post(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...PostParts
  }
}
    ${PostPartsFragmentDoc}`;
export const PostConnectionDocument = gql`
    query postConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: PostFilter) {
  postConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...PostParts
      }
    }
  }
}
    ${PostPartsFragmentDoc}`;
export const ProjetsDocument = gql`
    query projets($relativePath: String!) {
  projets(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...ProjetsParts
  }
}
    ${ProjetsPartsFragmentDoc}`;
export const ProjetsConnectionDocument = gql`
    query projetsConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: ProjetsFilter) {
  projetsConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...ProjetsParts
      }
    }
  }
}
    ${ProjetsPartsFragmentDoc}`;
export const ContactDocument = gql`
    query contact($relativePath: String!) {
  contact(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...ContactParts
  }
}
    ${ContactPartsFragmentDoc}`;
export const ContactConnectionDocument = gql`
    query contactConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: ContactFilter) {
  contactConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...ContactParts
      }
    }
  }
}
    ${ContactPartsFragmentDoc}`;
export const JdbDocument = gql`
    query jdb($relativePath: String!) {
  jdb(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...JdbParts
  }
}
    ${JdbPartsFragmentDoc}`;
export const JdbConnectionDocument = gql`
    query jdbConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: JdbFilter) {
  jdbConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...JdbParts
      }
    }
  }
}
    ${JdbPartsFragmentDoc}`;
export const CreateursDocument = gql`
    query createurs($relativePath: String!) {
  createurs(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...CreateursParts
  }
}
    ${CreateursPartsFragmentDoc}`;
export const CreateursConnectionDocument = gql`
    query createursConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: CreateursFilter) {
  createursConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...CreateursParts
      }
    }
  }
}
    ${CreateursPartsFragmentDoc}`;
export const JeuxDocument = gql`
    query jeux($relativePath: String!) {
  jeux(relativePath: $relativePath) {
    ... on Document {
      _sys {
        filename
        basename
        breadcrumbs
        path
        relativePath
        extension
      }
      id
    }
    ...JeuxParts
  }
}
    ${JeuxPartsFragmentDoc}`;
export const JeuxConnectionDocument = gql`
    query jeuxConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: JeuxFilter) {
  jeuxConnection(
    before: $before
    after: $after
    first: $first
    last: $last
    sort: $sort
    filter: $filter
  ) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      cursor
      node {
        ... on Document {
          _sys {
            filename
            basename
            breadcrumbs
            path
            relativePath
            extension
          }
          id
        }
        ...JeuxParts
      }
    }
  }
}
    ${JeuxPartsFragmentDoc}`;
export type Requester<C= {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R>
  export function getSdk<C>(requester: Requester<C>) {
    return {
      about(variables: AboutQueryVariables, options?: C): Promise<{data: AboutQuery, variables: AboutQueryVariables, query: string}> {
        return requester<{data: AboutQuery, variables: AboutQueryVariables, query: string}, AboutQueryVariables>(AboutDocument, variables, options);
      },
    aboutConnection(variables?: AboutConnectionQueryVariables, options?: C): Promise<{data: AboutConnectionQuery, variables: AboutConnectionQueryVariables, query: string}> {
        return requester<{data: AboutConnectionQuery, variables: AboutConnectionQueryVariables, query: string}, AboutConnectionQueryVariables>(AboutConnectionDocument, variables, options);
      },
    post(variables: PostQueryVariables, options?: C): Promise<{data: PostQuery, variables: PostQueryVariables, query: string}> {
        return requester<{data: PostQuery, variables: PostQueryVariables, query: string}, PostQueryVariables>(PostDocument, variables, options);
      },
    postConnection(variables?: PostConnectionQueryVariables, options?: C): Promise<{data: PostConnectionQuery, variables: PostConnectionQueryVariables, query: string}> {
        return requester<{data: PostConnectionQuery, variables: PostConnectionQueryVariables, query: string}, PostConnectionQueryVariables>(PostConnectionDocument, variables, options);
      },
    projets(variables: ProjetsQueryVariables, options?: C): Promise<{data: ProjetsQuery, variables: ProjetsQueryVariables, query: string}> {
        return requester<{data: ProjetsQuery, variables: ProjetsQueryVariables, query: string}, ProjetsQueryVariables>(ProjetsDocument, variables, options);
      },
    projetsConnection(variables?: ProjetsConnectionQueryVariables, options?: C): Promise<{data: ProjetsConnectionQuery, variables: ProjetsConnectionQueryVariables, query: string}> {
        return requester<{data: ProjetsConnectionQuery, variables: ProjetsConnectionQueryVariables, query: string}, ProjetsConnectionQueryVariables>(ProjetsConnectionDocument, variables, options);
      },
    contact(variables: ContactQueryVariables, options?: C): Promise<{data: ContactQuery, variables: ContactQueryVariables, query: string}> {
        return requester<{data: ContactQuery, variables: ContactQueryVariables, query: string}, ContactQueryVariables>(ContactDocument, variables, options);
      },
    contactConnection(variables?: ContactConnectionQueryVariables, options?: C): Promise<{data: ContactConnectionQuery, variables: ContactConnectionQueryVariables, query: string}> {
        return requester<{data: ContactConnectionQuery, variables: ContactConnectionQueryVariables, query: string}, ContactConnectionQueryVariables>(ContactConnectionDocument, variables, options);
      },
    jdb(variables: JdbQueryVariables, options?: C): Promise<{data: JdbQuery, variables: JdbQueryVariables, query: string}> {
        return requester<{data: JdbQuery, variables: JdbQueryVariables, query: string}, JdbQueryVariables>(JdbDocument, variables, options);
      },
    jdbConnection(variables?: JdbConnectionQueryVariables, options?: C): Promise<{data: JdbConnectionQuery, variables: JdbConnectionQueryVariables, query: string}> {
        return requester<{data: JdbConnectionQuery, variables: JdbConnectionQueryVariables, query: string}, JdbConnectionQueryVariables>(JdbConnectionDocument, variables, options);
      },
    createurs(variables: CreateursQueryVariables, options?: C): Promise<{data: CreateursQuery, variables: CreateursQueryVariables, query: string}> {
        return requester<{data: CreateursQuery, variables: CreateursQueryVariables, query: string}, CreateursQueryVariables>(CreateursDocument, variables, options);
      },
    createursConnection(variables?: CreateursConnectionQueryVariables, options?: C): Promise<{data: CreateursConnectionQuery, variables: CreateursConnectionQueryVariables, query: string}> {
        return requester<{data: CreateursConnectionQuery, variables: CreateursConnectionQueryVariables, query: string}, CreateursConnectionQueryVariables>(CreateursConnectionDocument, variables, options);
      },
    jeux(variables: JeuxQueryVariables, options?: C): Promise<{data: JeuxQuery, variables: JeuxQueryVariables, query: string}> {
        return requester<{data: JeuxQuery, variables: JeuxQueryVariables, query: string}, JeuxQueryVariables>(JeuxDocument, variables, options);
      },
    jeuxConnection(variables?: JeuxConnectionQueryVariables, options?: C): Promise<{data: JeuxConnectionQuery, variables: JeuxConnectionQueryVariables, query: string}> {
        return requester<{data: JeuxConnectionQuery, variables: JeuxConnectionQueryVariables, query: string}, JeuxConnectionQueryVariables>(JeuxConnectionDocument, variables, options);
      }
    };
  }
  export type Sdk = ReturnType<typeof getSdk>;

// TinaSDK generated code
import { createClient, TinaClient } from "tinacms/dist/client";

const generateRequester = (
  client: TinaClient,
  options?: { branch?: string }
) => {
  const requester: (
    doc: any,
    vars?: any,
    options?: { branch?: string },
    client
  ) => Promise<any> = async (doc, vars, options) => {
    let url = client.apiUrl
    if (options?.branch) {
      const index = client.apiUrl.lastIndexOf('/')
      url = client.apiUrl.substring(0, index + 1) + options.branch
    }
    const data = await client.request({
      query: doc,
      variables: vars,
      url,
    })

    return { data: data?.data, query: doc, variables: vars || {} }
  }

  return requester
}

/**
 * @experimental this class can be used but may change in the future
 **/
export const ExperimentalGetTinaClient = () =>
  getSdk(
    generateRequester(
      createClient({
        url: "http://localhost:4001/graphql",
        queries,
      })
    )
  )

export const queries = (
  client: TinaClient,
  options?: {
    branch?: string
  }
) => {
  const requester = generateRequester(client, options)
  return getSdk(requester)
}

  