Skip to content

Commit 34cdb37

Browse files
axe-mean-upfeatsaihaj
authored
feat: [graphql-request] pass variables to wrapper function (#512)
* feat: [graphql-request] pass variables to wrapper function * Create rude-cameras-whisper.md --------- Co-authored-by: An Xie <[email protected]> Co-authored-by: Saihajpreet Singh <[email protected]>
1 parent d4700e1 commit 34cdb37

4 files changed

Lines changed: 73 additions & 68 deletions

File tree

.changeset/rude-cameras-whisper.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@graphql-codegen/typescript-graphql-request": patch
3+
---
4+
5+
pass variables to wrapper function

packages/plugins/typescript/graphql-request/src/visitor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export interface GraphQLRequestPluginConfig extends ClientSideBasePluginConfig {
1616
}
1717

1818
const additionalExportedTypes = `
19-
export type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string) => Promise<T>;
19+
export type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string, variables?: any) => Promise<T>;
2020
`;
2121

2222
export class GraphQLRequestVisitor extends ClientSideBaseVisitor<
@@ -138,23 +138,23 @@ export class GraphQLRequestVisitor extends ClientSideBaseVisitor<
138138
}; headers: Headers; status: number; }> {
139139
return withWrapper((wrappedRequestHeaders) => client.rawRequest<${
140140
o.operationResultType
141-
}>(${docArg}, variables, {...requestHeaders, ...wrappedRequestHeaders}), '${operationName}', '${operationType}');
141+
}>(${docArg}, variables, {...requestHeaders, ...wrappedRequestHeaders}), '${operationName}', '${operationType}', variables);
142142
}`;
143143
}
144144
return `${operationName}(variables${optionalVariables ? '?' : ''}: ${
145145
o.operationVariablesTypes
146146
}, requestHeaders?: GraphQLClientRequestHeaders): Promise<${o.operationResultType}> {
147147
return withWrapper((wrappedRequestHeaders) => client.request<${
148148
o.operationResultType
149-
}>(${docVarName}, variables, {...requestHeaders, ...wrappedRequestHeaders}), '${operationName}', '${operationType}');
149+
}>(${docVarName}, variables, {...requestHeaders, ...wrappedRequestHeaders}), '${operationName}', '${operationType}', variables);
150150
}`;
151151
})
152152
.filter(Boolean)
153153
.map(s => indentMultiline(s, 2));
154154

155155
return `${additionalExportedTypes}
156156
157-
const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType) => action();
157+
const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, variables) => action();
158158
${extraVariables.join('\n')}
159159
export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {
160160
return {

0 commit comments

Comments
 (0)