{"version":3,"sources":["../../src/legacy/classes/ClientError.ts","../../src/lib/prelude.ts","../../src/legacy/functions/batchRequests.ts","../../src/legacy/functions/rawRequest.ts","../../src/lib/http.ts","../../src/legacy/lib/graphql.ts","../../src/legacy/helpers/analyzeDocument.ts","../../src/legacy/helpers/defaultJsonSerializer.ts","../../src/legacy/helpers/runRequest.ts","../../src/legacy/classes/GraphQLClient.ts","../../src/legacy/functions/request.ts","../../src/legacy/functions/gql.ts","../../src/entrypoints/main.ts"],"names":["request","Kind","print","parse","fetch","variables"],"mappings":"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","file":"main.cjs","sourcesContent":["import type { GraphQLRequestContext, GraphQLResponse } from '../helpers/types.js'\n\nexport class ClientError extends Error {\n  public response: GraphQLResponse\n  public request: GraphQLRequestContext\n\n  constructor(response: GraphQLResponse, request: GraphQLRequestContext) {\n    const message = `${ClientError.extractMessage(response)}: ${\n      JSON.stringify({\n        response,\n        request,\n      })\n    }`\n\n    super(message)\n\n    Object.setPrototypeOf(this, ClientError.prototype)\n\n    this.response = response\n    this.request = request\n\n    // this is needed as Safari doesn't support .captureStackTrace\n    if (typeof Error.captureStackTrace === `function`) {\n      Error.captureStackTrace(this, ClientError)\n    }\n  }\n\n  private static extractMessage(response: GraphQLResponse): string {\n    return response.errors?.[0]?.message ?? `GraphQL Error (Code: ${String(response.status)})`\n  }\n}\n","/* eslint-disable */\nexport type RemoveIndex<T> = {\n  [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K]\n}\n\nexport const uppercase = <S extends string>(str: S): Uppercase<S> => str.toUpperCase() as Uppercase<S>\n\nexport const callOrIdentity = <T>(value: MaybeLazy<T>) => {\n  return typeof value === `function` ? (value as () => T)() : value\n}\n\nexport type MaybeLazy<T> = T | (() => T)\n\nexport const zip = <A, B>(a: A[], b: B[]): [A, B | undefined][] => a.map((k, i) => [k, b[i]])\n\nexport const HeadersInitToPlainObject = (headers?: HeadersInit): Record<string, string> => {\n  let oHeaders: Record<string, string> = {}\n\n  if (headers instanceof Headers) {\n    oHeaders = HeadersInstanceToPlainObject(headers)\n  } else if (Array.isArray(headers)) {\n    headers.forEach(([name, value]) => {\n      if (name && value !== undefined) {\n        oHeaders[name] = value\n      }\n    })\n  } else if (headers) {\n    oHeaders = headers\n  }\n\n  return oHeaders\n}\n\nexport const HeadersInstanceToPlainObject = (headers: Response['headers']): Record<string, string> => {\n  const o: Record<string, string> = {}\n  headers.forEach((v, k) => {\n    o[k] = v\n  })\n  return o\n}\n\nexport const tryCatch = <$Return, $Throw extends Error = Error>(\n  fn: () => $Return,\n): $Return extends Promise<any> ? Promise<Awaited<$Return> | $Throw> : $Return | $Throw => {\n  try {\n    const result = fn() as any\n    if (isPromiseLikeValue(result)) {\n      return result.catch((error) => {\n        return errorFromMaybeError(error)\n      }) as any\n    }\n    return result\n  } catch (error) {\n    return errorFromMaybeError(error) as any\n  }\n}\n\n/**\n * Ensure that the given value is an error and return it. If it is not an error than\n * wrap it in one, passing the given value as the error message.\n */\nexport const errorFromMaybeError = (maybeError: unknown): Error => {\n  if (maybeError instanceof Error) return maybeError\n  return new Error(String(maybeError))\n}\n\nexport const isPromiseLikeValue = (value: unknown): value is Promise<unknown> => {\n  return (\n    typeof value === `object`\n    && value !== null\n    && `then` in value\n    && typeof value.then === `function`\n    && `catch` in value\n    && typeof value.catch === `function`\n    && `finally` in value\n    && typeof value.finally === `function`\n  )\n}\n\nexport const casesExhausted = (value: never): never => {\n  throw new Error(`Unhandled case: ${String(value)}`)\n}\n\nexport const isPlainObject = (value: unknown): value is Record<string, unknown> => {\n  return typeof value === `object` && value !== null && !Array.isArray(value)\n}\n\nexport const entries = <T extends Record<string, any>>(obj: T) => Object.entries(obj) as [keyof T, T[keyof T]][]\n\nexport const values = <T extends Record<string, unknown>>(obj: T): T[keyof T][] => Object.values(obj) as T[keyof T][]\n\n// dprint-ignore\nexport type Exact<$Value, $Constraint> =\n  (\n    $Value extends unknown  ? $Constraint extends $Value   ?  {} extends $Value    ?  $Constraint :\n                                                                                      { [K in keyof $Value]: Exact<$Value[K], $Constraint[K]> } :\n                                                              $Constraint :\n                              never\n  )\n  | ($Value extends Narrowable ? $Value : never)\n\n// dprint-ignore\n// export type ExactObjectNonEmpty<$Value, $Constraint> =\n//   (\n//     $Value extends unknown  ? $Constraint extends $Value   ?  keyof $Value extends never  ? ({ 'TypeScript Error: You must supply at least one key.': true } & $Constraint)  :\n//                                                                                             { [K in keyof $Value]: Exact<$Value[K], $Constraint[K]> } :\n//                                                               $Constraint :\n//                               never\n//   )\n//   | ($Value extends Narrowable ? $Value : never)\n\nexport type Narrowable = string | number | bigint | boolean | []\n\nexport type Letter = LetterLower | LetterUpper\n\nexport type Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'\n\nexport type LetterLower =\n  | 'a'\n  | 'b'\n  | 'c'\n  | 'd'\n  | 'e'\n  | 'f'\n  | 'g'\n  | 'h'\n  | 'i'\n  | 'j'\n  | 'k'\n  | 'l'\n  | 'm'\n  | 'n'\n  | 'o'\n  | 'p'\n  | 'q'\n  | 'r'\n  | 's'\n  | 't'\n  | 'u'\n  | 'v'\n  | 'w'\n  | 'x'\n  | 'y'\n  | 'z'\nexport type LetterUpper =\n  | 'A'\n  | 'B'\n  | 'C'\n  | 'D'\n  | 'E'\n  | 'F'\n  | 'G'\n  | 'H'\n  | 'I'\n  | 'J'\n  | 'K'\n  | 'L'\n  | 'M'\n  | 'N'\n  | 'O'\n  | 'P'\n  | 'Q'\n  | 'R'\n  | 'S'\n  | 'T'\n  | 'U'\n  | 'V'\n  | 'W'\n  | 'X'\n  | 'Y'\n  | 'Z'\n\nexport type StringNonEmpty = `${Letter}${string}`\n\nexport type MaybeList<T> = T | T[]\n\nexport type NotEmptyObject<T> = keyof T extends never ? never : T\n\nexport type Values<T> = T[keyof T]\n\nexport type GetKeyOr<T, Key, Or> = Key extends keyof T ? T[Key] : Or\n\nexport type As<T, U> = U extends T ? U : never\n\nexport type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport type LastOf<T> = UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? R : never\n\n// TS4.0+\nexport type Push<T extends any[], V> = [...T, V]\n\n// TS4.1+\nexport type UnionToTuple<T, L = LastOf<T>, N = [T] extends [never] ? true : false> = true extends N ? []\n  : Push<UnionToTuple<Exclude<T, L>>, L>\n\nexport type CountKeys<T> = keyof T extends never ? 0 : UnionToTuple<keyof T>['length']\nexport type IsMultipleKeys<T> = IsMultiple<CountKeys<T>>\nexport type IsMultiple<T> = T extends 0 ? false : T extends 1 ? false : true\n\nexport type ExcludeNull<T> = Exclude<T, null>\n\nexport const mapValues = <\n  $Obj extends Record<string, any>,\n  $Fn extends (value: $Obj[keyof $Obj], key: keyof $Obj) => any,\n>(\n  object: $Obj,\n  fn: $Fn,\n): Record<keyof $Obj, ReturnType<$Fn>> => {\n  return Object.fromEntries(\n    Object.entries(object).map(([key, value]) => {\n      return [key, fn(value, key)]\n    }),\n  ) as Record<keyof $Obj, ReturnType<$Fn>>\n}\n\nexport type SetProperty<$Obj extends object, $Prop extends keyof $Obj, $Type extends $Obj[$Prop]> =\n  & Omit<$Obj, $Prop>\n  & { [_ in $Prop]: $Type }\n\nexport const lowerCaseFirstLetter = (s: string) => {\n  return s.charAt(0).toLowerCase() + s.slice(1)\n}\n\nexport function assertArray(v: unknown): asserts v is unknown[] {\n  if (!Array.isArray(v)) throw new Error(`Expected array. Got: ${String(v)}`)\n}\n\nexport function assertObject(v: unknown): asserts v is object {\n  if (v === null || typeof v !== `object`) throw new Error(`Expected object. Got: ${String(v)}`)\n}\n\nexport type StringKeyof<T> = keyof T & string\n\nexport type MaybePromise<T> = T | Promise<T>\n\nexport const capitalizeFirstLetter = (string: string) => string.charAt(0).toUpperCase() + string.slice(1)\n\nexport type SomeAsyncFunction = (...args: unknown[]) => Promise<unknown>\n\nexport type SomeMaybeAsyncFunction = (...args: unknown[]) => MaybePromise<unknown>\n\nexport type Deferred<T> = {\n  promise: Promise<T>\n  isResolved: () => boolean\n  resolve: (value: T) => void\n  reject: (error: unknown) => void\n}\n\nexport const createDeferred = <$T>(options?: { strict?: boolean }): Deferred<$T> => {\n  let isResolved = false\n  let resolve: (value: $T) => void\n  let reject: (error: unknown) => void\n\n  const promise = new Promise<$T>(($resolve, $reject) => {\n    resolve = $resolve\n    reject = $reject\n  })\n\n  return {\n    promise,\n    isResolved: () => isResolved,\n    resolve: (value) => {\n      isResolved = true\n      if (options?.strict && isResolved) {\n        throw new Error(`Deferred is already resolved. Attempted to resolve with: ${JSON.stringify(value)}`)\n      }\n      resolve(value)\n    },\n    reject: (error) => reject(error),\n  }\n}\n\nexport const debug = (...args: any[]) => {\n  if (process.env[`DEBUG`]) {\n    console.log(...args)\n  }\n}\n\nexport const debugSub = (...args: any[]) => (...subArgs: any[]) => {\n  debug(...args, ...subArgs)\n}\n\nexport type PlusOneUpToTen<n extends number> = n extends 0 ? 1\n  : n extends 1 ? 2\n  : n extends 2 ? 3\n  : n extends 3 ? 4\n  : n extends 4 ? 5\n  : n extends 5 ? 6\n  : n extends 6 ? 7\n  : n extends 7 ? 8\n  : n extends 8 ? 9\n  : n extends 9 ? 10\n  : never\n\nexport type MinusOneUpToTen<n extends number> = n extends 10 ? 9\n  : n extends 9 ? 8\n  : n extends 8 ? 7\n  : n extends 7 ? 6\n  : n extends 6 ? 5\n  : n extends 5 ? 4\n  : n extends 4 ? 3\n  : n extends 3 ? 2\n  : n extends 2 ? 1\n  : n extends 1 ? 0\n  : never\n\nexport type findIndexForValue<value, list extends readonly [any, ...any[]]> = findIndexForValue_<value, list, 0>\ntype findIndexForValue_<value, list extends readonly [any, ...any[]], i extends number> = value extends list[i] ? i\n  : findIndexForValue_<value, list, PlusOneUpToTen<i>>\n\nexport type FindValueAfter<value, list extends readonly [any, ...any[]]> =\n  list[PlusOneUpToTen<findIndexForValue<value, list>>]\n\nexport type ValueOr<value, orValue> = value extends undefined ? orValue : value\n\nexport type FindValueAfterOr<value, list extends readonly [any, ...any[]], orValue> = ValueOr<\n  list[PlusOneUpToTen<findIndexForValue<value, list>>],\n  orValue\n>\n\nexport type GetLastValue<T extends readonly [any, ...any[]]> = T[MinusOneUpToTen<T['length']>]\n\nexport type IsLastValue<value, list extends readonly [any, ...any[]]> = value extends GetLastValue<list> ? true : false\n\nexport type Include<T, U> = T extends U ? T : never\n\nexport const partitionErrors = <T>(array: T[]): [Exclude<T, Error>[], Include<T, Error>[]] => {\n  const errors: Include<T, Error>[] = []\n  const values: Exclude<T, Error>[] = []\n  for (const item of array) {\n    if (item instanceof Error) {\n      errors.push(item as any)\n    } else {\n      values.push(item as any)\n    }\n  }\n  return [values, errors]\n}\n","import { GraphQLClient } from '../classes/GraphQLClient.js'\nimport type { RequestDocument, Variables } from '../helpers/types.js'\n\nexport type BatchRequestDocument<V extends Variables = Variables> = {\n  document: RequestDocument\n  variables?: V\n}\n\nexport interface BatchRequestsOptions<V extends Variables = Variables> {\n  documents: BatchRequestDocument<V>[]\n  requestHeaders?: HeadersInit\n  signal?: RequestInit['signal']\n}\n\nexport interface BatchRequestsExtendedOptions<V extends Variables = Variables> extends BatchRequestsOptions<V> {\n  url: string\n}\n\n/**\n * Send a batch of GraphQL Document to the GraphQL server for execution.\n *\n * @example\n *\n * ```ts\n * // You can pass a raw string\n *\n * await batchRequests('https://foo.bar/graphql', [\n * {\n *  query: `\n *   {\n *     query {\n *       users\n *     }\n *   }`\n * },\n * {\n *   query: `\n *   {\n *     query {\n *       users\n *     }\n *   }`\n * }])\n *\n * // You can also pass a GraphQL DocumentNode as query. Convenient if you\n * // are using graphql-tag package.\n *\n * import gql from 'graphql-tag'\n *\n * await batchRequests('https://foo.bar/graphql', [{ query: gql`...` }])\n * ```\n */\nexport const batchRequests: BatchRequests = async (...args: BatchRequestsArgs) => {\n  const params = parseBatchRequestsArgsExtended(args)\n  const client = new GraphQLClient(params.url)\n  return client.batchRequests(params)\n}\n\ntype BatchRequestsArgs =\n  | [url: string, documents: BatchRequestDocument[], requestHeaders?: HeadersInit]\n  | [options: BatchRequestsExtendedOptions]\n\nexport const parseBatchRequestsArgsExtended = (args: BatchRequestsArgs): BatchRequestsExtendedOptions => {\n  if (args.length === 1) {\n    return args[0]\n  } else {\n    return {\n      url: args[0],\n      documents: args[1],\n      requestHeaders: args[2],\n      signal: undefined,\n    }\n  }\n}\n\n// dprint-ignore\ninterface BatchRequests {\n  <T extends BatchResult, V extends Variables = Variables>(url: string, documents: BatchRequestDocument<V>[], requestHeaders?: HeadersInit): Promise<T>\n  <T extends BatchResult, V extends Variables = Variables>(options: BatchRequestsExtendedOptions<V>): Promise<T>\n}\n\nexport type BatchResult = [Result, ...Result[]]\n\ninterface Result<Data extends object = object> {\n  data: Data\n}\n\nexport const parseBatchRequestArgs = <V extends Variables = Variables>(\n  documentsOrOptions: BatchRequestDocument<V>[] | BatchRequestsOptions<V>,\n  requestHeaders?: HeadersInit,\n): BatchRequestsOptions<V> => {\n  // eslint-disable-next-line\n  return (documentsOrOptions as BatchRequestsOptions<V>).documents\n    ? (documentsOrOptions as BatchRequestsOptions<V>)\n    : {\n      documents: documentsOrOptions as BatchRequestDocument<V>[],\n      requestHeaders: requestHeaders,\n      signal: undefined,\n    }\n}\n","import { GraphQLClient } from '../classes/GraphQLClient.js'\nimport type {\n  GraphQLClientResponse,\n  RawRequestOptions,\n  Variables,\n  VariablesAndRequestHeadersArgs,\n} from '../helpers/types.js'\n\n/**\n * Send a GraphQL Query to the GraphQL server for execution.\n */\nexport const rawRequest: RawRequest = async <T, V extends Variables>(\n  ...args: RawRequestArgs<V>\n): Promise<GraphQLClientResponse<T>> => {\n  const [urlOrOptions, query, ...variablesAndRequestHeaders] = args\n  const requestOptions = parseRawRequestExtendedArgs<V>(urlOrOptions, query, ...variablesAndRequestHeaders)\n  const client = new GraphQLClient(requestOptions.url)\n  return client.rawRequest<T, V>({\n    ...requestOptions,\n  })\n}\n\n// dprint-ignore\ninterface RawRequest {\n  <T, V extends Variables = Variables>(url: string, query: string, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>): Promise<GraphQLClientResponse<T>>\n  <T, V extends Variables = Variables>(options: RawRequestExtendedOptions<V>): Promise<GraphQLClientResponse<T>>\n}\n\n// dprint-ignore\ntype RawRequestArgs<V extends Variables> = \n  | [options: RawRequestExtendedOptions<V>, query?: string, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>]\n  | [url: string,                           query?: string, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>]\n\nexport const parseRawRequestExtendedArgs = <V extends Variables = Variables>(\n  urlOrOptions: string | RawRequestExtendedOptions<V>,\n  query?: string,\n  ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>\n): RawRequestExtendedOptions<V> => {\n  const [variables, requestHeaders] = variablesAndRequestHeaders\n  return typeof urlOrOptions === `string`\n    ? ({\n      url: urlOrOptions,\n      query: query as string,\n      variables,\n      requestHeaders,\n      signal: undefined,\n    } as unknown as RawRequestExtendedOptions<V>)\n    : urlOrOptions\n}\n\nexport type RawRequestExtendedOptions<V extends Variables = Variables> = {\n  url: string\n} & RawRequestOptions<V>\n\nexport const parseRawRequestArgs = <V extends Variables = Variables>(\n  queryOrOptions: string | RawRequestOptions<V>,\n  variables?: V,\n  requestHeaders?: HeadersInit,\n): RawRequestOptions<V> => {\n  return (queryOrOptions as RawRequestOptions<V>).query\n    ? (queryOrOptions as RawRequestOptions<V>)\n    : ({\n      query: queryOrOptions as string,\n      variables: variables,\n      requestHeaders: requestHeaders,\n      signal: undefined,\n    } as unknown as RawRequestOptions<V>)\n}\n","export const ACCEPT_HEADER = `Accept`\nexport const CONTENT_TYPE_HEADER = `Content-Type`\nexport const CONTENT_TYPE_JSON = `application/json`\nexport const CONTENT_TYPE_GQL = `application/graphql-response+json`\nexport const statusCodes = {\n  success: 200,\n}\n","import { Kind } from 'graphql'\nimport { CONTENT_TYPE_GQL, CONTENT_TYPE_JSON } from '../../lib/http.js'\nimport { isPlainObject } from '../../lib/prelude.js'\n/**\n * Refactored imports from `graphql` to be more specific, this helps import only the required files (100KiB)\n * instead of the entire package (greater than 500KiB) where tree-shaking is not supported.\n * @see https://github.com/jasonkuhrt/graphql-request/pull/543\n */\nimport type { OperationDefinitionNode } from 'graphql'\n\n/**\n * Clean a GraphQL document to send it via a GET query\n */\nexport const cleanQuery = (str: string): string => str.replace(/([\\s,]|#[^\\n\\r]+)+/g, ` `).trim()\n\nexport const isGraphQLContentType = (contentType: string) => {\n  const contentTypeLower = contentType.toLowerCase()\n\n  return contentTypeLower.includes(CONTENT_TYPE_GQL) || contentTypeLower.includes(CONTENT_TYPE_JSON)\n}\n\nexport type GraphQLRequestResult = GraphQLRequestResultBatch | GraphQLRequestResultSingle\nexport type GraphQLRequestResultBatch = { _tag: 'Batch'; executionResults: GraphQLExecutionResultBatch }\nexport type GraphQLRequestResultSingle = { _tag: 'Single'; executionResult: GraphQLExecutionResultSingle }\n\nexport type GraphQLExecutionResult = GraphQLExecutionResultSingle | GraphQLExecutionResultBatch\nexport type GraphQLExecutionResultBatch = GraphQLExecutionResultSingle[]\nexport type GraphQLExecutionResultSingle = {\n  data: object | null | undefined\n  errors: undefined | object | object[]\n  extensions?: object\n}\n\nexport const parseGraphQLExecutionResult = (result: unknown): Error | GraphQLRequestResult => {\n  try {\n    if (Array.isArray(result)) {\n      return {\n        _tag: `Batch`,\n        executionResults: result.map(parseExecutionResult),\n      }\n    } else if (isPlainObject(result)) {\n      return {\n        _tag: `Single`,\n        executionResult: parseExecutionResult(result),\n      }\n    } else {\n      throw new Error(`Invalid execution result: result is not object or array. \\nGot:\\n${String(result)}`)\n    }\n  } catch (e) {\n    return e as Error\n  }\n}\n\n/**\n * Example result:\n *\n * ```\n * {\n *  \"data\": null,\n *  \"errors\": [{\n *    \"message\": \"custom error\",\n *    \"locations\": [{ \"line\": 2, \"column\": 3 }],\n *    \"path\": [\"playerNew\"]\n *  }]\n * }\n * ```\n */\nexport const parseExecutionResult = (result: unknown): GraphQLExecutionResultSingle => {\n  if (typeof result !== `object` || result === null) {\n    throw new Error(`Invalid execution result: result is not object`)\n  }\n\n  let errors = undefined\n  let data = undefined\n  let extensions = undefined\n\n  if (`errors` in result) {\n    if (!isPlainObject(result.errors) && !Array.isArray(result.errors)) {\n      throw new Error(`Invalid execution result: errors is not plain object OR array`) // prettier-ignore\n    }\n    errors = result.errors\n  }\n\n  // todo add test coverage for case of null. @see https://github.com/jasonkuhrt/graphql-request/issues/739\n  if (`data` in result) {\n    if (!isPlainObject(result.data) && result.data !== null) {\n      throw new Error(`Invalid execution result: data is not plain object`) // prettier-ignore\n    }\n    data = result.data\n  }\n\n  if (`extensions` in result) {\n    if (!isPlainObject(result.extensions)) throw new Error(`Invalid execution result: extensions is not plain object`) // prettier-ignore\n    extensions = result.extensions\n  }\n\n  return {\n    data,\n    errors,\n    extensions,\n  }\n}\n\nexport const isRequestResultHaveErrors = (result: GraphQLRequestResult) =>\n  result._tag === `Batch`\n    ? result.executionResults.some(isExecutionResultHaveErrors)\n    : isExecutionResultHaveErrors(result.executionResult)\n\nexport const isExecutionResultHaveErrors = (result: GraphQLExecutionResultSingle) =>\n  Array.isArray(result.errors) ? result.errors.length > 0 : Boolean(result.errors)\n\nexport const isOperationDefinitionNode = (definition: unknown): definition is OperationDefinitionNode => {\n  return (\n    typeof definition === `object`\n    && definition !== null\n    && `kind` in definition\n    && definition.kind === Kind.OPERATION_DEFINITION\n  )\n}\n","import { tryCatch } from '../../lib/prelude.js'\nimport { isOperationDefinitionNode } from '../lib/graphql.js'\nimport type { RequestDocument } from './types.js'\n/**\n * Refactored imports from `graphql` to be more specific, this helps import only the required files (100KiB)\n * instead of the entire package (greater than 500KiB) where tree-shaking is not supported.\n * @see https://github.com/jasonkuhrt/graphql-request/pull/543\n */\nimport type { DocumentNode } from 'graphql'\nimport { parse } from 'graphql'\nimport { print } from 'graphql'\n\n/**\n * helpers\n */\n\nconst extractOperationName = (document: DocumentNode): string | undefined => {\n  let operationName = undefined\n\n  const defs = document.definitions.filter(isOperationDefinitionNode)\n\n  if (defs.length === 1) {\n    operationName = defs[0]!.name?.value\n  }\n\n  return operationName\n}\n\nconst extractIsMutation = (document: DocumentNode): boolean => {\n  let isMutation = false\n\n  const defs = document.definitions.filter(isOperationDefinitionNode)\n\n  if (defs.length === 1) {\n    /* eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison --\n     * graphql@15's `OperationTypeNode` is a type, but graphql@16's `OperationTypeNode` is a native TypeScript enum\n     * Therefore, we cannot use `OperationTypeNode.MUTATION` here because it wouldn't work with graphql@15\n     **/\n    isMutation = defs[0]!.operation === `mutation`\n  }\n\n  return isMutation\n}\n\nexport const analyzeDocument = (\n  document: RequestDocument,\n  excludeOperationName?: boolean,\n): { expression: string; operationName: string | undefined; isMutation: boolean } => {\n  /**\n   * Normalize boxed String objects to primitive strings for compatibility with TypedDocumentString.\n   *\n   * Problem: \\@graphql-codegen with `documentMode: 'string'` generates a TypedDocumentString class that\n   * extends the built-in String class, creating \"boxed String\" instances:\n   *\n   * @see https://github.com/dotansimha/graphql-code-generator/blob/c87b779b9b400813d733fa89dcb16724b30c6d16/packages/plugins/typescript/typed-document-node/src/index.ts#L40-L57\n   *\n   * ```\n   * class TypedDocumentString<TResult, TVariables> extends String\n   *   constructor(value: string)\n   *     super(value)  // Creates a boxed String object, not a primitive string\n   * ```\n   *\n   * Boxed Strings are objects, not primitives:\n   * - `typeof \"hello\" === \"string\"` returns true\n   * - `typeof new String(\"hello\") === \"string\"` returns false (returns \"object\")\n   *\n   * Without normalization, TypedDocumentString instances would fail the `typeof === 'string'` check\n   * and incorrectly be passed to `print()`, which expects a DocumentNode AST, causing a crash.\n   *\n   * Solution: Detect and convert boxed Strings to primitives using template literal coercion.\n   * - Primitive strings pass through (typeof === \"string\")\n   * - DocumentNode objects pass through (have .kind property)\n   * - Boxed Strings get converted to primitives (template literal to primitive string)\n   *\n   * @see https://github.com/graffle-js/graffle/issues/1453\n   */\n  const normalizedDocument = typeof document === `string` || `kind` in document\n    ? document\n    : String(document)\n\n  const expression = typeof normalizedDocument === `string` ? normalizedDocument : print(normalizedDocument)\n\n  let isMutation = false\n  let operationName = undefined\n\n  if (excludeOperationName) {\n    return { expression, isMutation, operationName }\n  }\n\n  const docNode = tryCatch(\n    () => (typeof normalizedDocument === `string` ? parse(normalizedDocument) : normalizedDocument),\n  )\n  if (docNode instanceof Error) {\n    return { expression, isMutation, operationName }\n  }\n\n  operationName = extractOperationName(docNode)\n  isMutation = extractIsMutation(docNode)\n\n  return { expression, operationName, isMutation }\n}\n","import type { JsonSerializer } from './types.js'\n\nexport const defaultJsonSerializer: JsonSerializer = JSON\n","import { ACCEPT_HEADER, CONTENT_TYPE_GQL, CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON } from '../../lib/http.js'\nimport { casesExhausted, uppercase, zip } from '../../lib/prelude.js'\nimport { ClientError } from '../classes/ClientError.js'\nimport type { GraphQLExecutionResultSingle } from '../lib/graphql.js'\nimport {\n  cleanQuery,\n  isGraphQLContentType,\n  isRequestResultHaveErrors,\n  parseGraphQLExecutionResult,\n} from '../lib/graphql.js'\nimport { defaultJsonSerializer } from './defaultJsonSerializer.js'\nimport type {\n  BatchVariables,\n  Fetch,\n  FetchOptions,\n  GraphQLClientResponse,\n  HTTPMethodInput,\n  JsonSerializer,\n  RequestMiddleware,\n  Variables,\n} from './types.js'\n\ninterface Input {\n  url: string\n  /**\n   * The HTTP method to use for queries. Note that mutations are ALWAYS sent as POST requests ([per spec](https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md?rgh-link-date=2022-06-02T09%3A30%3A53Z)).\n   *\n   * @defaultValue `'POST'`\n   */\n  method?: HTTPMethodInput\n  fetch?: Fetch\n  fetchOptions: FetchOptions\n  headers?: HeadersInit\n  middleware?: RequestMiddleware\n  request:\n    | {\n      _tag: 'Single'\n      variables?: Variables\n      document: {\n        expression: string\n        isMutation: boolean\n        operationName?: string\n      }\n    }\n    | {\n      _tag: 'Batch'\n      query: string[]\n      operationName?: undefined\n      hasMutations: boolean\n      variables?: BatchVariables\n    }\n}\n\n// @ts-expect-error todo\nexport const runRequest = async (input: Input): Promise<ClientError | GraphQLClientResponse<any>> => {\n  // todo make a Config type\n  const config = {\n    ...input,\n    method: input.request._tag === `Single`\n      ? input.request.document.isMutation\n        ? `POST`\n        : uppercase(input.method ?? `post`)\n      : input.request.hasMutations\n      ? `POST`\n      : uppercase(input.method ?? `post`),\n    fetchOptions: {\n      ...input.fetchOptions,\n      errorPolicy: input.fetchOptions.errorPolicy ?? `none`,\n    },\n  }\n  const fetcher = createFetcher(config.method)\n  const fetchResponse = await fetcher(config)\n\n  // Read response body text first (can only be read once)\n  const body = await fetchResponse.text()\n\n  // Parse response body FIRST, regardless of HTTP status\n  // This allows GraphQL errors to be extracted even when HTTP status is 4xx/5xx (fixes #1281)\n  let result\n  try {\n    result = parseResultFromText(\n      body,\n      fetchResponse.headers.get(CONTENT_TYPE_HEADER),\n      input.fetchOptions.jsonSerializer ?? defaultJsonSerializer,\n    )\n  } catch (error) {\n    // If parsing fails, we'll handle it below based on HTTP status\n    result = error as Error\n  }\n\n  const clientResponseBase = {\n    status: fetchResponse.status,\n    headers: fetchResponse.headers,\n    body,\n  }\n\n  // Handle non-2xx HTTP status codes\n  if (!fetchResponse.ok) {\n    if (result instanceof Error) {\n      // Parse failed - return ClientError without GraphQL data\n      // Still returns ClientError (not generic Error) to allow status code access\n      return new ClientError(\n        { ...clientResponseBase },\n        {\n          query: input.request._tag === `Single` ? input.request.document.expression : input.request.query,\n          variables: input.request.variables,\n        },\n      )\n    }\n\n    // Parse succeeded - return ClientError WITH GraphQL errors/data (fixes #1281)\n    const clientResponse = result._tag === `Batch`\n      ? { ...result.executionResults, ...clientResponseBase }\n      : {\n        ...result.executionResult,\n        ...clientResponseBase,\n      }\n    // @ts-expect-error todo\n    return new ClientError(clientResponse, {\n      query: input.request._tag === `Single` ? input.request.document.expression : input.request.query,\n      variables: input.request.variables,\n    })\n  }\n\n  // For 2xx responses, parse errors should throw\n  if (result instanceof Error) throw result\n\n  if (isRequestResultHaveErrors(result) && config.fetchOptions.errorPolicy === `none`) {\n    // todo this client response on error is not consistent with the data type for success\n    const clientResponse = result._tag === `Batch`\n      ? { ...result.executionResults, ...clientResponseBase }\n      : {\n        ...result.executionResult,\n        ...clientResponseBase,\n      }\n    // @ts-expect-error todo\n    return new ClientError(clientResponse, {\n      query: input.request._tag === `Single` ? input.request.document.expression : input.request.query,\n      variables: input.request.variables,\n    })\n  }\n  switch (result._tag) {\n    case `Single`:\n      // @ts-expect-error todo\n      return {\n        ...clientResponseBase,\n        ...executionResultClientResponseFields(config)(result.executionResult),\n      }\n    case `Batch`:\n      return {\n        ...clientResponseBase,\n        data: result.executionResults.map(executionResultClientResponseFields(config)),\n      }\n    default:\n      casesExhausted(result)\n  }\n}\n\nconst executionResultClientResponseFields = ($params: Input) => (executionResult: GraphQLExecutionResultSingle) => {\n  return {\n    extensions: executionResult.extensions,\n    data: executionResult.data,\n    errors: $params.fetchOptions.errorPolicy === `all` ? executionResult.errors : undefined,\n  }\n}\n\nconst parseResultFromText = (text: string, contentType: string | null, jsonSerializer: JsonSerializer) => {\n  if (contentType && isGraphQLContentType(contentType)) {\n    return parseGraphQLExecutionResult(jsonSerializer.parse(text))\n  } else {\n    // todo what is this good for...? Seems very random/undefined\n    return parseGraphQLExecutionResult(text)\n  }\n}\n\nconst createFetcher = (method: 'GET' | 'POST') => async (params: Input) => {\n  const headers = new Headers(params.headers)\n  let searchParams: URLSearchParams | null = null\n  let body = undefined\n\n  if (!headers.has(ACCEPT_HEADER)) {\n    headers.set(ACCEPT_HEADER, [CONTENT_TYPE_GQL, CONTENT_TYPE_JSON].join(`, `))\n  }\n\n  if (method === `POST`) {\n    const $jsonSerializer = params.fetchOptions.jsonSerializer ?? defaultJsonSerializer\n    body = $jsonSerializer.stringify(buildBody(params))\n    if (typeof body === `string` && !headers.has(CONTENT_TYPE_HEADER)) {\n      headers.set(CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON)\n    }\n  } else {\n    searchParams = buildQueryParams(params)\n  }\n\n  const init: RequestInit = { method, headers, body, ...params.fetchOptions }\n\n  let url = new URL(params.url)\n  let initResolved = init\n\n  if (params.middleware) {\n    const result = await Promise.resolve(\n      params.middleware({\n        ...init,\n        url: params.url,\n        operationName: params.request._tag === `Single` ? params.request.document.operationName : undefined,\n        variables: params.request.variables,\n      }),\n    )\n    const { url: urlNew, ...initNew } = result\n    url = new URL(urlNew)\n    initResolved = initNew\n  }\n\n  if (searchParams) {\n    searchParams.forEach((value, name) => {\n      url.searchParams.append(name, value)\n    })\n  }\n\n  const $fetch = params.fetch ?? fetch\n  return await $fetch(url, initResolved)\n}\n\nconst buildBody = (params: Input) => {\n  switch (params.request._tag) {\n    case `Single`:\n      return {\n        query: params.request.document.expression,\n        variables: params.request.variables,\n        operationName: params.request.document.operationName,\n      }\n    case `Batch`:\n      return zip(params.request.query, params.request.variables ?? []).map(([query, variables]) => ({\n        query,\n        variables,\n      }))\n    default:\n      throw casesExhausted(params.request)\n  }\n}\n\nconst buildQueryParams = (params: Input): URLSearchParams => {\n  const $jsonSerializer = params.fetchOptions.jsonSerializer ?? defaultJsonSerializer\n  const searchParams = new URLSearchParams()\n  switch (params.request._tag) {\n    case `Single`: {\n      searchParams.append(`query`, cleanQuery(params.request.document.expression))\n      if (params.request.variables) {\n        searchParams.append(`variables`, $jsonSerializer.stringify(params.request.variables))\n      }\n      if (params.request.document.operationName) {\n        searchParams.append(`operationName`, params.request.document.operationName)\n      }\n      return searchParams\n    }\n    case `Batch`: {\n      const variablesSerialized = params.request.variables?.map((v) => $jsonSerializer.stringify(v)) ?? []\n      const queriesCleaned = params.request.query.map(cleanQuery)\n      const payload = zip(queriesCleaned, variablesSerialized).map(([query, variables]) => ({\n        query,\n        variables,\n      }))\n      searchParams.append(`query`, $jsonSerializer.stringify(payload))\n      return searchParams\n    }\n    default:\n      throw casesExhausted(params.request)\n  }\n}\n","import type { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport { callOrIdentity, HeadersInitToPlainObject } from '../../lib/prelude.js'\nimport type { BatchRequestDocument, BatchRequestsOptions, BatchResult } from '../functions/batchRequests.js'\nimport { parseBatchRequestArgs } from '../functions/batchRequests.js'\nimport { parseRawRequestArgs } from '../functions/rawRequest.js'\nimport { parseRequestArgs } from '../functions/request.js'\nimport { analyzeDocument } from '../helpers/analyzeDocument.js'\nimport { runRequest } from '../helpers/runRequest.js'\nimport type {\n  RequestDocument,\n  RequestOptions,\n  TypedDocumentString,\n  VariablesAndRequestHeadersArgs,\n} from '../helpers/types.js'\nimport {\n  type GraphQLClientResponse,\n  type RawRequestOptions,\n  type RequestConfig,\n  type Variables,\n} from '../helpers/types.js'\n\n/**\n * GraphQL Client.\n */\nexport class GraphQLClient {\n  constructor(\n    private url: string,\n    public readonly requestConfig: RequestConfig = {},\n  ) {}\n\n  /**\n   * Send a GraphQL query to the server.\n   */\n  rawRequest: RawRequestMethod = async <\n    T = any,\n    $Variables extends Variables = Variables,\n  >(\n    ...args: RawRequestMethodArgs<$Variables>\n  ): Promise<GraphQLClientResponse<T>> => {\n    const [queryOrOptions, variables, requestHeaders] = args\n    const rawRequestOptions = parseRawRequestArgs<$Variables>(\n      queryOrOptions,\n      variables,\n      requestHeaders,\n    )\n    const {\n      headers,\n      fetch = globalThis.fetch,\n      method = `POST`,\n      requestMiddleware,\n      responseMiddleware,\n      excludeOperationName,\n      ...fetchOptions\n    } = this.requestConfig\n    const { url } = this\n    if (rawRequestOptions.signal !== undefined) {\n      fetchOptions.signal = rawRequestOptions.signal\n    }\n\n    const document = analyzeDocument(\n      rawRequestOptions.query,\n      excludeOperationName,\n    )\n\n    const response = await runRequest({\n      url,\n      request: {\n        _tag: `Single`,\n        document,\n        variables: rawRequestOptions.variables,\n      },\n      headers: {\n        ...HeadersInitToPlainObject(callOrIdentity(headers)),\n        ...HeadersInitToPlainObject(rawRequestOptions.requestHeaders),\n      },\n      fetch,\n      method,\n      fetchOptions,\n      middleware: requestMiddleware,\n    })\n\n    if (responseMiddleware) {\n      await responseMiddleware(response, {\n        operationName: document.operationName,\n        variables,\n        url: this.url,\n      })\n    }\n\n    if (response instanceof Error) {\n      throw response\n    }\n\n    return response\n  }\n\n  /**\n   * Send a GraphQL document to the server.\n   */\n  // dprint-ignore\n  async request<T = any, V extends Variables = Variables>(document: RequestDocument | TypedDocumentNode<T, V> | TypedDocumentString<T, V>, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>): Promise<T>\n  async request<T = any, V extends Variables = Variables>(options: RequestOptions<V, T>): Promise<T>\n  async request<T = any, V extends Variables = Variables>(\n    documentOrOptions:\n      | RequestDocument\n      | TypedDocumentNode<T, V>\n      | TypedDocumentString<T, V>\n      | RequestOptions<V>,\n    ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>\n  ): Promise<T> {\n    const [variables, requestHeaders] = variablesAndRequestHeaders\n    const requestOptions = parseRequestArgs(\n      documentOrOptions,\n      variables,\n      requestHeaders,\n    )\n\n    const {\n      headers,\n      fetch = globalThis.fetch,\n      method = `POST`,\n      requestMiddleware,\n      responseMiddleware,\n      excludeOperationName,\n      ...fetchOptions\n    } = this.requestConfig\n    const { url } = this\n    if (requestOptions.signal !== undefined) {\n      fetchOptions.signal = requestOptions.signal\n    }\n\n    const analyzedDocument = analyzeDocument(\n      requestOptions.document,\n      excludeOperationName,\n    )\n\n    const response = await runRequest({\n      url,\n      request: {\n        _tag: `Single`,\n        document: analyzedDocument,\n        variables: requestOptions.variables,\n      },\n      headers: {\n        ...HeadersInitToPlainObject(callOrIdentity(headers)),\n        ...HeadersInitToPlainObject(requestOptions.requestHeaders),\n      },\n      fetch,\n      method,\n      fetchOptions,\n      middleware: requestMiddleware,\n    })\n\n    if (responseMiddleware) {\n      await responseMiddleware(response, {\n        operationName: analyzedDocument.operationName,\n        variables: requestOptions.variables,\n        url: this.url,\n      })\n    }\n\n    if (response instanceof Error) {\n      throw response\n    }\n\n    return response.data\n  }\n\n  /**\n   * Send GraphQL documents in batch to the server.\n   */\n  async batchRequests<\n    $BatchResult extends BatchResult,\n    $Variables extends Variables = Variables,\n  >(\n    documents: BatchRequestDocument<$Variables>[],\n    requestHeaders?: HeadersInit,\n  ): Promise<$BatchResult>\n  async batchRequests<\n    $BatchResult extends BatchResult,\n    $Variables extends Variables = Variables,\n  >(options: BatchRequestsOptions<$Variables>): Promise<$BatchResult>\n  async batchRequests<\n    $BatchResult extends BatchResult,\n    $Variables extends Variables = Variables,\n  >(\n    documentsOrOptions:\n      | BatchRequestDocument<$Variables>[]\n      | BatchRequestsOptions<$Variables>,\n    requestHeaders?: HeadersInit,\n  ): Promise<$BatchResult> {\n    const batchRequestOptions = parseBatchRequestArgs<$Variables>(\n      documentsOrOptions,\n      requestHeaders,\n    )\n    const { headers, excludeOperationName, ...fetchOptions } = this.requestConfig\n\n    if (batchRequestOptions.signal !== undefined) {\n      fetchOptions.signal = batchRequestOptions.signal\n    }\n\n    const analyzedDocuments = batchRequestOptions.documents.map(\n      ({ document }) => analyzeDocument(document, excludeOperationName),\n    )\n    const expressions = analyzedDocuments.map(({ expression }) => expression)\n    const hasMutations = analyzedDocuments.some(({ isMutation }) => isMutation)\n    const variables = batchRequestOptions.documents.map(\n      ({ variables }) => variables,\n    )\n\n    const response = await runRequest({\n      url: this.url,\n      request: {\n        _tag: `Batch`,\n        operationName: undefined,\n        query: expressions,\n        hasMutations,\n        variables,\n      },\n      headers: {\n        ...HeadersInitToPlainObject(callOrIdentity(headers)),\n        ...HeadersInitToPlainObject(batchRequestOptions.requestHeaders),\n      },\n      fetch: this.requestConfig.fetch ?? globalThis.fetch,\n      method: this.requestConfig.method || `POST`,\n      fetchOptions,\n      middleware: this.requestConfig.requestMiddleware,\n    })\n\n    if (this.requestConfig.responseMiddleware) {\n      await this.requestConfig.responseMiddleware(response, {\n        operationName: undefined,\n        variables,\n        url: this.url,\n      })\n    }\n\n    if (response instanceof Error) {\n      throw response\n    }\n\n    return response.data\n  }\n\n  setHeaders(headers: HeadersInit): this {\n    this.requestConfig.headers = headers\n    return this\n  }\n\n  /**\n   * Attach a header to the client. All subsequent requests will have this header.\n   */\n  setHeader(key: string, value: string): this {\n    const { headers } = this.requestConfig\n\n    if (headers) {\n      // todo what if headers is in nested array form... ?\n      // @ts-expect-error todo\n      headers[key] = value\n    } else {\n      this.requestConfig.headers = { [key]: value }\n    }\n\n    return this\n  }\n\n  /**\n   * Change the client endpoint. All subsequent requests will send to this endpoint.\n   */\n  setEndpoint(value: string): this {\n    this.url = value\n    return this\n  }\n}\n\ninterface RawRequestMethod {\n  <T = any, V extends Variables = Variables>(\n    query: string,\n    variables?: V,\n    requestHeaders?: HeadersInit,\n  ): Promise<GraphQLClientResponse<T>>\n  <T, V extends Variables = Variables>(options: RawRequestOptions<V>): Promise<\n    GraphQLClientResponse<T>\n  >\n}\n\ntype RawRequestMethodArgs<V extends Variables> =\n  | [query: string, variables?: V, requestHeaders?: HeadersInit]\n  | [RawRequestOptions<V>]\n","import type { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport { GraphQLClient } from '../classes/GraphQLClient.js'\nimport type {\n  RequestDocument,\n  RequestOptions,\n  TypedDocumentString,\n  Variables,\n  VariablesAndRequestHeadersArgs,\n} from '../helpers/types.js'\n\n/**\n * Send a GraphQL Document to the GraphQL server for execution.\n *\n * @example\n *\n * ```ts\n * // You can pass a raw string\n *\n * await request('https://foo.bar/graphql', `\n *   {\n *     query {\n *       users\n *     }\n *   }\n * `)\n *\n * // You can also pass a GraphQL DocumentNode. Convenient if you\n * // are using graphql-tag package.\n *\n * import gql from 'graphql-tag'\n *\n * await request('https://foo.bar/graphql', gql`...`)\n *\n * // If you don't actually care about using DocumentNode but just\n * // want the tooling support for gql template tag like IDE syntax\n * // coloring and prettier autoformat then note you can use the\n * // passthrough gql tag shipped with graphql-request to save a bit\n * // of performance and not have to install another dep into your project.\n *\n * import { gql } from 'graphql-request'\n *\n * await request('https://foo.bar/graphql', gql`...`)\n * ```\n */\n// REMARKS: In order to have autocomplete for options work make it the first overload. If not\n// then autocomplete will instead show the various methods for a string, which is not what we want.\n\n// dprint-ignore\nexport async function request<T = any, V extends Variables = Variables>(options: RequestExtendedOptions<V, T>): Promise<T>\n// dprint-ignore\nexport async function request<T = any, V extends Variables = Variables>(url: string, document: RequestDocument | TypedDocumentNode<T, V> | TypedDocumentString<T, V>, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>): Promise<T>\n// dprint-ignore\n// eslint-disable-next-line\nexport async function request<T = any, V extends Variables = Variables>(urlOrOptions: string | RequestExtendedOptions<V, T>, document?: RequestDocument | TypedDocumentNode<T, V> | TypedDocumentString<T, V>, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>): Promise<T> {\n  const requestOptions = parseRequestExtendedArgs<V>(urlOrOptions, document, ...variablesAndRequestHeaders)\n  const client = new GraphQLClient(requestOptions.url)\n  return client.request<T, V>({\n    ...requestOptions,\n  })\n}\n\nexport const parseRequestArgs = <V extends Variables = Variables>(\n  documentOrOptions: RequestDocument | RequestOptions<V>,\n  variables?: V,\n  requestHeaders?: HeadersInit,\n): RequestOptions<V> => {\n  return (documentOrOptions as RequestOptions<V>).document\n    ? (documentOrOptions as RequestOptions<V>)\n    : ({\n      document: documentOrOptions as RequestDocument,\n      variables: variables,\n      requestHeaders: requestHeaders,\n      signal: undefined,\n    } as unknown as RequestOptions<V>)\n}\n\nexport type RequestExtendedOptions<V extends Variables = Variables, T = unknown> = {\n  url: string\n} & RequestOptions<V, T>\n\nexport const parseRequestExtendedArgs = <V extends Variables = Variables>(\n  urlOrOptions: string | RequestExtendedOptions<V>,\n  document?: RequestDocument,\n  ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>\n): RequestExtendedOptions<V> => {\n  const [variables, requestHeaders] = variablesAndRequestHeaders\n  return typeof urlOrOptions === `string`\n    ? ({\n      url: urlOrOptions,\n      document: document as RequestDocument,\n      variables,\n      requestHeaders,\n      signal: undefined,\n    } as unknown as RequestExtendedOptions<V>)\n    : urlOrOptions\n}\n","/**\n * Convenience passthrough template tag to get the benefits of tooling for the gql template tag. This does not actually parse the input into a GraphQL DocumentNode like graphql-tag package does. It just returns the string with any variables given interpolated. Can save you a bit of performance and having to install another package.\n *\n * @example\n * ```\n * import { gql } from 'graphql-request'\n *\n * await request('https://foo.bar/graphql', gql`...`)\n * ```\n *\n * @remarks\n *\n * Several tools in the Node GraphQL ecosystem are hardcoded to specially treat any template tag named \"gql\". For example see this prettier issue: https://github.com/prettier/prettier/issues/4360. Using this template tag has no runtime effect beyond variable interpolation.\n */\nexport const gql = (chunks: TemplateStringsArray, ...variables: unknown[]): string => {\n  return chunks.reduce(\n    (acc, chunk, index) => `${acc}${chunk}${index in variables ? String(variables[index]) : ``}`,\n    ``,\n  )\n}\n","import { ClientError } from '../legacy/classes/ClientError.js'\nimport {\n  type BatchRequestDocument,\n  type BatchRequestsExtendedOptions,\n  type BatchRequestsOptions,\n} from '../legacy/functions/batchRequests.js'\nimport type { RequestExtendedOptions } from '../legacy/functions/request.js'\nimport { request } from '../legacy/functions/request.js'\nimport type { GraphQLResponse, RequestMiddleware, ResponseMiddleware } from '../legacy/helpers/types.js'\nimport type {\n  RawRequestOptions,\n  RequestDocument,\n  RequestOptions,\n  TypedDocumentString,\n  Variables,\n} from '../legacy/helpers/types.js'\nexport { GraphQLClient } from '../legacy/classes/GraphQLClient.js'\nexport { batchRequests } from '../legacy/functions/batchRequests.js'\nexport { gql } from '../legacy/functions/gql.js'\nexport { rawRequest } from '../legacy/functions/rawRequest.js'\nexport { analyzeDocument } from '../legacy/helpers/analyzeDocument.js'\nexport {\n  BatchRequestDocument,\n  BatchRequestsExtendedOptions,\n  BatchRequestsOptions,\n  ClientError,\n  GraphQLResponse,\n  type RawRequestOptions,\n  request,\n  type RequestDocument,\n  type RequestExtendedOptions,\n  RequestMiddleware,\n  type RequestOptions,\n  ResponseMiddleware,\n  type TypedDocumentString,\n  type Variables,\n}\nexport default request\n\nexport { RequestInitExtended } from '../legacy/helpers/types.js'\n"]}