Documentation / zerotal / http / ResourceCollection
Class: ResourceCollection
Defined in: packages/core/src/http/Resource.ts:128
Paginated API resource collection — wraps a PaginateResult into the standard
{ data, meta, links } envelope.
Examples
// In a controller:
const posts = await Post.query().paginate(15, page);
ctx.json(ResourceCollection.of(PostResource, posts));
// → {
// data: [...],
// meta: { current_page, last_page, total, per_page, from, to },
// links: { first, prev, next, last }
// }
// With a base URL for fully-qualified pagination links:
ctx.json(ResourceCollection.of(PostResource, posts, '/api/posts'));
Constructors
Constructor
new ResourceCollection():
ResourceCollection
Returns
ResourceCollection
Methods
of()
staticof<T,R>(ResourceClass,paginated,baseUrl?,query?):Record<string,unknown>
Defined in: packages/core/src/http/Resource.ts:137
Transform a paginated result set using the given Resource class.
Type Parameters
T
T
R
R extends Resource<T>
Parameters
ResourceClass
(item) => R
The Resource subclass to transform each item.
paginated
A PaginateResult (or any object matching PaginatedData
baseUrl?
string = ""
Optional base URL; used to build links.* href strings.
query?
Record<string, string> = {}
Extra query params merged into every pagination link.
Returns
Record<string, unknown>