Feat: add infinite query options #2484
Open
+348
−41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
This PR adds the
infiniteQueryOptions
helper method toopenapi-react-query
, resolving #2462.What's Added:
infiniteQueryOptions
method in the client APIdocs/openapi-react-query/infinite-query-options.md
Implementation Details:
InfiniteQueryOptionsFunction
type with full type inference forpageParam
,InfiniteData
, andselect
return typesinfiniteQueryOptions
returns ready-to-use options foruseInfiniteQuery
,usePrefetchInfiniteQuery
,QueryClient.fetchInfiniteQuery
, and other infinite query APIspageParamName
option (defaults to"cursor"
)queryKey
convention for consistencyWhy This Matters:
Previously,
openapi-react-query
provided excellent ergonomics for standard queries throughqueryOptions
anduseQuery
, but lacked first-class support for infinite queries. Users had to hand-roll option objects and type definitions for cursor/offset pagination use cases.This addition:
pageParam
andInfiniteData
queryOptions
How to Review
Implementation: Review the
infiniteQueryOptions
function and type definitions inpackages/openapi-react-query/src/index.ts
:pageParam
viaInferPageParamType
pageParam
into query paramsqueryOptions
implementationTests: Check test coverage in
packages/openapi-react-query/test/
for:getNextPageParam
/getPreviousPageParam
behavioruseInfiniteQuery
Documentation: Review
docs/openapi-react-query/infinite-query-options.md
for:query-options.md
)useInfiniteQuery
andusePrefetchInfiniteQuery
Navigation: Verify the new page is properly integrated in
.vitepress/en.ts
Checklist
docs/
updatedpnpm run update:examples
run (N/A - only applicable for openapi-typescript)Closes #2462