@vielzeug/sourcerer
v26.10.17
Published
Reactive collection sources with local, page, cursor, and infinite pagination
Readme
@vielzeug/sourcerer
Reactive collection sources with local, page, cursor, and infinite pagination
Installation
pnpm add @vielzeug/sourcerer
npm install @vielzeug/sourcerer
yarn add @vielzeug/sourcererQuick Start
import { createPageSource } from '@vielzeug/sourcerer';
const users = createPageSource({
load: async ({ page, pageSize }) => ({
items: [{ id: page, name: 'Ada' }].slice(0, pageSize),
totalItems: 1,
}),
pageSize: 20,
});
try {
await users.apply({ page: 1 });
console.log(users.state.items);
console.log(users.state.pagination.totalItems);
} catch (error) {
console.error(error);
} finally {
users.dispose();
}Features
PageSource.apply(): reconcile page and structurally compared parameters in at most one request.createResource(): load one observable value immediately, or passstart: falseand awaitreload(); failures retain previous data.
Documentation
License
MIT © Helmuth Saatkamp: part of the Vielzeug monorepo.
