Erick Wendel Contributions MCP

// @ts-nocheck import { type BatchOptions, createFetcher } from './fetcher.ts' import type { ExecutionResult, LinkedType } from './types.ts' import { generateGraphqlOperation, type GraphqlOperation, } from './generateGraphqlOperation.ts' export type Headers = | HeadersInit | (() => HeadersInit) | (() => Promise<HeadersInit>) export type BaseFetcher = ( operation: GraphqlOperation | GraphqlOperation[], ) => Promise<ExecutionResult | ExecutionResult[]> export type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & { url?: string batch?: BatchOptions | boolean fetcher?: BaseFetcher fetch?: Function headers?: Headers } export const createClient = ({ queryRoot, mutationRoot, subscriptionRoot, ...options }: ClientOptions & { queryRoot?: LinkedType mutationRoot?: LinkedType subscriptionRoot?: LinkedType }) => { const fetcher = createFetcher(options) const client: { query?: Function mutation?: Function } = {} if (queryRoot) { client.query = (request: any) => { if (!queryRoot) throw new Error('queryRoot argument is missing') const resultPromise = fetcher( generateGraphqlOperation('query', queryRoot, request), ) return resultPromise } } if (mutationRoot) { client.mutation = (request: any) => { if (!mutationRoot) throw new Error('mutationRoot argument is missing') const resultPromise = fetcher( generateGraphqlOperation('mutation', mutationRoot, request), ) return resultPromise } } return client as any }