StellateHQ / fuse

Fuse: The fastest way to build and query great APIs with TypeScript
https://fusedata.dev
MIT License
550 stars 13 forks source link

RFC: Lazy PageInfo resolving #155

Open mxstbr opened 8 months ago

mxstbr commented 8 months ago

Summary

When using t.connection, I have to always resolve hasNextPage and hasPreviousPage in resolve(), even if either of those fields isn't requested. Example: https://github.com/rauchg/next-ai-news/blob/f766e2c388c4cc9ed74e45ff71ab7fe54436d306/types/Story.ts#L49-L95

Proposed Solution

Some way to define individual resolvers for hasNextPage and hasPreviousPage that only get run if the corresponding fields are actually in the query.

lkuoch commented 3 months ago

Definitely! I believe this could also be more efficient as well with querying the db only once. This could be done by returning a tuple of the count of items based on the offset as well as the query result.