@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
|
@@ -253,12 +253,12 @@ var URLPath = class {
|
|
|
253
253
|
get object() {
|
|
254
254
|
return this.toObject();
|
|
255
255
|
}
|
|
256
|
-
/** Returns a map of path parameter names, or `
|
|
256
|
+
/** Returns a map of path parameter names, or `null` when the path has no parameters.
|
|
257
257
|
*
|
|
258
258
|
* @example
|
|
259
259
|
* ```ts
|
|
260
260
|
* new URLPath('/pet/{petId}').params // { petId: 'petId' }
|
|
261
|
-
* new URLPath('/pet').params //
|
|
261
|
+
* new URLPath('/pet').params // null
|
|
262
262
|
* ```
|
|
263
263
|
*/
|
|
264
264
|
get params() {
|
|
@@ -296,12 +296,13 @@ var URLPath = class {
|
|
|
296
296
|
* @example
|
|
297
297
|
* new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
|
|
298
298
|
*/
|
|
299
|
-
toTemplateString({ prefix
|
|
300
|
-
|
|
299
|
+
toTemplateString({ prefix, replacer } = {}) {
|
|
300
|
+
const result = this.path.split(/\{([^}]+)\}/).map((part, i) => {
|
|
301
301
|
if (i % 2 === 0) return part;
|
|
302
302
|
const param = this.#transformParam(part);
|
|
303
303
|
return `\${${replacer ? replacer(param) : param}}`;
|
|
304
|
-
}).join("")
|
|
304
|
+
}).join("");
|
|
305
|
+
return `\`${prefix ?? ""}${result}\``;
|
|
305
306
|
}
|
|
306
307
|
/**
|
|
307
308
|
* Extracts all `{param}` segments from the path and returns them as a key-value map.
|
|
@@ -320,7 +321,7 @@ var URLPath = class {
|
|
|
320
321
|
const key = replacer ? replacer(param) : param;
|
|
321
322
|
params[key] = key;
|
|
322
323
|
});
|
|
323
|
-
return Object.keys(params).length > 0 ? params :
|
|
324
|
+
return Object.keys(params).length > 0 ? params : null;
|
|
324
325
|
}
|
|
325
326
|
/** Converts the OpenAPI path to Express-style colon syntax.
|
|
326
327
|
*
|
|
@@ -339,10 +340,10 @@ const declarationPrinter$10 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decl
|
|
|
339
340
|
const mutationKeyTransformer = ({ node, casing }) => {
|
|
340
341
|
return [`{ url: '${new URLPath(node.path, { casing }).toURLPath()}' }`];
|
|
341
342
|
};
|
|
342
|
-
function MutationKey({ name, paramsCasing, node, transformer
|
|
343
|
+
function MutationKey({ name, paramsCasing, node, transformer }) {
|
|
343
344
|
const paramsNode = _kubb_core.ast.createFunctionParameters({ params: [] });
|
|
344
345
|
const paramsSignature = declarationPrinter$10.print(paramsNode) ?? "";
|
|
345
|
-
const keys = transformer({
|
|
346
|
+
const keys = (transformer ?? mutationKeyTransformer)({
|
|
346
347
|
node,
|
|
347
348
|
casing: paramsCasing
|
|
348
349
|
});
|
|
@@ -362,9 +363,9 @@ function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransf
|
|
|
362
363
|
//#endregion
|
|
363
364
|
//#region ../../internals/shared/src/operation.ts
|
|
364
365
|
function getOperationLink(node, link) {
|
|
365
|
-
if (!link) return;
|
|
366
|
-
if (typeof link === "function") return link(node);
|
|
367
|
-
if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` :
|
|
366
|
+
if (!link) return null;
|
|
367
|
+
if (typeof link === "function") return link(node) ?? null;
|
|
368
|
+
if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : null;
|
|
368
369
|
return `{@link ${node.path.replaceAll("{", ":").replaceAll("}", "")}}`;
|
|
369
370
|
}
|
|
370
371
|
function getContentTypeInfo(node) {
|
|
@@ -379,9 +380,9 @@ function getContentTypeInfo(node) {
|
|
|
379
380
|
};
|
|
380
381
|
}
|
|
381
382
|
function buildRequestConfigType(node, resolver) {
|
|
382
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
383
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
383
384
|
const { isMultipleContentTypes, contentTypeUnion } = getContentTypeInfo(node);
|
|
384
|
-
return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` :
|
|
385
|
+
return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : null].filter(Boolean).join("; ")} }`;
|
|
385
386
|
}
|
|
386
387
|
function buildOperationComments(node, options = {}) {
|
|
387
388
|
const { link = "pathTemplate", linkPosition = "afterDeprecated", splitLines = false } = options;
|
|
@@ -411,11 +412,11 @@ function getOperationParameters(node, options = {}) {
|
|
|
411
412
|
}
|
|
412
413
|
function getStatusCodeNumber(statusCode) {
|
|
413
414
|
const code = Number(statusCode);
|
|
414
|
-
return Number.isNaN(code) ?
|
|
415
|
+
return Number.isNaN(code) ? null : code;
|
|
415
416
|
}
|
|
416
417
|
function isErrorStatusCode(statusCode) {
|
|
417
418
|
const code = getStatusCodeNumber(statusCode);
|
|
418
|
-
return code !==
|
|
419
|
+
return code !== null && code >= 400;
|
|
419
420
|
}
|
|
420
421
|
function resolveErrorNames(node, resolver) {
|
|
421
422
|
return node.responses.filter((response) => isErrorStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
|
|
@@ -442,7 +443,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
442
443
|
...query.map((param) => resolver.resolveQueryParamsName(node, param)),
|
|
443
444
|
...header.map((param) => resolver.resolveHeaderParamsName(node, param))
|
|
444
445
|
];
|
|
445
|
-
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
446
|
+
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null, resolver.resolveResponseName(node)];
|
|
446
447
|
const result = (options.order === "body-response-first" ? [
|
|
447
448
|
...bodyAndResponseNames,
|
|
448
449
|
...paramNames,
|
|
@@ -486,7 +487,7 @@ function resolveOperationOverrides(node, override) {
|
|
|
486
487
|
*/
|
|
487
488
|
function resolveZodSchemaNames(node, zodResolver) {
|
|
488
489
|
if (!zodResolver) return [];
|
|
489
|
-
return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) :
|
|
490
|
+
return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : null].filter((n) => Boolean(n));
|
|
490
491
|
}
|
|
491
492
|
/**
|
|
492
493
|
* Resolve the type for a single path parameter.
|
|
@@ -510,14 +511,14 @@ function resolvePathParamType(node, param, resolver) {
|
|
|
510
511
|
}
|
|
511
512
|
/**
|
|
512
513
|
* Derive a query-params group type from the resolver.
|
|
513
|
-
* Returns `
|
|
514
|
+
* Returns `null` when no query params exist or when the group name
|
|
514
515
|
* equals the individual param name (no real group).
|
|
515
516
|
*/
|
|
516
517
|
function resolveQueryGroupType(node, params, resolver) {
|
|
517
|
-
if (!params.length) return
|
|
518
|
+
if (!params.length) return null;
|
|
518
519
|
const firstParam = params[0];
|
|
519
520
|
const groupName = resolver.resolveQueryParamsName(node, firstParam);
|
|
520
|
-
if (groupName === resolver.resolveParamName(node, firstParam)) return
|
|
521
|
+
if (groupName === resolver.resolveParamName(node, firstParam)) return null;
|
|
521
522
|
return {
|
|
522
523
|
type: _kubb_core.ast.createParamsType({
|
|
523
524
|
variant: "reference",
|
|
@@ -567,7 +568,7 @@ function buildQueryKeyParams(node, options) {
|
|
|
567
568
|
const bodyType = node.requestBody?.content?.[0]?.schema ? _kubb_core.ast.createParamsType({
|
|
568
569
|
variant: "reference",
|
|
569
570
|
name: resolver.resolveDataName(node)
|
|
570
|
-
}) :
|
|
571
|
+
}) : null;
|
|
571
572
|
const bodyRequired = node.requestBody?.required ?? false;
|
|
572
573
|
const params = [];
|
|
573
574
|
if (pathParams.length) {
|
|
@@ -614,18 +615,18 @@ const queryKeyTransformer = ({ node, casing }) => {
|
|
|
614
615
|
type: "path",
|
|
615
616
|
stringify: true
|
|
616
617
|
}),
|
|
617
|
-
hasQueryParams ? "...(params ? [params] : [])" :
|
|
618
|
-
hasRequestBody ? "...(data ? [data] : [])" :
|
|
618
|
+
hasQueryParams ? "...(params ? [params] : [])" : null,
|
|
619
|
+
hasRequestBody ? "...(data ? [data] : [])" : null
|
|
619
620
|
].filter(Boolean);
|
|
620
621
|
};
|
|
621
|
-
function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer
|
|
622
|
+
function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer }) {
|
|
622
623
|
const paramsNode = buildQueryKeyParams(node, {
|
|
623
624
|
pathParamsType,
|
|
624
625
|
paramsCasing,
|
|
625
626
|
resolver: tsResolver
|
|
626
627
|
});
|
|
627
628
|
const paramsSignature = declarationPrinter$9.print(paramsNode) ?? "";
|
|
628
|
-
const keys = transformer({
|
|
629
|
+
const keys = (transformer ?? queryKeyTransformer)({
|
|
629
630
|
node,
|
|
630
631
|
casing: paramsCasing
|
|
631
632
|
});
|
|
@@ -655,7 +656,7 @@ const declarationPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
|
|
|
655
656
|
const callPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
656
657
|
function getQueryOptionsParams(node, options) {
|
|
657
658
|
const { paramsType, paramsCasing, pathParamsType, resolver } = options;
|
|
658
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
659
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
659
660
|
return _kubb_core.ast.createOperationParams(node, {
|
|
660
661
|
paramsType,
|
|
661
662
|
pathParamsType: paramsType === "object" ? "object" : pathParamsType === "object" ? "object" : "inline",
|
|
@@ -719,7 +720,7 @@ const declarationPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
|
|
|
719
720
|
const callPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
720
721
|
function buildInfiniteQueryParamsNode(node, options) {
|
|
721
722
|
const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
|
|
722
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
723
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
723
724
|
const optionsParam = _kubb_core.ast.createFunctionParameter({
|
|
724
725
|
name: "options",
|
|
725
726
|
type: _kubb_core.ast.createParamsType({
|
|
@@ -752,9 +753,9 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
752
753
|
const rawQueryParams = getOperationParameters(node).query;
|
|
753
754
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
754
755
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
755
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
756
|
-
})() :
|
|
757
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
756
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
757
|
+
})() : null;
|
|
758
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
758
759
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
759
760
|
const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
|
|
760
761
|
const generics = [
|
|
@@ -833,9 +834,9 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
|
|
|
833
834
|
const rawQueryParams = getOperationParameters(node).query;
|
|
834
835
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
835
836
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
836
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
837
|
-
})() :
|
|
838
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
837
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
838
|
+
})() : null;
|
|
839
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
839
840
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
840
841
|
const paramsNode = getQueryOptionsParams(node, {
|
|
841
842
|
paramsType,
|
|
@@ -853,26 +854,16 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
|
|
|
853
854
|
const queryKeyParamsCall = callPrinter$6.print(queryKeyParamsNode) ?? "";
|
|
854
855
|
const enabledSource = buildEnabledCheck(queryKeyParamsNode);
|
|
855
856
|
const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
|
|
856
|
-
const hasNewParams = nextParam
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
|
|
857
|
+
const hasNewParams = nextParam != null || previousParam != null;
|
|
858
|
+
const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
|
|
859
|
+
if (hasNewParams) {
|
|
860
|
+
const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
|
|
861
|
+
const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
|
|
862
|
+
return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
|
|
863
863
|
}
|
|
864
|
-
if (
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
}
|
|
868
|
-
} else if (cursorParam) {
|
|
869
|
-
getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
|
|
870
|
-
getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
|
|
871
|
-
} else {
|
|
872
|
-
if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
|
|
873
|
-
else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
|
|
874
|
-
getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
|
|
875
|
-
}
|
|
864
|
+
if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
|
|
865
|
+
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"];
|
|
866
|
+
})();
|
|
876
867
|
const queryOptionsArr = [
|
|
877
868
|
`initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
|
|
878
869
|
getNextPageParamExpr,
|
|
@@ -984,7 +975,7 @@ function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, p
|
|
|
984
975
|
generics: ["TContext = unknown"],
|
|
985
976
|
children: `
|
|
986
977
|
const mutationKey = ${mutationKeyName}()
|
|
987
|
-
return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "
|
|
978
|
+
return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "undefined"}, TContext>({
|
|
988
979
|
mutationKey,
|
|
989
980
|
mutationFn: async(${hasMutationParams ? `{ ${argKeysStr} }` : "_"}) => {
|
|
990
981
|
return ${clientName}(${clientCallStr})
|
|
@@ -1020,7 +1011,7 @@ function buildMutationParamsNode(node, options) {
|
|
|
1020
1011
|
const generics = [
|
|
1021
1012
|
TData,
|
|
1022
1013
|
TError,
|
|
1023
|
-
TRequest ? `{${TRequest}}` : "
|
|
1014
|
+
TRequest ? `{${TRequest}}` : "undefined",
|
|
1024
1015
|
"TContext"
|
|
1025
1016
|
].join(", ");
|
|
1026
1017
|
return _kubb_core.ast.createFunctionParameters({ params: [_kubb_core.ast.createFunctionParameter({
|
|
@@ -1048,7 +1039,7 @@ function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, nod
|
|
|
1048
1039
|
const generics = [
|
|
1049
1040
|
TData,
|
|
1050
1041
|
TError,
|
|
1051
|
-
TRequest ? `{${TRequest}}` : "
|
|
1042
|
+
TRequest ? `{${TRequest}}` : "undefined",
|
|
1052
1043
|
"TContext"
|
|
1053
1044
|
].join(", ");
|
|
1054
1045
|
const returnType = `UseMutationResult<${generics}>`;
|
|
@@ -1094,7 +1085,7 @@ const callPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
|
1094
1085
|
function buildQueryParamsNode(node, options) {
|
|
1095
1086
|
const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
|
|
1096
1087
|
const responseName = resolver.resolveResponseName(node);
|
|
1097
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1088
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1098
1089
|
const errorNames = resolveErrorNames(node, resolver);
|
|
1099
1090
|
const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
|
|
1100
1091
|
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
@@ -1190,7 +1181,7 @@ const declarationPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
|
|
|
1190
1181
|
const callPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1191
1182
|
function buildSuspenseInfiniteQueryParamsNode(node, options) {
|
|
1192
1183
|
const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
|
|
1193
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1184
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1194
1185
|
const optionsParam = _kubb_core.ast.createFunctionParameter({
|
|
1195
1186
|
name: "options",
|
|
1196
1187
|
type: _kubb_core.ast.createParamsType({
|
|
@@ -1223,9 +1214,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
|
|
|
1223
1214
|
const rawQueryParams = getOperationParameters(node).query;
|
|
1224
1215
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
1225
1216
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
1226
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
1227
|
-
})() :
|
|
1228
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
1217
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
1218
|
+
})() : null;
|
|
1219
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
1229
1220
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
1230
1221
|
const returnType = "UseSuspenseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
|
|
1231
1222
|
const generics = [
|
|
@@ -1304,9 +1295,9 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
|
|
|
1304
1295
|
const rawQueryParams = getOperationParameters(node).query;
|
|
1305
1296
|
const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
|
|
1306
1297
|
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
|
|
1307
|
-
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName :
|
|
1308
|
-
})() :
|
|
1309
|
-
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` :
|
|
1298
|
+
return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
|
|
1299
|
+
})() : null;
|
|
1300
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
1310
1301
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
1311
1302
|
const paramsNode = getQueryOptionsParams(node, {
|
|
1312
1303
|
paramsType,
|
|
@@ -1324,26 +1315,16 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
|
|
|
1324
1315
|
const queryKeyParamsCall = callPrinter$1.print(queryKeyParamsNode) ?? "";
|
|
1325
1316
|
const enabledSource = buildEnabledCheck(queryKeyParamsNode);
|
|
1326
1317
|
const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
|
|
1327
|
-
const hasNewParams = nextParam
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
|
|
1318
|
+
const hasNewParams = nextParam != null || previousParam != null;
|
|
1319
|
+
const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
|
|
1320
|
+
if (hasNewParams) {
|
|
1321
|
+
const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
|
|
1322
|
+
const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
|
|
1323
|
+
return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
|
|
1334
1324
|
}
|
|
1335
|
-
if (
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
}
|
|
1339
|
-
} else if (cursorParam) {
|
|
1340
|
-
getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
|
|
1341
|
-
getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
|
|
1342
|
-
} else {
|
|
1343
|
-
if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
|
|
1344
|
-
else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
|
|
1345
|
-
getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
|
|
1346
|
-
}
|
|
1325
|
+
if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
|
|
1326
|
+
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"];
|
|
1327
|
+
})();
|
|
1347
1328
|
const queryOptionsArr = [
|
|
1348
1329
|
`initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
|
|
1349
1330
|
getNextPageParamExpr,
|
|
@@ -1405,7 +1386,7 @@ const callPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
|
1405
1386
|
function buildSuspenseQueryParamsNode(node, options) {
|
|
1406
1387
|
const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
|
|
1407
1388
|
const responseName = resolver.resolveResponseName(node);
|
|
1408
|
-
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) :
|
|
1389
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
|
|
1409
1390
|
const errorNames = resolveErrorNames(node, resolver);
|
|
1410
1391
|
const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
|
|
1411
1392
|
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
@@ -1612,4 +1593,4 @@ Object.defineProperty(exports, "resolveZodSchemaNames", {
|
|
|
1612
1593
|
}
|
|
1613
1594
|
});
|
|
1614
1595
|
|
|
1615
|
-
//# sourceMappingURL=components-
|
|
1596
|
+
//# sourceMappingURL=components-C1_zAoAO.cjs.map
|