UNPKG

1.62 kBJavaScriptView Raw
1export function generateQueryVariablesSignature(hasRequiredVariables, operationVariablesTypes) {
2 return `variables${hasRequiredVariables ? '' : '?'}: ${operationVariablesTypes}`;
3}
4export function generateInfiniteQueryKey(node, hasRequiredVariables) {
5 if (hasRequiredVariables)
6 return `['${node.name.value}.infinite', variables]`;
7 return `variables === undefined ? ['${node.name.value}.infinite'] : ['${node.name.value}.infinite', variables]`;
8}
9export function generateInfiniteQueryKeyMaker(node, operationName, operationVariablesTypes, hasRequiredVariables) {
10 const signature = generateQueryVariablesSignature(hasRequiredVariables, operationVariablesTypes);
11 return `\nuseInfinite${operationName}.getKey = (${signature}) => ${generateInfiniteQueryKey(node, hasRequiredVariables)};\n`;
12}
13export function generateQueryKey(node, hasRequiredVariables) {
14 if (hasRequiredVariables)
15 return `['${node.name.value}', variables]`;
16 return `variables === undefined ? ['${node.name.value}'] : ['${node.name.value}', variables]`;
17}
18export function generateQueryKeyMaker(node, operationName, operationVariablesTypes, hasRequiredVariables) {
19 const signature = generateQueryVariablesSignature(hasRequiredVariables, operationVariablesTypes);
20 return `\nuse${operationName}.getKey = (${signature}) => ${generateQueryKey(node, hasRequiredVariables)};\n`;
21}
22export function generateMutationKey(node) {
23 return `['${node.name.value}']`;
24}
25export function generateMutationKeyMaker(node, operationName) {
26 return `\nuse${operationName}.getKey = () => ${generateMutationKey(node)};\n`;
27}