@kubb/plugin-react-query 5.0.0-beta.15 → 5.0.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components-BZ3a2O0G.cjs → components-C1_zAoAO.cjs} +65 -84
- package/dist/components-C1_zAoAO.cjs.map +1 -0
- package/dist/{components-DJqIUiZW.js → components-C91DnOOV.js} +65 -84
- package/dist/components-C91DnOOV.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +1 -1
- package/dist/{generators-BQ_vEksc.js → generators-9srJC_zb.js} +115 -75
- package/dist/generators-9srJC_zb.js.map +1 -0
- package/dist/{generators-DSjer1xY.cjs → generators-DS3JH1hR.cjs} +115 -75
- package/dist/generators-DS3JH1hR.cjs.map +1 -0
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.ts +41 -1
- package/dist/generators.js +1 -1
- package/dist/index.cjs +51 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.js +51 -11
- package/dist/index.js.map +1 -1
- package/dist/{types-DG_OxOym.d.ts → types-DiZPLTXl.d.ts} +92 -55
- package/extension.yaml +904 -325
- package/package.json +7 -7
- package/src/components/InfiniteQuery.tsx +4 -4
- package/src/components/InfiniteQueryOptions.tsx +21 -31
- package/src/components/Mutation.tsx +2 -2
- package/src/components/MutationOptions.tsx +1 -1
- package/src/components/Query.tsx +1 -1
- package/src/components/QueryOptions.tsx +1 -1
- package/src/components/SuspenseInfiniteQuery.tsx +4 -4
- package/src/components/SuspenseInfiniteQueryOptions.tsx +21 -31
- package/src/components/SuspenseQuery.tsx +1 -1
- package/src/generators/customHookOptionsFileGenerator.tsx +7 -1
- package/src/generators/hookOptionsGenerator.tsx +17 -11
- package/src/generators/infiniteQueryGenerator.tsx +22 -13
- package/src/generators/mutationGenerator.tsx +20 -12
- package/src/generators/queryGenerator.tsx +20 -12
- package/src/generators/suspenseInfiniteQueryGenerator.tsx +22 -13
- package/src/generators/suspenseQueryGenerator.tsx +21 -12
- package/src/plugin.ts +34 -5
- package/src/resolvers/resolverReactQuery.ts +15 -4
- package/src/types.ts +89 -52
- package/dist/components-BZ3a2O0G.cjs.map +0 -1
- package/dist/components-DJqIUiZW.js.map +0 -1
- package/dist/generators-BQ_vEksc.js.map +0 -1
- package/dist/generators-DSjer1xY.cjs.map +0 -1
|
@@ -228,12 +228,12 @@ var URLPath = class {
|
|
|
228
228
|
get object() {
|
|
229
229
|
return this.toObject();
|
|
230
230
|
}
|
|
231
|
-
/** Returns a map of path parameter names, or `
|
|
231
|
+
/** Returns a map of path parameter names, or `null` when the path has no parameters.
|
|
232
232
|
*
|
|
233
233
|
* @example
|
|
234
234
|
* ```ts
|
|
235
235
|
* new URLPath('/pet/{petId}').params // { petId: 'petId' }
|
|
236
|
-
* new URLPath('/pet').params //
|
|
236
|
+
* new URLPath('/pet').params // null
|
|
237
237
|
* ```
|
|
238
238
|
*/
|
|
239
239
|
get params() {
|
|
@@ -271,12 +271,13 @@ var URLPath = class {
|
|
|
271
271
|
* @example
|
|
272
272
|
* new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
|
|
273
273
|
*/
|
|
274
|
-
toTemplateString({ prefix
|
|
275
|
-
|
|
274
|
+
toTemplateString({ prefix, replacer } = {}) {
|
|
275
|
+
const result = this.path.split(/\{([^}]+)\}/).map((part, i) => {
|
|
276
276
|
if (i % 2 === 0) return part;
|
|
277
277
|
const param = this.#transformParam(part);
|
|
278
278
|
return `\${${replacer ? replacer(param) : param}}`;
|
|
279
|
-
}).join("")
|
|
279
|
+
}).join("");
|
|
280
|
+
return `\`${prefix ?? ""}${result}\``;
|
|
280
281
|
}
|
|
281
282
|
/**
|
|
282
283
|
* Extracts all `{param}` segments from the path and returns them as a key-value map.
|
|
@@ -295,7 +296,7 @@ var URLPath = class {
|
|
|
295
296
|
const key = replacer ? replacer(param) : param;
|
|
296
297
|
params[key] = key;
|
|
297
298
|
});
|
|
298
|
-
return Object.keys(params).length > 0 ? params :
|
|
299
|
+
return Object.keys(params).length > 0 ? params : null;
|
|
299
300
|
}
|
|
300
301
|
/** Converts the OpenAPI path to Express-style colon syntax.
|
|
301
302
|
*
|
|
@@ -314,10 +315,10 @@ const declarationPrinter$10 = functionPrinter({ mode: "declaration" });
|
|
|
314
315
|
const mutationKeyTransformer = ({ node, casing }) => {
|
|
315
316
|
return [`{ url: '${new URLPath(node.path, { casing }).toURLPath()}' }`];
|
|
316
317
|
};
|
|
317
|
-
function MutationKey({ name, paramsCasing, node, transformer
|
|
318
|
+
function MutationKey({ name, paramsCasing, node, transformer }) {
|
|
318
319
|
const paramsNode = ast.createFunctionParameters({ params: [] });
|
|
319
320
|
const paramsSignature = declarationPrinter$10.print(paramsNode) ?? "";
|
|
320
|
-
const keys = transformer({
|
|
321
|
+
const keys = (transformer ?? mutationKeyTransformer)({
|
|
321
322
|
node,
|
|
322
323
|
casing: paramsCasing
|
|
323
324
|
});
|
|
@@ -337,9 +338,9 @@ function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransf
|
|
|
337
338
|
//#endregion
|
|
338
339
|
//#region ../../internals/shared/src/operation.ts
|
|
339
340
|
function getOperationLink(node, link) {
|
|
340
|
-
if (!link) return;
|
|
341
|
-
if (typeof link === "function") return link(node);
|
|
342
|
-
if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` :
|
|
341
|
+
if (!link) return null;
|
|
342
|
+
if (typeof link === "function") return link(node) ?? null;
|
|
343
|
+
if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : null;
|
|
343
344
|
return `{@link ${node.path.replaceAll("{", ":").replaceAll("}", "")}}`;
|
|
344
345
|
}
|
|
345
346
|
function getContentTypeInfo(node) {
|
|
@@ -354,9 +355,9 @@ function getContentTypeInfo(node) {
|
|
|
354
355
|
};
|
|
355
356
|
}
|
|
356
357
|
function buildRequestConfigType(node, resolver) {
|
|
357
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
358
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
358
359
|
const { isMultipleContentTypes, contentTypeUnion } = getContentTypeInfo(node);
|
|
359
|
-
return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` :
|
|
360
|
+
return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : null].filter(Boolean).join("; ")} }`;
|
|
360
361
|
}
|
|
361
362
|
function buildOperationComments(node, options = {}) {
|
|
362
363
|
const { link = "pathTemplate", linkPosition = "afterDeprecated", splitLines = false } = options;
|
|
@@ -386,11 +387,11 @@ function getOperationParameters(node, options = {}) {
|
|
|
386
387
|
}
|
|
387
388
|
function getStatusCodeNumber(statusCode) {
|
|
388
389
|
const code = Number(statusCode);
|
|
389
|
-
return Number.isNaN(code) ?
|
|
390
|
+
return Number.isNaN(code) ? null : code;
|
|
390
391
|
}
|
|
391
392
|
function isErrorStatusCode(statusCode) {
|
|
392
393
|
const code = getStatusCodeNumber(statusCode);
|
|
393
|
-
return code !==
|
|
394
|
+
return code !== null && code >= 400;
|
|
394
395
|
}
|
|
395
396
|
function resolveErrorNames(node, resolver) {
|
|
396
397
|
return node.responses.filter((response) => isErrorStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
|
|
@@ -417,7 +418,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
417
418
|
...query.map((param) => resolver.resolveQueryParamsName(node, param)),
|
|
418
419
|
...header.map((param) => resolver.resolveHeaderParamsName(node, param))
|
|
419
420
|
];
|
|
420
|
-
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
421
|
+
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null, resolver.resolveResponseName(node)];
|
|
421
422
|
const result = (options.order === "body-response-first" ? [
|
|
422
423
|
...bodyAndResponseNames,
|
|
423
424
|
...paramNames,
|
|
@@ -461,7 +462,7 @@ function resolveOperationOverrides(node, override) {
|
|
|
461
462
|
*/
|
|
462
463
|
function resolveZodSchemaNames(node, zodResolver) {
|
|
463
464
|
if (!zodResolver) return [];
|
|
464
|
-
return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) :
|
|
465
|
+
return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : null].filter((n) => Boolean(n));
|
|
465
466
|
}
|
|
466
467
|
/**
|
|
467
468
|
* Resolve the type for a single path parameter.
|
|
@@ -485,14 +486,14 @@ function resolvePathParamType(node, param, resolver) {
|
|
|
485
486
|
}
|
|
486
487
|
/**
|
|
487
488
|
* Derive a query-params group type from the resolver.
|
|
488
|
-
* Returns `
|
|
489
|
+
* Returns `null` when no query params exist or when the group name
|
|
489
490
|
* equals the individual param name (no real group).
|
|
490
491
|
*/
|
|
491
492
|
function resolveQueryGroupType(node, params, resolver) {
|
|
492
|
-
if (!params.length) return
|
|
493
|
+
if (!params.length) return null;
|
|
493
494
|
const firstParam = params[0];
|
|
494
495
|
const groupName = resolver.resolveQueryParamsName(node, firstParam);
|
|
495
|
-
if (groupName === resolver.resolveParamName(node, firstParam)) return
|
|
496
|
+
if (groupName === resolver.resolveParamName(node, firstParam)) return null;
|
|
496
497
|
return {
|
|
497
498
|
type: ast.createParamsType({
|
|
498
499
|
variant: "reference",
|
|
@@ -542,7 +543,7 @@ function buildQueryKeyParams(node, options) {
|
|
|
542
543
|
const bodyType = node.requestBody?.content?.[0]?.schema ? ast.createParamsType({
|
|
543
544
|
variant: "reference",
|
|
544
545
|
name: resolver.resolveDataName(node)
|
|
545
|
-
}) :
|
|
546
|
+
}) : null;
|
|
546
547
|
const bodyRequired = node.requestBody?.required ?? false;
|
|
547
548
|
const params = [];
|
|
548
549
|
if (pathParams.length) {
|
|
@@ -589,18 +590,18 @@ const queryKeyTransformer = ({ node, casing }) => {
|
|
|
589
590
|
type: "path",
|
|
590
591
|
stringify: true
|
|
591
592
|
}),
|
|
592
|
-
hasQueryParams ? "...(params ? [params] : [])" :
|
|
593
|
-
hasRequestBody ? "...(data ? [data] : [])" :
|
|
593
|
+
hasQueryParams ? "...(params ? [params] : [])" : null,
|
|
594
|
+
hasRequestBody ? "...(data ? [data] : [])" : null
|
|
594
595
|
].filter(Boolean);
|
|
595
596
|
};
|
|
596
|
-
function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer
|
|
597
|
+
function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer }) {
|
|
597
598
|
const paramsNode = buildQueryKeyParams(node, {
|
|
598
599
|
pathParamsType,
|
|
599
600
|
paramsCasing,
|
|
600
601
|
resolver: tsResolver
|
|
601
602
|
});
|
|
602
603
|
const paramsSignature = declarationPrinter$9.print(paramsNode) ?? "";
|
|
603
|
-
const keys = transformer({
|
|
604
|
+
const keys = (transformer ?? queryKeyTransformer)({
|
|
604
605
|
node,
|
|
605
606
|
casing: paramsCasing
|
|
606
607
|
});
|
|
@@ -630,7 +631,7 @@ const declarationPrinter$8 = functionPrinter({ mode: "declaration" });
|
|
|
630
631
|
const callPrinter$8 = functionPrinter({ mode: "call" });
|
|
631
632
|
function getQueryOptionsParams(node, options) {
|
|
632
633
|
const { paramsType, paramsCasing, pathParamsType, resolver } = options;
|
|
633
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
634
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
634
635
|
return ast.createOperationParams(node, {
|
|
635
636
|
paramsType,
|
|
636
637
|
pathParamsType: paramsType === "object" ? "object" : pathParamsType === "object" ? "object" : "inline",
|
|
@@ -694,7 +695,7 @@ const declarationPrinter$7 = functionPrinter({ mode: "declaration" });
|
|
|
694
695
|
const callPrinter$7 = functionPrinter({ mode: "call" });
|
|
695
696
|
function buildInfiniteQueryParamsNode(node, options) {
|
|
696
697
|
const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
|
|
697
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
698
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
698
699
|
const optionsParam = ast.createFunctionParameter({
|
|
699
700
|
name: "options",
|
|
700
701
|
type: ast.createParamsType({
|
|
@@ -727,9 +728,9 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
727
728
|
const rawQueryParams = getOperationParameters(node).query;
|
|
728
729
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
729
730
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
730
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
731
|
-
})() :
|
|
732
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
731
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
732
|
+
})() : null;
|
|
733
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
733
734
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
734
735
|
const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
|
|
735
736
|
const generics = [
|
|
@@ -808,9 +809,9 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
|
|
|
808
809
|
const rawQueryParams = getOperationParameters(node).query;
|
|
809
810
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
810
811
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
811
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
812
|
-
})() :
|
|
813
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
812
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
813
|
+
})() : null;
|
|
814
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
814
815
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
815
816
|
const paramsNode = getQueryOptionsParams(node, {
|
|
816
817
|
paramsType,
|
|
@@ -828,26 +829,16 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
|
|
|
828
829
|
const queryKeyParamsCall = callPrinter$6.print(queryKeyParamsNode) ?? "";
|
|
829
830
|
const enabledSource = buildEnabledCheck(queryKeyParamsNode);
|
|
830
831
|
const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
|
|
831
|
-
const hasNewParams = nextParam
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
|
|
832
|
+
const hasNewParams = nextParam != null || previousParam != null;
|
|
833
|
+
const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
|
|
834
|
+
if (hasNewParams) {
|
|
835
|
+
const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
|
|
836
|
+
const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
|
|
837
|
+
return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
|
|
838
838
|
}
|
|
839
|
-
if (
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
}
|
|
843
|
-
} else if (cursorParam) {
|
|
844
|
-
getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
|
|
845
|
-
getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
|
|
846
|
-
} else {
|
|
847
|
-
if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
|
|
848
|
-
else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
|
|
849
|
-
getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
|
|
850
|
-
}
|
|
839
|
+
if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
|
|
840
|
+
return [dataReturnType === "full" ? "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1" : "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1", "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1"];
|
|
841
|
+
})();
|
|
851
842
|
const queryOptionsArr = [
|
|
852
843
|
`initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
|
|
853
844
|
getNextPageParamExpr,
|
|
@@ -959,7 +950,7 @@ function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, p
|
|
|
959
950
|
generics: ["TContext = unknown"],
|
|
960
951
|
children: `
|
|
961
952
|
const mutationKey = ${mutationKeyName}()
|
|
962
|
-
return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "
|
|
953
|
+
return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "undefined"}, TContext>({
|
|
963
954
|
mutationKey,
|
|
964
955
|
mutationFn: async(${hasMutationParams ? `{ ${argKeysStr} }` : "_"}) => {
|
|
965
956
|
return ${clientName}(${clientCallStr})
|
|
@@ -995,7 +986,7 @@ function buildMutationParamsNode(node, options) {
|
|
|
995
986
|
const generics = [
|
|
996
987
|
TData,
|
|
997
988
|
TError,
|
|
998
|
-
TRequest ? `{${TRequest}}` : "
|
|
989
|
+
TRequest ? `{${TRequest}}` : "undefined",
|
|
999
990
|
"TContext"
|
|
1000
991
|
].join(", ");
|
|
1001
992
|
return ast.createFunctionParameters({ params: [ast.createFunctionParameter({
|
|
@@ -1023,7 +1014,7 @@ function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, nod
|
|
|
1023
1014
|
const generics = [
|
|
1024
1015
|
TData,
|
|
1025
1016
|
TError,
|
|
1026
|
-
TRequest ? `{${TRequest}}` : "
|
|
1017
|
+
TRequest ? `{${TRequest}}` : "undefined",
|
|
1027
1018
|
"TContext"
|
|
1028
1019
|
].join(", ");
|
|
1029
1020
|
const returnType = `UseMutationResult<${generics}>`;
|
|
@@ -1069,7 +1060,7 @@ const callPrinter$3 = functionPrinter({ mode: "call" });
|
|
|
1069
1060
|
function buildQueryParamsNode(node, options) {
|
|
1070
1061
|
const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
|
|
1071
1062
|
const responseName = resolver.resolveResponseName(node);
|
|
1072
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1063
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1073
1064
|
const errorNames = resolveErrorNames(node, resolver);
|
|
1074
1065
|
const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
|
|
1075
1066
|
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
@@ -1165,7 +1156,7 @@ const declarationPrinter$2 = functionPrinter({ mode: "declaration" });
|
|
|
1165
1156
|
const callPrinter$2 = functionPrinter({ mode: "call" });
|
|
1166
1157
|
function buildSuspenseInfiniteQueryParamsNode(node, options) {
|
|
1167
1158
|
const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
|
|
1168
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1159
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1169
1160
|
const optionsParam = ast.createFunctionParameter({
|
|
1170
1161
|
name: "options",
|
|
1171
1162
|
type: ast.createParamsType({
|
|
@@ -1198,9 +1189,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
|
|
|
1198
1189
|
const rawQueryParams = getOperationParameters(node).query;
|
|
1199
1190
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
1200
1191
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
1201
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
1202
|
-
})() :
|
|
1203
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
1192
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
1193
|
+
})() : null;
|
|
1194
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
1204
1195
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
1205
1196
|
const returnType = "UseSuspenseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
|
|
1206
1197
|
const generics = [
|
|
@@ -1279,9 +1270,9 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
|
|
|
1279
1270
|
const rawQueryParams = getOperationParameters(node).query;
|
|
1280
1271
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
1281
1272
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
1282
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
1283
|
-
})() :
|
|
1284
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
1273
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
1274
|
+
})() : null;
|
|
1275
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
1285
1276
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
1286
1277
|
const paramsNode = getQueryOptionsParams(node, {
|
|
1287
1278
|
paramsType,
|
|
@@ -1299,26 +1290,16 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
|
|
|
1299
1290
|
const queryKeyParamsCall = callPrinter$1.print(queryKeyParamsNode) ?? "";
|
|
1300
1291
|
const enabledSource = buildEnabledCheck(queryKeyParamsNode);
|
|
1301
1292
|
const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
|
|
1302
|
-
const hasNewParams = nextParam
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
|
|
1293
|
+
const hasNewParams = nextParam != null || previousParam != null;
|
|
1294
|
+
const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
|
|
1295
|
+
if (hasNewParams) {
|
|
1296
|
+
const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
|
|
1297
|
+
const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
|
|
1298
|
+
return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
|
|
1309
1299
|
}
|
|
1310
|
-
if (
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
}
|
|
1314
|
-
} else if (cursorParam) {
|
|
1315
|
-
getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
|
|
1316
|
-
getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
|
|
1317
|
-
} else {
|
|
1318
|
-
if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
|
|
1319
|
-
else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
|
|
1320
|
-
getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
|
|
1321
|
-
}
|
|
1300
|
+
if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
|
|
1301
|
+
return [dataReturnType === "full" ? "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1" : "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1", "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1"];
|
|
1302
|
+
})();
|
|
1322
1303
|
const queryOptionsArr = [
|
|
1323
1304
|
`initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
|
|
1324
1305
|
getNextPageParamExpr,
|
|
@@ -1380,7 +1361,7 @@ const callPrinter = functionPrinter({ mode: "call" });
|
|
|
1380
1361
|
function buildSuspenseQueryParamsNode(node, options) {
|
|
1381
1362
|
const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
|
|
1382
1363
|
const responseName = resolver.resolveResponseName(node);
|
|
1383
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1364
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1384
1365
|
const errorNames = resolveErrorNames(node, resolver);
|
|
1385
1366
|
const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
|
|
1386
1367
|
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
@@ -1468,4 +1449,4 @@ function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1468
1449
|
//#endregion
|
|
1469
1450
|
export { mutationKeyTransformer as _, Mutation as a, InfiniteQuery as c, queryKeyTransformer as d, resolveOperationOverrides as f, MutationKey as g, resolveOperationTypeNames as h, Query as i, QueryOptions as l, getOperationParameters as m, SuspenseInfiniteQueryOptions as n, MutationOptions as o, resolveZodSchemaNames as p, SuspenseInfiniteQuery as r, InfiniteQueryOptions as s, SuspenseQuery as t, QueryKey as u, camelCase as v };
|
|
1470
1451
|
|
|
1471
|
-
//# sourceMappingURL=components-
|
|
1452
|
+
//# sourceMappingURL=components-C91DnOOV.js.map
|