@sterblue/sterblue-sdk
Version:
Sterblue Graph SDK for graphile.sterblue.com
32 lines (31 loc) • 1.08 kB
TypeScript
import { GraphQLClient } from "graphql-request";
import { DocumentNode } from "graphql";
export declare type ExposedGraphqlRequestSdk<Sdk, Client extends GraphQLClient> = Sdk & {
request: Client["request"];
rawRequest: Client["rawRequest"];
query: <Result, Variables>(arg: {
query: DocumentNode;
variables?: {
[key: string]: Variables;
};
}) => Promise<Result>;
mutate: <Result, Variables>(arg: {
query: DocumentNode;
variables?: {
[key: string]: Variables;
};
}) => Promise<Result>;
stream: <Result, Variables>(arg: {
query: DocumentNode;
variables?: {
[key: string]: Variables;
};
}) => Promise<AsyncIterableIterator<Result>>;
client: Client;
};
/**
* Logic used to expose GraphqlRequest functions in the Sdk
*
* @param client apollo client object that will be exposed in the sdk
*/
export declare const exposeGraphqlRequest: <Sdk, Client extends GraphQLClient>(sdk: Sdk, client: Client) => ExposedGraphqlRequestSdk<Sdk, Client>;