UNPKG

@vtex/api

Version:
29 lines (28 loc) 1.15 kB
import { GraphQLError } from 'graphql'; import { HttpClient } from './HttpClient'; import { RequestConfig } from './typings'; interface QueryOptions<Variables extends object> { query: string; variables: Variables; inflight?: boolean; throwOnError?: boolean; extensions?: Record<string, any>; } interface MutateOptions<Variables extends object> { mutate: string; variables: Variables; throwOnError?: boolean; } export type Serializable = object | boolean | string | number; export interface GraphQLResponse<T extends Serializable> { data?: T; errors?: GraphQLError[]; extensions?: Record<string, any>; } export declare class GraphQLClient { private http; constructor(http: HttpClient); query: <Data extends Serializable, Variables extends object>({ query, variables, inflight, extensions, throwOnError }: QueryOptions<Variables>, config?: RequestConfig) => Promise<GraphQLResponse<Data>>; mutate: <Data extends Serializable, Variables extends object>({ mutate, variables, throwOnError }: MutateOptions<Variables>, config?: RequestConfig) => Promise<GraphQLResponse<Data>>; } export {};