fuse icon indicating copy to clipboard operation
fuse copied to clipboard

RFC: Add optional `PageInfo` support to `t.list`

Open mxstbr opened this issue 1 year ago • 0 comments

Summary

I have a list of items that is paginated with pages. Using t.connection with edgeNullable: false (which I want because the edges can't be nullable and it simplifies the client code) requires me to return cursor on every edge—which doesn't make a lot of sense for page-based pagination.

While t.list doesn't require me to return a cursor and is the better fit for this use case, with t.list I can't add the same PageInfo type that t.connection uses to return pagination information ( especially hasNextPage and hasPreviousPage)

Proposed Solution

t.list({
  pageInfo: true,
  // → Adds the PageInfo type to the schema if no `t.connection` has already added it
  // → Requires returning `pageInfo` from `resolve`
})

mxstbr avatar Jan 25 '24 10:01 mxstbr