Whether the server said there is another page.
False until the first page has come back. An empty list is not the same as "none yet".
Replace the window with a fresh first page.
Optionalfilter: Record<string, unknown>Append the next page. Returns whether anything arrived.
Put a row at the head — an optimistic insert after a successful post.
Drop a row, by id.
A store over a server-paged list.
A sibling of
createCrudStorerather than a mode of it. The two genuinely differ: a CRUD store loads everything once and holds the whole set, while this one holds a window that grows, tracks a cursor, and knows whether the server has more. Teaching one factory to guess which reply shape it got works right up until a service forgets to declarepaging.The wire shape is
{ rows, nextCursor }, andnextCursor: nullmeans the end. A client that cannot tell "no more" from "ask again" scrolls forever.