@@ -16,7 +16,7 @@ export interface GraphQLRequestPluginConfig extends ClientSideBasePluginConfig {
16
16
}
17
17
18
18
const additionalExportedTypes = `
19
- export type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string) => Promise<T>;
19
+ export type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string ) => Promise<T>;
20
20
` ;
21
21
22
22
export class GraphQLRequestVisitor extends ClientSideBaseVisitor <
@@ -96,6 +96,7 @@ export class GraphQLRequestVisitor extends ClientSideBaseVisitor<
96
96
const extraVariables : string [ ] = [ ] ;
97
97
const allPossibleActions = this . _operationsToInclude
98
98
. map ( o => {
99
+ const operationType = o . node . operation ;
99
100
const operationName = o . node . name . value ;
100
101
const optionalVariables =
101
102
! o . node . variableDefinitions ||
@@ -118,15 +119,15 @@ export class GraphQLRequestVisitor extends ClientSideBaseVisitor<
118
119
} ; headers: Dom.Headers; status: number; errors?: GraphQLError[] | undefined; }> {
119
120
return withWrapper((wrappedRequestHeaders) => client.rawRequest<${
120
121
o . operationResultType
121
- } >(${ docArg } , variables, {...requestHeaders, ...wrappedRequestHeaders}), '${ operationName } ');
122
+ } >(${ docArg } , variables, {...requestHeaders, ...wrappedRequestHeaders}), '${ operationName } ', ' ${ operationType } ' );
122
123
}` ;
123
124
} else {
124
125
return `${ operationName } (variables${ optionalVariables ? '?' : '' } : ${
125
126
o . operationVariablesTypes
126
127
} , requestHeaders?: Dom.RequestInit["headers"]): Promise<${ o . operationResultType } > {
127
128
return withWrapper((wrappedRequestHeaders) => client.request<${
128
129
o . operationResultType
129
- } >(${ docVarName } , variables, {...requestHeaders, ...wrappedRequestHeaders}), '${ operationName } ');
130
+ } >(${ docVarName } , variables, {...requestHeaders, ...wrappedRequestHeaders}), '${ operationName } ', ' ${ operationType } ' );
130
131
}` ;
131
132
}
132
133
} )
@@ -135,7 +136,7 @@ export class GraphQLRequestVisitor extends ClientSideBaseVisitor<
135
136
136
137
return `${ additionalExportedTypes }
137
138
138
- const defaultWrapper: SdkFunctionWrapper = (action, _operationName) => action();
139
+ const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType ) => action();
139
140
${ extraVariables . join ( '\n' ) }
140
141
export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {
141
142
return {
0 commit comments