@incubrain/client
Version:
A type-safe GraphQL client for Hasura, optimized for Node.js and Nuxt environments with full TypeScript support.
21 lines (20 loc) • 839 B
TypeScript
import { Client } from "urql";
import type { ClientConfig, ClientPlugin } from "./types.js";
import type { DocumentNode } from "graphql";
import type { Logger } from "@incubrain/logger";
interface Operation {
key: string;
document: DocumentNode;
}
export declare class BaseClient {
protected client: Client;
protected plugins: ClientPlugin[];
protected logger?: Logger;
constructor(config: ClientConfig);
private initializeDefaultPlugins;
private initializePlugins;
protected executeQuery<T>(operation: Operation, variables?: Record<string, any>): Promise<T>;
query<TData = any, TVariables = any>(query: string | DocumentNode, variables?: TVariables): Promise<TData>;
mutation<TData = any, TVariables = any>(mutation: string | DocumentNode, variables?: TVariables): Promise<TData>;
}
export {};