@motech-development/pagination
Version:
23 lines (22 loc) • 790 B
TypeScript
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
import { Observable } from 'rxjs';
/** Paginated result DTO. */
export interface IPaginatedResult<T> {
/** List of items returned. */
items: T[];
/** Maximum number of items to be returned. */
limit: number;
/** Current page number. */
page: number;
/** Total number of pages available. */
pages: number;
/** Total number of items available. */
total: number;
}
/**
* Transforms response into a paginated response.
*/
declare class PaginationInterceptor<T> implements NestInterceptor<[number, T[]], IPaginatedResult<T>> {
intercept(ctx: ExecutionContext, next: CallHandler<[number, T[]]>): Observable<IPaginatedResult<T>>;
}
export default PaginationInterceptor;