import type { BatchRequestDocument, BatchRequestsOptions, GraphQLClientRequestHeaders, RawRequestExtendedOptions, RawRequestOptions, RequestDocument, RequestExtendedOptions, RequestOptions, Variables, VariablesAndRequestHeadersArgs, } from './types.js' export const parseRequestArgs = ( documentOrOptions: RequestDocument | RequestOptions, variables?: V, requestHeaders?: GraphQLClientRequestHeaders ): RequestOptions => { return (documentOrOptions as RequestOptions).document ? (documentOrOptions as RequestOptions) : ({ document: documentOrOptions as RequestDocument, variables: variables, requestHeaders: requestHeaders, signal: undefined, } as unknown as RequestOptions) } export const parseRawRequestArgs = ( queryOrOptions: string | RawRequestOptions, variables?: V, requestHeaders?: GraphQLClientRequestHeaders ): RawRequestOptions => { return (queryOrOptions as RawRequestOptions).query ? (queryOrOptions as RawRequestOptions) : ({ query: queryOrOptions as string, variables: variables, requestHeaders: requestHeaders, signal: undefined, } as unknown as RawRequestOptions) } export const parseBatchRequestArgs = ( documentsOrOptions: BatchRequestDocument[] | BatchRequestsOptions, requestHeaders?: GraphQLClientRequestHeaders ): BatchRequestsOptions => { return (documentsOrOptions as BatchRequestsOptions).documents ? (documentsOrOptions as BatchRequestsOptions) : { documents: documentsOrOptions as BatchRequestDocument[], requestHeaders: requestHeaders, signal: undefined, } } export const parseRequestExtendedArgs = ( urlOrOptions: string | RequestExtendedOptions, document?: RequestDocument, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs ): RequestExtendedOptions => { const [variables, requestHeaders] = variablesAndRequestHeaders return (urlOrOptions as RequestExtendedOptions).document ? (urlOrOptions as RequestExtendedOptions) : ({ url: urlOrOptions as string, document: document as RequestDocument, variables, requestHeaders, signal: undefined, } as unknown as RequestExtendedOptions) } export const parseRawRequestExtendedArgs = ( urlOrOptions: string | RawRequestExtendedOptions, query?: string, ...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs ): RawRequestExtendedOptions => { const [variables, requestHeaders] = variablesAndRequestHeaders return (urlOrOptions as RawRequestExtendedOptions).query ? (urlOrOptions as RawRequestExtendedOptions) : ({ url: urlOrOptions as string, query: query as string, variables, requestHeaders, signal: undefined, } as unknown as RawRequestExtendedOptions) }