UNPKG

typeorm-paginator

Version:
22 lines (21 loc) 1.31 kB
import { SelectQueryBuilder, ObjectType } from 'typeorm'; import { OrderBy, PromisePagePagination, PagePagination, Nullable, Take } from './interfaces/paginator'; export interface PagePaginatorParams<TEntity, TColumnNames extends Record<string, string>> { columnNames?: TColumnNames | null; take?: Nullable<Take> | number | null; orderBy: OrderBy<TEntity & TColumnNames> | OrderBy<TEntity & TColumnNames>[]; } export interface PagePaginatorPaginateParams<TEntity, TColumnNames extends Record<string, string>> { page?: number | null; take?: number | null; orderBy?: OrderBy<TEntity & TColumnNames> | OrderBy<TEntity & TColumnNames>[]; } export declare class PagePaginator<TEntity, TColumnNames extends Record<string, string>> { entity: ObjectType<TEntity>; orderBy: OrderBy<TEntity> | OrderBy<TEntity>[]; columnNames: Record<string, string>; takeOptions: Take; constructor(entity: ObjectType<TEntity>, { orderBy, columnNames, take, }: PagePaginatorParams<TEntity, TColumnNames>); paginate(qb: SelectQueryBuilder<TEntity>, params?: PagePaginatorPaginateParams<TEntity, TColumnNames>): Promise<PagePagination<TEntity>>; promisePaginate(qb: SelectQueryBuilder<TEntity>, params?: PagePaginatorPaginateParams<TEntity, TColumnNames>): PromisePagePagination<TEntity>; }