@forge/cli-shared
9.7.0-next.14-experimental-fd0ebbc9.7.0-next.16
out/graphql/graphql-client.d.ts~
out/graphql/graphql-client.d.tsModified+8−5
Index: package/out/graphql/graphql-client.d.ts
===================================================================
--- package/out/graphql/graphql-client.d.ts
+++ package/out/graphql/graphql-client.d.ts
@@ -1,7 +1,9 @@
-import { TypedDocumentString, Variables } from 'graphql-request';
-export { TypedDocumentString, Variables };
-export type DocumentVariables<TDocument> = TDocument extends TypedDocumentString<unknown, infer TVariables> ? TVariables : never;
+import { Variables } from 'graphql-request';
+import { Mutation, Query } from './graphql-types';
+export { Variables };
+export type AvailableMutations = Omit<Mutation, '__typename'>;
+export type AvailableQueries = Omit<Query, '__typename'>;
export interface GatewayRequestIdGraphQLExtensions {
gateway?: {
request_id: string;
};
@@ -10,13 +12,14 @@
response: TResponse;
requestId?: string;
extensions?: TExtensions;
}
+export type MutationResult<TLabel extends keyof AvailableMutations> = Record<TLabel, NonNullable<Required<AvailableMutations>[TLabel]>>;
export interface GraphQLClient {
- query<TResult, TVariables extends Variables>(document: TypedDocumentString<TResult, TVariables>, variables: NoInfer<TVariables>): Promise<TResult & {
+ query<TLabel extends keyof AvailableQueries, TVariables extends Variables, TExtensions = GatewayRequestIdGraphQLExtensions>(query: string, variables: TVariables): Promise<Record<TLabel, AvailableQueries[TLabel]> & {
requestId: string;
}>;
- mutate<TResult, TVariables extends Variables, TExtensions = GatewayRequestIdGraphQLExtensions>(document: TypedDocumentString<TResult, TVariables>, variables: NoInfer<TVariables>): Promise<RunnerResponse<TResult, TExtensions>>;
+ mutate<TLabel extends keyof AvailableMutations, TVariables extends Variables, TExtensions = GatewayRequestIdGraphQLExtensions>(query: string, variables: TVariables): Promise<RunnerResponse<MutationResult<TLabel>, TExtensions>>;
}
export interface GraphQLRunner {
run<TVariables extends Variables, TResponse, TExtensions = GatewayRequestIdGraphQLExtensions>(operation: string, variables: TVariables): Promise<RunnerResponse<TResponse, TExtensions>>;
}