UNPKG

typeorm-paginator

Version:
45 lines (44 loc) 1.31 kB
export declare type Nullable<T> = { [P in keyof T]?: T[P] | null; }; export interface Take { default: number; min: number; max: number; } export declare type OrderBy<TEntity> = { [TKey in keyof TEntity]?: boolean; }; export declare type Cursor<TEntity> = { [TKey in keyof TEntity]?: any; }; export interface CursorPagination<TEntity> { readonly count: number; readonly nodes: TEntity[]; readonly hasPrev: boolean; readonly hasNext: boolean; readonly prevCursor: string | null; readonly nextCursor: string | null; } export interface PromiseCursorPagination<TEntity> { readonly count: Promise<number>; readonly nodes: Promise<TEntity[]>; readonly hasPrev: Promise<boolean>; readonly hasNext: Promise<boolean>; readonly prevCursor: Promise<string | null>; readonly nextCursor: Promise<string | null>; } export interface CursorTransformer<TEntity> { parse(text: string): Cursor<TEntity>; stringify(cursor: Cursor<TEntity>): string; } export interface PagePagination<TEntity> { readonly count: number; readonly nodes: TEntity[]; readonly hasNext: boolean; } export interface PromisePagePagination<TEntity> { readonly count: Promise<number>; readonly nodes: Promise<TEntity[]>; readonly hasNext: Promise<boolean>; }